Windows NT Mimarisi - Architecture of Windows NT
Mimarisi Windows NT , bir hat işletim sistemleri tarafından üretilen ve satılan Microsoft , iki ana bileşenden oluşur katmanlı bir tasarımdır kullanıcı modu ve çekirdek modu . Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici , yeniden giriş yapan çok görevli bir işletim sistemidir . Giriş/çıkış (G/Ç) isteklerini işlemek için , G/Ç istek paketlerini (IRP'ler) ve eşzamansız G/Ç'yi kullanan paket güdümlü G/Ç'yi kullanırlar . Windows XP'den başlayarak Microsoft , Windows'un 64 bit sürümlerini kullanıma sunmaya başladı ; bundan önce , bu işletim sistemlerinin yalnızca 32 bit sürümleri vardı .
Kullanıcı modundaki programlar ve alt sistemler, erişimleri olan sistem kaynaklarına göre sınırlıdır, çekirdek modu ise sistem belleğine ve harici cihazlara sınırsız erişime sahiptir. Windows NT'deki Çekirdek modu, bilgisayarın donanım ve sistem kaynaklarına tam erişime sahiptir. Windows NT çekirdeği bir olan monolitik çekirdek ; mimari, basit bir çekirdek , donanım soyutlama katmanı (HAL), sürücüler ve tümü çekirdek modunda bulunan bir dizi hizmetten (topluca Executive olarak adlandırılır ) oluşur.
Windows NT'deki kullanıcı modu , G/Ç yöneticisini kullanarak uygun çekirdek modu aygıt sürücülerine G/Ç isteklerini iletebilen alt sistemlerden oluşur . Windows NT'nin kullanıcı modu katmanı, birçok farklı işletim sistemi türü için yazılmış uygulamaları çalıştıran "Ortam alt sistemleri" ve ortam alt sistemleri adına sisteme özgü işlevleri çalıştıran "Bütünsel alt sistem"den oluşur. Çekirdek modu, kullanıcı modu hizmetlerinin ve uygulamalarının, işletim sisteminin erişmemeleri gereken kritik alanlarına erişmesini engeller.
Yönetici arayüzleri, tüm kullanıcı modu alt sistemleriyle birlikte I/O, nesne yönetimi, güvenlik ve süreç yönetimi ile ilgilenir. Çekirdek, çok işlemcili senkronizasyon , iş parçacığı ve kesme zamanlaması ve gönderimi ve tuzak işleme ve istisna gönderimi sağlamak için donanım soyutlama katmanı ile Yönetici arasında oturur . Çekirdek, önyükleme sırasında aygıt sürücülerini başlatmaktan da sorumludur. Çekirdek modu sürücüleri üç düzeyde bulunur: en üst düzey sürücüler, orta düzey sürücüler ve düşük düzey sürücüler. Windows Sürücü Modeli (WDM) ara katmanda bulunur ve esas olarak Windows 98 ve Windows 2000 arasında ikili ve kaynak uyumlu olacak şekilde tasarlanmıştır . En düşük seviyeli sürücüler, ya bir aygıtı doğrudan denetleyen eski Windows NT aygıt sürücüleridir ya da bir tak ve çalıştır (PnP) donanım veri yolu olabilir.
Kullanıcı modu
Kullanıcı modu, çeşitli sistem tanımlı işlemlerden ve DLL'lerden oluşur.
Kullanıcı modu uygulamaları ile işletim sistemi çekirdek işlevleri arasındaki arabirime "ortam alt sistemi" denir. Windows NT, her biri farklı bir API kümesi uygulayan bunlardan birden fazlasına sahip olabilir. Bu mekanizma, birçok farklı işletim sistemi türü için yazılmış uygulamaları desteklemek üzere tasarlanmıştır. Ortam alt sistemlerinin hiçbiri donanıma doğrudan erişemez; donanım işlevlerine erişim, çekirdek modu rutinleri çağrılarak yapılır.
Üç ana ortam alt sistemi vardır: Win32 alt sistemi, OS/2 alt sistemi ve POSIX alt sistemi.
Win32 ortam alt sistemi
Win32 ortam alt sistemi, 32 bit Windows uygulamalarını çalıştırabilir. Konsolun yanı sıra diğer tüm ortam alt sistemleri için metin penceresi desteği, kapatma ve sabit hata işlemeyi içerir. Ayrıca MS-DOS ve 16-bit Windows ( Win16 ) uygulamalarının Windows NT üzerinde çalışmasına izin veren Sanal DOS Makinelerini (VDM'ler) de destekler . Kendi adres alanında çalışan ve MS-DOS 5.0 çalıştıran bir Intel 80486'yı taklit eden belirli bir MS-DOS VDM vardır . Ancak Win16 programları bir Win16 VDM'de çalışır. Her program, varsayılan olarak, aynı işlemde çalışır, böylece aynı adres alanını kullanır ve Win16 VDM, her programa çalıştırılacağı kendi iş parçacığını verir. Bununla birlikte, Windows NT, kullanıcıların ayrı bir Win16 VDM'de bir Win16 programını çalıştırmalarına izin verir; bu, Windows NT yalnızca bir çalışan uygulama içeren tüm VDM sürecini önceden boşaltacağından, programın önceden çoklu görev yapmasına izin verir. Win32 ortam alt sistemi işlemi ( csrss.exe ), bazen " pencere yöneticisi " olarak adlandırılan pencere yönetimi işlevini de içerir . Giriş olaylarını (klavye ve fare gibi) işler, ardından mesajları bu girişi alması gereken uygulamalara iletir. Her uygulama, bu mesajlara yanıt olarak kendi pencerelerini ve menülerini çizmekten veya yenilemekten sorumludur.
OS/2 ortam alt sistemi
OS/2 ortam alt sistemi, 16 bit karakter tabanlı OS/2 uygulamalarını destekler ve OS/2 1.x'i öykünür, ancak OS/2 2.x veya sonraki sürümlerinde kullanıldığı gibi 32 bit veya grafik OS/2 uygulamalarını değil. yalnızca x86 makineleri. Grafik OS/2 1.x programlarını çalıştırmak için, Presentation Manager için Windows NT Eklenti Alt Sistemi kurulu olmalıdır. Windows NT'nin OS/2 alt sistemine sahip son sürümü Windows 2000'di; Windows XP'den itibaren kaldırıldı.
POSIX ortam alt sistemi
POSIX ortam alt sistemi, kesinlikle POSIX.1 standardına veya ilgili ISO / IEC standartlarına göre yazılan uygulamaları destekler . Bu alt sistemin yerini UNIX için Windows Hizmetleri'nin bir parçası olan Interix almıştır . Bunun yerine Linux için Windows Alt Sistemi getirildi .
Güvenlik alt sistemi
Güvenlik alt sistemi, güvenlik belirteçleriyle ilgilenir, kaynak izinlerine dayalı olarak kullanıcı hesaplarına erişim verir veya reddeder, oturum açma isteklerini işler ve oturum açma kimlik doğrulamasını başlatır ve hangi sistem kaynaklarının Windows NT tarafından denetlenmesi gerektiğini belirler. Ayrıca Active Directory'ye de bakar . İş istasyonu hizmeti , Windows dosya ve yazdırma paylaşımının istemci tarafı olan ağ yeniden yönlendiricisini uygular ; uzak dosyalara ve yazıcılara yerel istekleri ağdaki uygun sunuculara "yönlendirerek" uygular. Tersine, sunucu hizmeti ağdaki diğer bilgisayarların yerel sistem tarafından sunulan dosya paylaşımlarına ve paylaşılan yazıcılara erişmesine izin verir.
çekirdek modu
Windows NT çekirdek modu , bilgisayarın donanım ve sistem kaynaklarına tam erişime sahiptir ve korumalı bir bellek alanında kod çalıştırır. Programlamaya erişimi, iş parçacığı önceliklendirmesini, bellek yönetimini ve donanımla etkileşimi kontrol eder. Çekirdek modu, kullanıcı modu hizmetlerinin ve uygulamalarının, işletim sisteminin erişmemeleri gereken kritik alanlarına erişmesini engeller; kullanıcı modu işlemleri, çekirdek modundan bu tür işlemleri kendi adlarına gerçekleştirmesini istemelidir.
Birlikte x 86 mimarisi (0 ila 3 numaralı) dört farklı imtiyaz seviyelerini destekler, sadece iki uç yetki seviyeleri kullanılır. Kullanıcı modu programları CPL 3 ile çalıştırılır ve çekirdek CPL 0 ile çalışır. Bu iki seviye genellikle sırasıyla "ring 3" ve "ring 0" olarak adlandırılır. Böyle bir tasarım kararı , yalnızca iki ayrıcalık seviyesini destekleyen RISC platformlarına kod taşınabilirliği sağlamak için verilmişti , ancak bu, donanıma doğrudan erişmeye çalışan G/Ç ayrıcalık segmentleri içeren OS/2 uygulamalarıyla uyumluluğu bozuyor .
Çekirdek modunda çalışan kod şunları içerir: kendisi belirli görevleri yapan birçok modülden oluşan yönetici; Çekirdek Executive tarafından kullanılan düşük seviyeli hizmetleri vermektedir; Donanım Soyutlama Katmanı (HAL); ve çekirdek sürücüleri .
Yönetici
Windows Yönetici hizmetleri, düşük düzeyli çekirdek modu bölümünü oluşturur ve NTOSKRNL.EXE dosyasında bulunur . G/Ç, nesne yönetimi, güvenlik ve süreç yönetimi ile ilgilenir. Bunlar , aralarında Önbellek Yöneticisi , Yapılandırma Yöneticisi , G/Ç Yöneticisi , Yerel Prosedür Çağrısı (LPC) , Bellek Yöneticisi , Nesne Yöneticisi , İşlem Yapısı ve Güvenlik Referans İzleyicisi (SRM) gibi çeşitli alt sistemlere bölünmüştür . Birlikte gruplandırılan bileşenler, Yönetici hizmetler (dahili ad Ex ) olarak adlandırılabilir . Sistem Hizmetleri (dahili isim Nt ), yani sistem çağrıları da daha iyi performans için doğrudan çekirdek katmanına çağrı yapan çok azı dışında bu düzeyde uygulanır.
Bu bağlamda "hizmet" terimi genellikle çağrılabilir bir rutine veya çağrılabilir bir dizi rutine atıfta bulunur. Bu biraz benzer bir kullanıcı modu bileşeni olan bir "hizmet işlemi" kavramı, farklıdır cini içinde Unix benzeri işletim sistemleri.
- Nesne Yöneticisi
- Nesne Yöneticisi (iç adı Ob ) tüm diğer yönetici alt sistemleri, özellikle sistem çağrıları, Windows NT için kazanç erişim geçmelidir bir yönetici alt sistemdir kaynaklar-aslında bu bir kaynak yönetimi altyapısı hizmeti verme. Nesne yöneticisi, potansiyel olarak hatalara yol açabilecek ve Windows NT'nin geliştirilmesini zorlaştırabilecek diğer yürütme alt sistemlerinde nesne kaynak yönetimi işlevselliğinin yinelenmesini azaltmak için kullanılır. Nesne yöneticisine göre, bu kaynak fiziksel bir kaynak (dosya sistemi veya çevre birimi gibi) veya mantıksal bir kaynak (dosya gibi) olsun, her kaynak bir nesnedir. Her nesnenin, nesne yöneticisinin bilmesi gereken bir yapısı veya nesne türü vardır.
- Nesne oluşturma, oluşturma ve yerleştirme olmak üzere iki aşamalı bir süreçtir . Oluşturma , boş bir nesnenin tahsis edilmesine ve ad alanındaki (isteğe bağlı) bir ad gibi nesne yöneticisi tarafından gereken kaynakların ayrılmasına neden olur. Oluşturma başarılıysa, oluşturmadan sorumlu alt sistem boş nesneyi doldurur. Son olarak, alt sistem başlatmanın başarılı olduğunu düşünürse, nesne yöneticisine nesneyi eklemesini söyler, bu da nesneyi (isteğe bağlı) adı veya tanıtıcı adı verilen bir tanımlama bilgisi aracılığıyla erişilebilir kılar . O andan itibaren, nesnenin ömrü nesne yöneticisi tarafından ele alınır ve nesne yöneticisi tarafından imha edilmesi için sinyal verilene kadar nesneyi çalışır durumda tutmak alt sisteme bağlıdır.
- Tutamaçlar, opak bir değer aracılığıyla bir çekirdek kaynağına başvuruyu temsil eden tanımlayıcılardır. Benzer şekilde, bir nesnenin adı üzerinden açılması güvenlik kontrollerine tabidir, ancak mevcut bir açık tanıtıcı üzerinden hareket etmek, yalnızca nesne açıldığında veya oluşturulduğunda talep edilen erişim düzeyiyle sınırlıdır.
- Nesne türleri, nesne prosedürlerini ve nesneye özgü tüm verileri tanımlar. Bu şekilde, nesne yöneticisi, nesne türleri nesneleri tanımlayan polimorfik sınıflar olarak düşünülebileceğinden, Windows NT'nin nesne yönelimli bir işletim sistemi olmasına izin verir . Bununla birlikte, çoğu alt sistem, G/Ç Yöneticisindeki dikkate değer bir istisna dışında, tüm nesne tipi prosedürler için varsayılan uygulamaya dayanır.
- Oluşturulan bir nesnenin her örneği, adını, nesne oluşturma işlevine iletilen parametreleri, güvenlik özniteliklerini ve nesne türüne bir işaretçiyi depolar. Nesne ayrıca bir nesne kapatma prosedürü ve nesne yöneticisine sistemdeki diğer kaç nesnenin bu nesneye referans verdiğini ve böylece kendisine bir kapatma isteği gönderildiğinde nesnenin yok edilip edilemeyeceğini belirleyen bir referans sayımı içerir. Adlandırılmış her nesne, hiyerarşik bir nesne ad alanında bulunur .
- Önbellek Denetleyicisi
- Normal dosya G/Ç için ortak bir önbellek sağlamak üzere Bellek Yöneticisi, G/Ç Yöneticisi ve G/Ç sürücüleri ile yakından koordine olur. Windows Önbellek Yöneticisi, yerel ve uzak dosyalar arasında tutarlı çalışma için (aygıt blokları yerine) dosya blokları üzerinde çalışır ve önbellek blokları, bellek eşlemeli özel bir durum olduğundan , dosyaların bellek eşlemeli görünümleriyle belirli bir düzeyde tutarlılık sağlar. görünümler ve önbellek, özel bir sayfa hatası durumunu kaçırır.
- Yapılandırma yöneticisi
- Windows Kayıt Defteri tarafından ihtiyaç duyulan sistem çağrılarını uygular .
- G/Ç Yöneticisi
- Cihazların kullanıcı modu alt sistemleriyle iletişim kurmasına izin verir. Kullanıcı modu okuma ve yazma komutlarını , aygıt sürücülerine ilettiği okuma veya yazma IRP'lerine çevirir . Dosya sistemi G/Ç isteklerini kabul eder ve bunları aygıta özel çağrılara çevirir ve donanımı doğrudan ya girdiyi okumak ya da çıktıyı yazmak için yöneten düşük düzeyli aygıt sürücülerini içerebilir. Ayrıca, okuma isteklerini önbelleğe alarak ve arka planda diske yazarak disk performansını iyileştirmek için bir önbellek yöneticisi içerir.
- Yerel Prosedür Çağrısı (LPC)
- Bağlantı semantiği ile süreçler arası iletişim portları sağlar. LPC bağlantı noktaları, kullanıcı modu alt sistemleri tarafından istemcileriyle iletişim kurmak için, Yönetici alt sistemleri tarafından kullanıcı modu alt sistemleriyle iletişim kurmak için ve Microsoft RPC için yerel aktarım için temel olarak kullanılır .
- Bellek Yöneticisi
- Sanal belleği yönetir , bellek korumasını ve fiziksel belleğin içindeki ve dışındaki belleğin ikincil depolamaya sayfalanmasını denetler ve genel amaçlı bir fiziksel bellek ayırıcısı uygular. Ayrıca, bir yürütülebilir dosyanın tek bir atomik adımda eşlenmesine veya eşlenmesinin kaldırılmasına izin veren bir PE yürütülebilir dosyası ayrıştırıcısı uygular.
- Windows NT Server 4.0, Terminal Server Edition'dan başlayarak, bellek yöneticisi , oturum alanı olarak adlandırılan , tıpkı kullanıcı modu belleği gibi bağlam değiştirmeye tabi olan bir dizi çekirdek modu belleği uygular . Bu, çekirdek modu Win32 alt sisteminin ve GDI sürücülerinin birden çok örneğinin, ilk tasarımlarındaki eksikliklere rağmen yan yana çalışmasına izin verir. Her oturum alanı, topluca "oturum" olarak adlandırılan çeşitli işlemler tarafından paylaşılır.
- Yeni bir nesne türü tanıtmadan oturumlar arasında bir derece yalıtım sağlamak için, işlemler ve oturumlar arasındaki ilişkilendirme, Güvenlik Referans İzleyicisi tarafından bir güvenlik konusunun (belirteç) bir özniteliği olarak işlenir ve yalnızca özel ayrıcalıklar tutularak değiştirilebilir. .
- Oturumların nispeten karmaşık olmayan ve geçici doğası, ilk tasarımın bir parçası olmamalarından ve bir ön koşul olarak üçüncü bir taraf ( Citrix Systems ) tarafından ana hatta minimum kesinti ile geliştirilmeleri gerektiğinden kaynaklanmaktadır . onların terminal sunucusu olarak adlandırılan, Windows NT için ürün, WinFrame . Ancak Windows Vista'dan başlayarak, oturumlar sonunda Windows mimarisinin uygun bir yönü haline geldi. Artık Win32 aracılığıyla dolaylı olarak kullanıcı moduna sızan bir bellek yöneticisi yapısı değiller, çoğu Yönetici alt sistemini etkileyen yaygın bir soyutlamaya genişletildiler. Nitekim, Windows Vista'nın düzenli kullanımı her zaman çok oturumlu bir ortamla sonuçlanır.
- Süreç Yapısı
- Kulplar işlem ve iplik oluşturma ve sonlandırma ve kavramı uygulayan İş , bir bütün olarak iptal edilebilir, ya da ortak bir kısıtlama altına süreçlerin bir grubu (ayrılan bellek veya işlemci zaman böyle bir toplam maksimum). İş nesneleri Windows 2000'de tanıtıldı .
- PnP Yöneticisi
- Kolları oyun ve fiş boot zamanında ve destekler cihaz algılama ve yükleme. Ayrıca, istendiğinde aygıtları durdurma ve başlatma sorumluluğu da vardır; bu, bir veri yolu ( USB veya IEEE 1394 FireWire gibi ) yeni bir aygıt aldığında ve bunu desteklemek için bir aygıt sürücüsünün yüklenmesi gerektiğinde gerçekleşebilir. Toplu olarak, kullanıcı modunda, genellikle uygun sürücüleri yükleme, hizmetleri ve uygulamaları yeni cihazların gelişinden haberdar etme ve kullanıcıya GUI'yi görüntüleme gibi karmaşık görevleri yerine getiren Tak ve Çalıştır Hizmetinde uygulanır .
- Güç Yöneticisi
- Güç olaylarıyla ilgilenir (kapanma, bekleme, hazırda bekletme, vb.) ve etkilenen sürücüleri özel IRP'lerle ( Güç IRP'leri ) bilgilendirir .
- Güvenlik Referans İzleyicisi (SRM)
- Güvenlik bütünleyici alt sisteminin güvenlik kurallarını uygulamak için birincil otorite. Kendileri erişim kontrol girişlerinden (ACE'ler) oluşan erişim kontrol listelerinin (ACL'ler) kullanımı yoluyla bir nesneye veya kaynağa erişilip erişilemeyeceğini belirler . ACE'ler, bir Güvenlik Tanımlayıcısı (SID) ve ACE'nin belirli bir güvenilenler grubuna (bir kullanıcı hesabı, grup hesabı veya oturum açma oturumu) bu kaynağa izin (izin verme, reddetme veya denetleme) verdiği işlemlerin bir listesini içerir.
- GDI
- Grafik Aygıt Arabirimi böyle, çizgiler ve eğriler çizerek fontları render ve paletleri taşıma gibi görevler sorumludur. Windows NT 3.x sürümleri serisi kullanıcı modu GDI bileşeni koymuştu Client / Server Runtime Subsystem , ancak bu grafik performansını artırmak için Windows NT 4.0 ile çekirdek moduna taşındı.
Çekirdek
Çekirdek, HAL ve Executive arasında yer alır ve çok işlemcili senkronizasyon, iş parçacığı ve kesme zamanlaması ve gönderme, tuzak işleme ve istisna gönderimi sağlar; ayrıca, işletim sistemini kurmak ve çalıştırmak için gerekli olan aygıt sürücülerini başlatma sırasında başlatmaktan da sorumludur. Yani çekirdek, geleneksel bir mikro çekirdeğin hemen hemen tüm görevlerini yerine getirir ; Executive ve Çekirdek arasındaki kesin ayrım, orijinal mikro çekirdek tasarımının en belirgin kalıntısıdır ve tarihsel tasarım belgeleri, sürekli olarak çekirdek bileşenine "mikro çekirdek" olarak atıfta bulunur.
Çekirdek genellikle süreç yöneticisi ile arayüz oluşturur. Soyutlamanın seviyesi öyledir ki, çekirdek asla süreç yöneticisini çağırır, sadece tersi olur (bir avuç köşe vakası dışında, yine de hiçbir zaman işlevsel bir bağımlılık noktasına kadar).
Monolitik çekirdek tasarımı
Windows NT tasarımı , arketipsel mikro çekirdek sistemi olan Mach ile aynı hedeflerin çoğunu içerir; en önemlilerinden biri, ilk olarak temel işlevlerle sınırlı küçük bir mikro çekirdek ile iyi bilinen arabirimler aracılığıyla iletişim kuran bir modüller koleksiyonu olarak yapısıdır. -seviye kesme işleme, iş parçacığı zamanlama ve senkronizasyon temel öğeleri. Bu, modüller arasında iletişim kurmak için doğrudan prosedür çağrıları veya süreçler arası iletişim (IPC) kullanma olanağına ve dolayısıyla modüllerin farklı adres alanlarındaki potansiyel konumlarına (örneğin, çekirdek alanında veya sunucu süreçlerinde) izin verir. Mach ile paylaşılan diğer tasarım hedefleri arasında çeşitli mimariler için destek, üzerinde birden fazla işletim sistemi kişiliğinin uygulanmasına izin verecek kadar genel soyutlamalara sahip bir çekirdek ve nesne yönelimli bir organizasyon yer alıyordu.
Windows'taki birincil işletim sistemi kişiliği , her zaman mevcut olan Windows API'sidir . Windows kişiliğini uygulayan öykünme alt sistemine İstemci/Sunucu Çalışma Zamanı Alt Sistemi (csrss.exe) adı verilir. 4.0'dan önceki NT sürümlerinde, bu alt sistem süreci aynı zamanda pencere yöneticisini, grafik aygıtı arabirimini ve grafik aygıtı sürücülerini de içeriyordu. Ancak performans nedenleriyle, 4.0 ve sonraki sürümlerde, bu modüller (genellikle monolitik sistemlerde, özellikle dahili grafik desteği olmadan tasarlananlarda bile kullanıcı modunda uygulanır) bir çekirdek modu alt sistemi olarak çalışır.
NT üzerinde çalışan uygulamalar, işletim sistemi kişiliklerinden birine (genellikle Windows API'si) yazılır ve belgelerinin herkese açık olmadığı yerel NT API'sine (aygıt sürücüsü geliştirmede kullanılan rutinler dışında) yazılır. Bir işletim sistemi kişiliği, bir öykünme alt sistemi sunucu işlemi (daha önce açıklandığı gibi) ile birlikte, gerektiği gibi uygulama işlemlerinin adres alanlarına eşlenen bir dizi kullanıcı modu DLL'leri (bkz. Dinamik bağlantı kitaplığı ) aracılığıyla uygulanır . Uygulamalar, adres alanlarına eşlenen OS kişiliği DLL'lerini arayarak sistem hizmetlerine erişir, bu da sırayla işlem adres alanına eşlenen NT çalışma zamanı kitaplığına (ntdll.dll) çağrı yapar. NT çalışma zamanı kitaplığı bu istekleri, çekirdek modu Yürütme yordamlarını çağırmak veya uygun kullanıcı modu alt sistemi sunucu işlemlerine Yerel Yordam Çağrıları (LPC'ler) yapmak için çekirdek modu içine hapsederek hizmet eder, bu da sırayla iletişim kurmak için NT API'sini kullanır. uygulama süreçleri, çekirdek modu alt sistemleri ve birbirleri.
NT çekirdeğinin bir tür hibrit veya mikro çekirdek olduğu yaygın bir yanlış anlamadır. Microsoft'un kendi videosu olan Linux ve Windows Çekirdeği Karşılaştırmasında, hem Linux hem de NT'nin monolitik çekirdekler olduğunu iddia ettiler. NT'nin herhangi bir tür mikro çekirdek olduğunu iddia etmek nesnel olarak yanlıştır. Linux'taki X sunucularının aksine, pencere yöneticisi bile çekirdek modunda çalışıyor. NT kesinlikle monolitik bir çekirdektir.
Çekirdek modu sürücüleri
Windows NT, donanım aygıtlarıyla etkileşime girmesini sağlamak için çekirdek modu aygıt sürücülerini kullanır . Sürücülerin her biri, işletim sisteminin geri kalanına aktardığı iyi tanımlanmış sistem rutinlerine ve dahili rutinlere sahiptir. Tüm aygıtlar, G/Ç yöneticisinde bir dosya nesnesi olarak kullanıcı modu kodu tarafından görülür, ancak G/Ç yöneticisinin kendisine aygıtlar, dosya, aygıt veya sürücü nesneleri olarak tanımladığı aygıt nesneleri olarak görülür. Çekirdek modu sürücüleri üç düzeyde bulunur: en üst düzey sürücüler, orta düzey sürücüler ve düşük düzey sürücüler. FAT ve NTFS için dosya sistemi sürücüleri gibi en üst düzey sürücüler, ara sürücülere dayanır. Ara sürücüler, isteğe bağlı olarak daha düşük ve daha yüksek seviyeli filtre sürücüleri arasında sıkıştırılan işlev sürücülerinden veya bir aygıtın ana sürücüsünden oluşur. İşlev sürücüsü daha sonra bir veri yolu sürücüsüne veya bir veri yolu denetleyicisine, bağdaştırıcıya veya köprüye hizmet eden bir sürücüye güvenir; bu sürücü, kendisi ile işlev sürücüsü arasında yer alan isteğe bağlı bir veri yolu filtre sürücüsüne sahip olabilir. Orta seviye sürücüler, çalışmak için en düşük seviyeli sürücülere güvenir. Windows Sürücü Modeli (WDM) ara tabakada bulunur. En düşük seviyeli sürücüler, ya bir aygıtı doğrudan denetleyen eski Windows NT aygıt sürücüleridir ya da bir PnP donanım veri yolu olabilir. Bu daha düşük seviyeli sürücüler, donanımı doğrudan kontrol eder ve diğer sürücülere güvenmez.
Donanım soyutlama katmanı
Windows NT donanım soyutlama katmanı veya HAL, bilgisayarın fiziksel donanımı ile işletim sisteminin geri kalanı arasındaki bir katmandır. Donanımdaki farklılıkları gizlemek ve çekirdeğin çalıştırıldığı tutarlı bir platform sağlamak için tasarlanmıştır. HAL, G/Ç arabirimlerini, kesme denetleyicilerini ve birden çok işlemciyi kontrol eden donanıma özel kod içerir .
Ancak, amacına ve mimarideki belirlenmiş yerine rağmen, HAL tamamen çekirdeğin altında oturan bir katman değildir, çekirdeğin Executive'in altında oturma şekli: Bilinen tüm HAL uygulamaları bir ölçüde çekirdeğe, hatta Yönetici. Pratikte bu, çekirdek ve HAL değişkenlerinin birlikte çalışmak üzere özel olarak oluşturulmuş eşleşen kümeler halinde geldiği anlamına gelir.
Bir donanım soyutlama olarak yok değil , genel olarak daha geniş bir kavramı altında kalan komut seti, sökücü içerir taşınabilirlik . Gerektiğinde komut setinin soyutlanması (örneğin, x86 komut setindeki birkaç revizyonun işlenmesi veya eksik bir matematik yardımcı işlemcinin taklit edilmesi gibi), çekirdek tarafından veya donanım sanallaştırması aracılığıyla gerçekleştirilir .
Ayrıca bakınız
- Microsoft Windows kitaplığı dosyaları
- MinWin
- Unix mimarisi
- İşletim sistemi çekirdeklerinin karşılaştırılması
- Kullanıcı Modu Sürücü Çerçevesi
- Çekirdek Modu Sürücü Çerçevesi
- Monolitik Çekirdek
daha fazla okuma
- Martignetti, E.; Sayfayı Ne Yapar?: Windows 7 (x64) Sanal Bellek Yöneticisi ( ISBN 978-1479114290 )
- Russinovich, Mark E.; Süleyman, David A.; İonescu, A.; Windows Internals, Part1: Windows Server 2008 R2 ve Windows 7'yi kapsar ( ISBN 978-0735648739 )
- Russinovich, Mark E.; Süleyman, David A.; İonescu, A.; Windows Internals, Part2: Windows Server 2008 R2 ve Windows 7'yi kapsar ( ISBN 978-0735665873 )
Notlar ve referanslar
- Notlar
- Referanslar
- Finnel, Lynn (2000). MCSE Sınavı 70-215, Microsoft Windows 2000 Server . Microsoft Basın . ISBN'si 1-57231-903-8.
- Russinovich, Mark (Ekim 1997). "NT'nin Nesne Yöneticisinin İçinde" . Windows BT Uzmanı.
- "Active Directory Veri Depolama" . Microsoft . 2005-05-09 alındı .
- Süleyman, Davut ; Russinovich, Mark E. (2000). Microsoft Windows 2000 İçinde (Üçüncü baskı). Microsoft Basın. ISBN'si 0-7356-1021-5. Arşivlenmiş orijinal 2005-03-23 tarihinde.
- Russinoviç, Mark ; Süleyman, David (2005). Microsoft Windows Dahili (4. baskı). Microsoft Basın. ISBN'si 0-7356-1917-4.
- Schreiber, Sven B. (2001). Belgelenmemiş Windows 2000 Sırları . Addison-Wesley Longman. ISBN'si 978-0201721874.
- Siyan, Kanajit S. (2000). Windows 2000 Profesyonel Başvurusu . Yeni Biniciler. ISBN'si 0-7357-0952-1.
Dış bağlantılar
- "Microsoft'un resmi Windows 2000 sitesi" . Arşivlenmiş orijinal 29 Şubat 2000 tarihinde.
- "Microsoft Windows 2000 Tak ve Çalıştır" . Arşivlenmiş orijinal 8 Ağustos 2004 tarihinde.
- Windows XP çekirdeğinde bellek yönetimi