Architektúra systému Windows: popis, typy, štruktúra

Architektúra systému Windows NT - rad operačných systémov vyrábaných a predávaných spoločnosťou Microsoft - je viacúrovňový dizajn pozostávajúci z dvoch hlavných komponentov: užívateľského režimu a režimu jadra.

Jedná sa o varovný operačný systém, ktorý je kompatibilný s operačným systémom, ktorý je navrhnutý na prácu s počítačmi s jedným procesorom a symetrickým multiprocesorom (SMP). Na spracovanie žiadostí o I /O používajú dávkový prenos, ktorý využíva IRP pakety a asynchrónne I /O. Počnúc systémom Windows XP spoločnosť Microsoft začala poskytovať 64-bitové verzie operačného systému, predtým ako tieto platformy existovali iba v 32-bitových verziách.

Aké sú jej princípy?

Architektúra systému Windows funguje podľa týchto zásad. Aplikácie a subsystémy v užívateľskom režime sú obmedzené z hľadiska toho, aké systémové zdroje majú prístup, zatiaľ čo režim jadra má neobmedzený prístup do systémovej pamäte a externých zariadení.


Režim jadra systému Windows NT má plný prístup k hardvérovým a systémovým zdrojom počítača. Jadro tejto škrupiny je známe ako hybridné. Architektúra zahŕňa jednoduchú jadro, úroveň odberu hardvéru (HAL), ovládače a služby (kolektívne označované ako Executive), ktoré existujú v rovnakom režime. Vlastný režim v architektúre systému Windows pozostáva z podsystémov, ktoré dokážu prenášať požiadavky I /O na príslušné ovládače režimu jadra pomocou príslušného ovládača. Ples užívateľského režimu "Winds" pozostáva z "Subsystémov prostredia", v ktorom sa vykonávaaplikácie napísané pre rôzne operačné systémy a "Integrálny subsystém", ktorý vykonáva systémové funkcie v mene subsystémov prostredia.


Výkonné rozhrania v architektúre Windows so všetkými subsystémami užívateľského režimu sa zaoberajú vstupmi a výstupmi, riadením objektov, zabezpečením a riadením procesov. Jadro je medzi úrovňou hardvérové ​​abstrakcie a akčnými členmi, ktoré poskytujú viacprocesorové synchronizácia, plánovanie a expedičné prietoku a prerušenia a prerušenie manipulačné a plánovanie výnimky. Jadro je tiež zodpovedné za inicializáciu ovládačov zariadení pri zavádzacom čase. Ovládače tohto režimu existujú na troch úrovniach:
  • vyššie;
  • medziprodukt;
  • nízka.
  • Ovládač Model Windows (WDM) existujú v medzistanici úrovni, a bol určený predovšetkým pre zaistenie kompatibility a výstupné binárny kód medzi Windows 982000. ovládače najnižšej úrovni sú zastarané a zariadení zaisťujúce inštaláciu Windows NT, ktoré riadia zariadenie priamo, alebo môže byť druh hry (PnP) - hardvérová zbernica.

    Režim používateľa

    Režim užívateľa pozostáva z rôznych systémových procesov a DLL.
    Rozhranie medzi programami a funkciami jadra operačného systému sa nazýva "subsystém prostredia". Architektúra systému Windows 7 a ďalších v riadku NT) môže mať viac ako jednu, z ktorých každá implementuje svoj súbor API. Tento mechanizmus bol navrhnutý tak, aby podporoval aplikácie napísané pre rôzne typy operačných systémov. Žiadny zo subsystémovprostredie nemá priamy prístup k zariadeniu. Prístup k funkciám hardvéru sa vykonáva volaním rutín režimu jadra.

    Akú úlohu zohráva subsystém?

    Existujú štyri hlavné subsystémy prostredia: Win32 OS /2 Windows, Linux a POSIX. Podsystém prostredia Win32 môže spustiť 32-bitové programy systému Windows. To zahŕňa konzolu, a podporovať textové polia zuby a liečbu závažných chýb pre všetky ostatné subsystémy prostredia. To tiež podporuje virtuálny počítač DOS (VDM), ktoré umožňujú systému MS-DOS a 16-bitové aplikácie spustiť Win16 Windows NT. K dispozícii je špeciálny VDM MS-DOS, ktorý beží vo svojom vlastnom priestore adries a emuluje Intel 80486 systémom MS-DOS 5.0. Programy Win16 však pracujú vo Win16 VDM. Každé oneskorenie beží v rovnakom procese s použitím rovnakého adresného priestoru, a Win16 VDM dáva každá aplikácia svoj vlastný vlákno na vykonanie. Avšak, architektúra systému Windows NT umožňuje používateľom spustiť v samostatnom okne, čo umožňuje aktívne vykonávať multitasking ako "Vindovs" prevýši celý proces VDM, ktorý obsahuje iba jeden pracovné uplatnenie.
    Proces podsystém prostredie Win32 (Csrss.exe tiež zahŕňa funkciu správy okno, niekedy nazývaná "window manager." Ona zvláda vstupné udalosti (napríklad klávesnice a myši), a potom odošle prílohy správ, ktoré potrebujú, aby si, že vstúpi Každá aplikácia je zodpovedná za zobrazovanie alebo aktualizáciu vlastných okien a ponúk v odpovedi na tieto správy.
    Prostredie podsystém OS /2 podporuje 16-bitové aplikácie symbolické OS /2 a emuluje OS /2 1.x, ale nie 32bitová alebo OS 2 grafické aplikácie používané v OS /2 2.x alebo novší iba x 86 počítačov , Ak chcete spustiť grafický softvér OS /2 1.x, musí byť nainštalovaný doplnkový subsystém WINDOWSNT pre aplikáciu Presentation Manager. Najnovšia verzia systému NT, ktorá má subsystém OS /2, bola Windows 2000 a potom bola odstránená, začínajúc architektúrou systému Windows XP. Podsystém prostredia POSIX podporuje programy, ktoré sú striktne napísané buď pre POSIX.1, alebo pre zodpovedajúce normy ISO /IEC. Bol nahradený Interixom, ktorý je súčasťou služieb Windows Services for UNIX. Bezpečnostný subsystém pracuje s prvkami zabezpečenia, grantoch alebo zakazuje prístup k používateľským účtom na základe povolenia zdrojov pre spracovanie žiadostí o overenie prihlásenie a spustí vstup a určuje, ktoré systémové prostriedky musia byť kontrolované Windows NT.

    v režime jadra

    režimu jadra v systéme Windows NT architektúre má úplný prístup k hardvéru a systémových prostriedkov a beží počítačový kód v chránenej oblasti pamäti. Ovládanie prístupu k plánovaniu, priorite toku, správe pamäte a interoperabilite. Zabraňuje služby jadra režim a režim prístupu aplikácií používateľa do kritických oblastí operačného systému, ktoré by nemali mať prístup, jej procesy by mali požiadať režime jadra vykonávať tieto operácie v ich prospech.

    Hoci je architektúra x86 Windows podporuje štyri rôzne úrovne oprávnenia (0 až 3), s použitím iba dvoch tých extrémnych.Programy spustiť z užívateľského režimu a jadra 3 CPL - CPL 0. Tieto dve úrovne sú často nazýva «ring 3» a «ring 0" spôsobom. Toto rozhodnutie konštrukcia bola vykonaná s cieľom zabezpečiť prenositeľnosť kódu na platforme RISC, ktoré podporujú iba dve úrovne privilégiá, keď sa zlomí kompatibilitu s programami OS /2, ktoré obsahujú segmenty IO výsady, ktoré sa snažia priamy prístup k hardvéru. režimu jadra sa skladá z výkonných služieb, ktoré sú zložené z radu modulov, ktoré vykonávajú určité úlohy, jadrové vodič, základnej úrovni a hardware abstrakcie (HAL).

    správa

    Windows Executive sa skladá z režimu jadra low-level a obsiahnuté v súbore Ntoskrnl.exe. To zahŕňa vstup /výstup, správu objektov, bezpečnosť a riadenie procesov. Tie sú rozdelené do niekoľkých subsystémov, vrátane osobitnú úlohu Cache Manager, Configuration Manager, I /O Manager, miestne volania procedúr (LPC), správca pamäte, štruktúra a riadenie procesu bezpečnostného monitora (SRM). Komponenty zoskupené dohromady možno nazvať spustiteľnými službami (interný názov Ex). Systémové služby (interný názov NT), tj systémové volania sa vykonávajú aj na tejto úrovni, s výnimkou veľmi málo tých, ktorí platia priamo do jadra k zlepšeniu výkonnosti.
    Termín "služba" v tomto kontexte sa zvyčajne vzťahuje na volaný podprogram alebo súbor tzv. Podprogramov. Rozlišuje sa od pojmu "servisný proces", ktorý je súčasťou rozhrania, trochu podobnýdemonštrácie v operačných systémoch podobných Unixu. Toto je vlastnosť základnej architektúry systému Windows 10 a všetkých predchádzajúcich distribúcií.

    Object Manager

    Object Manager (interný názov Ob) je spustiteľný subsystém, cez ktorý musia prejsť všetky ostatné subsystémy, najmä systémové volania, na prístup k zdrojom Windows NT, ktoré sú v podstate , robí to službu správy infraštruktúry. Správca objektov sa používa na zníženie duplicity schopností správy zdrojov v iných spustených subsystémoch, čo môže viesť k chybám a komplikovaniu vývoja systému Windows NT. Pre tohto správcu je každý prostriedok objekt, bez ohľadu na to, či je fyzický (napríklad súborový systém alebo periférne zariadenie) alebo logický (napríklad súbor). Každý objekt má štruktúru alebo typ, o ktorých má OO vedieť. Vytvorenie objektu v architektúre operačného systému Windows je proces, ktorý prebieha v dvoch fázach - tvorba a vkladanie. Vytvorenie spôsobí priradenie prázdneho objektu a rezerváciu akýchkoľvek zdrojov požadovaných správcom, ako napríklad (voliteľne) meno v priestore názvov. Ak bol úspešný, subsystém zodpovedný za vytvorenie vyplní prázdny objekt. Nakoniec, ak podsystém usúdi, že inicializácia bola úspešná, poskytuje správcovi objektov inštrukciu na vloženie objektu a sprístupňuje ho prostredníctvom jeho mena alebo súboru cookie nazývaného popisovač. Od tohto momentu manažér zaobchádza s existenciou objektu a subsystém ho musí udržiavať v prevádzkovom stave, až kým ho ohlásí ObOdstránenie. Popisovače - sú identifikátory, ktoré predstavujú odkazy na zdroje prostredníctvom nepriehľadných základných hodnôt. Podobne otvorenie objektu prostredníctvom svojho mena prechádza bezpečnostné kontroly, ale akcia prostredníctvom existujúceho otvoreného rukoväťou len obmedzený prístup na úrovni príkazov, kedy bol objekt otvorený vytvorené.
    Typy objektov definujú postupy a všetky špecifické údaje. Tak Ob umožňuje Windows NT byť objektovo orientovaný operačný systém, pretože typy objektov môže byť videná ako polymorfné tried, ktoré definujú objekty. Väčšina subsystémy, však, výrazná výnimka v správcovi IO, spoliehajú na predvolené implementáciu pre všetky postupy. Každá inštancia vytvorený objekt zachováva svoje meno, parametre odovzdané funkciu vytváranie atribúty zabezpečenie objektu a ukazovateľ na písanie.

    Cache regulátor

    Tento architektonický funkcie systému Windows 7 a ostatné verzie úzko koordinuje ovládača radiča pamäte regulátora a vstupno-výstupných poskytnúť spoločný vyrovnávaciu pamäť pre normálny súbor IO. Cache Manager pracuje s blokmi súborov Windows (nie u energetických zariadení) na koordinované prácu miestnych a vzdialených súborov a poskytuje určitú mieru konzistentnosti s dátami zobrazenie načítaných v pamäti.

    Správca I /O

    Tento architektonický zložka systému Windows 10 a predtým umožňuje zariadenie pre komunikáciu s užívateľom režimu subsystémov. Prekladá príkazy na čítanie aNapíšte používateľ režimu v IRP, ktorý prenáša do ovládačov zariadení. Akceptuje požiadavky na vstup /výstup súborového systému a prevádza ich do volaní špecifických pre zariadenie a môže zahŕňať ovládače nízkej úrovne, ktoré priamo manipulujú so zariadením na čítanie alebo vstup-výstup. Obsahuje aj správcu vyrovnávacej pamäte na zvýšenie výkonu disku pomocou ukladania do pamäte pre čítanie a zápis požiadaviek na disk na pozadí.

    Miestny volanie procedúry (LPC)

    Táto konštrukčná časť architektúry Windows 10 (a všetky predchádzajúce distribúcie) poskytuje komunikačné porty medzi procesmi s sémantikou spojenia. LPC porty používajú podsystémy používateľského režimu na komunikáciu so svojimi klientmi, subsystémy Executive na komunikáciu so subsystémami užívateľského módu a ako základ miestnej prepravy pre Microsoft RPC.

    Správca pamäte

    Tento prvok systému Windows 8.1 a ďalších verzií riadi virtuálnu pamäť, jej ochranu a čerpanie z fyzického na sekundárny. Preto implementuje univerzálnu distribúciu fyzickej pamäte. Tiež vytvára analyzátor PE, ktorý umožňuje, aby sa spustiteľný súbor zobrazil alebo nebol zobrazený prostredníctvom atómového kroku. Počnúc systémom Windows NT Server 4.0 Terminal Server Edition správca pamäte implementuje takzvaný priestor pre relácie, ktorý má tendenciu prepínať kontext rovnako ako vlastná pamäť. To umožňuje viacero inštancií režimu jadra Win32 a ovládačov GDI pracovať vedľa seba,napriek nevýhodám v ich pôvodnom dizajne. Každý priestor pre relácie je zdieľaný niekoľkými procesmi, ktoré sa spoločne označujú ako "relácie". Zabezpečiť určitý stupeň izolácie medzi zasadnutiami bez zavedenia nového typu bezpečnosti referenčného objektu monitora spracováva komunikáciu medzi procesmi a relácií ako atribút cenného predmetu (tokenu) a môže byť zmenený iba pri použití špeciálnych privilégií. Relatívne jednoduchá a osobitnej povahe zasadnutí vzhľadom na to, že neboli súčasťou pôvodného projektu, a museli byť navrhnuté s minimálnou narušenie hlavnou línie treťou osobou (Citrix Systems) ako podmienku pre ich terminálového servera produktu pre systém Windows NT, nazvaný WinFrame. Vzhľadom na architektúru systému Windows Vista sa však relácie nakoniec stali dôležitými pre jej aspekt. Už nie je dizajn správcu pamäte, ktorý vstupuje do užívateľského režimu nepriamo cez Win32, boli rozšírené na komplexnú abstrakciu, ktorá ovplyvnila väčšinu výkonných subsystémov. V skutočnosti pravidelné používanie systému Windows Vista vždy vedie k prostredí s viacerými reláciami.

    Štruktúra procesu

    Tento architektonický funkcie systému Windows 7 (a iné variácie) riadi vytváranie a dokončenie procesov a vlákien, a realizuje koncepciu Jóba, skupinové procesy môžu byť dokončená ako celok, alebo ktoré na základe všeobecných obmedzení (napr , celková maximálna pridelená pamäť alebo čas CPU). V systéme Windows 2000 boli zavedené objekty úloh.

    PnP Manager

    Spravuje a podporuje detekciu a inštaláciu zariadenia počas spúšťania. On jeJe tiež zodpovedný za spúšťanie a zastavovanie zariadenia na vyžiadanie - to sa môže stať, keď je pneumatika (napríklad USB alebo IEEE 1394 FireWire) sa stane novým zariadením a podporovať ich potreba stiahnuť ovládač. Jej hlavná časť je v skutočnosti implementovaný v užívateľskom režime, servisné Plug and Play, ktorá je často náročná úloha nainštalovať príslušné ovládače, služby a aplikácie správy o nových zariadení a zobraziť grafické užívateľské rozhranie.

    Správca napájania

    Pracuje s udalosťami napájania (vypnutie, pohotovostný režim, spánok atď.) A hlási poruchy ovládačov pomocou IRP (Power IRP). Jeho úlohou je ovládanie.

    Monitor sledovania bezpečnosti (SRM)

    Hlavný orgán na zabezpečenie bezpečnosti integrovaného bezpečnostného subsystému. Určuje, či je možné získať prístup k objektu alebo prostriedku pomocou ACL, ktoré samotné pozostávajú z ACE. ACE zahŕňajú identifikátor zabezpečenia (SID) a zoznam operácií, ktoré ACE poskytuje vybranú skupinu - užívateľský účet alebo prihlasovacie skupina relácie - povolenie (povoliť, odmietnuť alebo potvrdiť) pre tento zdroj.

    GDI

    Rozhranie grafického zariadenia je zodpovedné za úlohy, ako sú kresliace čiary a krivky, zobrazovanie písiem a manipulačné panely. V sérii Windows NT 3.x súčasti GDI subsystému obsiahnutého v režime klient /server, používateľ, ale to bolo prenesené do jadra architektúry operačného systému Windows NT 4.0 s cieľom zlepšiťgrafický výkon.

    jadra

    Jadro architektúra Windows je medzi HAL a výkonného a poskytuje synchronizácia s viacerými procesormi, plánovanie a expedičné prietoku a prerušenia a prerušenie manipulačné a plánovanie výnimky. Je tiež zodpovedný za inicializáciu ovládačov zariadení pri zavádzaní, ktoré sú potrebné na spustenie operačného systému. To znamená, že jadro vykonáva prakticky všetky úlohy tradičného mikro jadra. Prísne rozlišovanie medzi exekutívou a jadra je najviac viditeľný pozostatok z projektovej dokumentácie pôvodný projekt Microkernel a historických dôsledne nazývajú jadrová zložka "microkernel". Jadro často komunikuje s manažérom procesov. Úroveň abstrakcie tak, že nikdy sa zmení na dispečerských procesov, ale naopak (okrem niekoľkých výnimočných prípadoch, ktoré nikdy nedosiahne funkčnú závislosť).

    Súvisiace publikácie