Architektura systému Windows: popis, typy, struktura

Architektura systému Windows NT - řada operačních systémů vyráběných a prodávaných společností Microsoft - je víceúrovňový design, který se skládá ze dvou hlavních komponent: uživatelského režimu a režimu jádra.

Jedná se o výstražný operační systém s výstrahou, navržený pro práci s počítači s jedním procesorem a symetrickým multiprocesorem (SMP). Pro zpracování požadavků I /O používají dávkový přenos, který využívá IRP pakety a asynchronní I /O. Počínaje operačním systémem Windows XP společnost Microsoft začala poskytovat 64bitové verze operačního systému, předtím, než tyto platformy existovaly pouze v 32bitových verzích.

Jaké jsou jeho principy?

Architektura systému Windows používá následující principy. Aplikace a subsystémy v uživatelském režimu jsou omezeny z hlediska dostupných systémových prostředků, zatímco režim jádra má neomezený přístup k systémové paměti a externím zařízením.


Režim jádra systému Windows NT má plný přístup k hardwarovým a systémovým prostředkům počítače. Jádro tohoto shellu je známé jako hybridní. Architektura zahrnuje jednoduché jádro, úroveň hardwarové abstrakce (HAL), ovladače a služby (kolektivně označované jako Executive), které existují ve stejném režimu. Vlastní režim v architektuře systému Windows se skládá z podsystémů, které mohou přenášet požadavky I /O na příslušné ovladače režimu jádra pomocí příslušného řadiče. Ples uživatelského režimu "Větry" se skládá z "Podsystémů prostředí", ve kterém jsou prováděnyaplikace napsané pro různé operační systémy a „Integral subsystémy“, které vykonávají funkce systému jménem prostředí subsystému.


Výkonná architektura rozhraní se všemi Windows uživatelském režimu subsystémy dohodě s I /O, správu objektů, zabezpečení a řízení procesů. Jádro je mezi úrovní hardwarové abstrakce a akčními členy, které poskytují víceprocesorové synchronizace, plánování a expediční průtoku a přerušení a přerušení manipulační a plánování výjimky. Jádro je také odpovědné za inicializaci ovladačů zařízení při zavádění. Ovladače tohoto režimu existují ve třech úrovních:
  • vyšší;
  • meziprodukt;
  • nízká.
  • Ovladač Model Windows (WDM) existují na mezilehlé úrovni, a byl určen především pro zajištění kompatibility a výstupní binární kód mezi Windows 982000. ovladače nejnižší úrovni jsou zastaralé a zařízení zajišťující instalaci Windows NT, které řídí zařízení přímo, nebo může být druh hry (PnP) - hardwarová sběrnice.

    Uživatelský režim

    Uživatelský režim se skládá z různých systémových procesů a DLL.
    Rozhraní mezi aplikacemi a funkcemi jádra operačního systému, se nazývá „prostředí subsystém“. Architektura Windows 7 a další v řadě NT) může mít více než jeden z nich, z nichž každá implementuje sadu API. Tento mechanismus byl navržen tak, aby podporoval aplikace napsané pro různé typy operačních systémů. Žádný ze subsystémůprostředí nemá přímý přístup k zařízení. Přístup k hardwarovým funkcím se provádí voláním rutin režimů jádra.

    Jakou roli hraje subsystém?

    Existují čtyři hlavní subsystémy prostředí: Win32 OS /2 Windows, Linux a POSIX. Podsystém prostředí Win32 může provozovat 32bitové programy systému Windows. Obsahuje konzolu, stejně jako podporu pro textové pole, vypnutí a zpracování závažných chyb pro všechny další subsystémy prostředí. Podporuje také virtuální stroje DOS (VDM), které umožňují spuštění aplikací MS-DOS a Win16 v systému Windows NT. Existuje speciální VDM MS-DOS, který běží ve svém adresním prostoru a emuluje Intel 80486 pod MS-DOS 5.0. Programy Win16 však pracují ve Win16 VDM. Každý z nich je ve výchozím nastavení spuštěn ve stejném procesu pomocí stejného adresního prostoru a Win16 VDM poskytuje každému programu vlastní tok, který má provést. Nicméně, architektura systému Windows NT umožňuje uživatelům spustit v samostatném okně, což umožňuje aktivně vykonávat multitasking jako „Vindovs“ převýší celý proces VDM, který obsahuje pouze jeden pracovní uplatnění.
    Proces podsystém prostředí Win32 (Csrss.exe také zahrnuje funkci správy okno, někdy nazývaná „window manager.“ Ona zvládá vstupní události (například klávesnice a myši), a pak odešle přílohy zpráv, které potřebují, aby si, že vstoupí . Každá aplikace je zodpovědná za vznik nebo aktualizovat vlastní okna a nabídky v reakci na tyto zprávy
    .Prostředí podsystém OS /2 podporuje 16bitové aplikace symbolické OS /2 a emuluje OS /2 1.x, ale ne 32bitová nebo OS 2 grafické aplikace používané v OS /2 2.x nebo novější pouze pro x 86 počítačů . Chcete-li spustit grafický software OS /2 1.x, musí být nainstalován subsystém doplňku WINDOWSNT pro Presentation Manager. Nejnovější verze NT subsystému OS /2 byl „Vindovs 2000“, pak to bylo odstraněno, počínaje architekturou systému Windows XP. POSIX prostředí subsystém podporuje aplikace, které jsou čistě písemná nebo POSIX.1 příslušné normy nebo ISO /IEC. To bylo nahrazeno Interix, který je součástí služby Windows Services for UNIX. Bezpečnostní subsystém pracuje s prvky zabezpečení, grantech nebo zakazuje přístup k uživatelským účtům na základě povolení zdrojů pro zpracování žádostí o ověření přihlášení a spustí vstup a určuje, které systémové prostředky musí být kontrolovány Windows NT.

    v režimu jádra

    režimu jádra v systému Windows NT architektuře má úplný přístup k hardwaru a systémových prostředků a běží počítačový kód v chráněné oblasti paměti. Řídí přístup k plánování, prioritě streamu, správě paměti a interoperabilitě. Zabraňuje služby jádra režim a režim přístupu aplikací uživatele do kritických oblastí operačního systému, které by neměly mít přístup, její procesy by měly požádat režimu jádra provádět tyto operace v jejich prospěch.

    Ačkoliv je architektura x86 Windows podporuje čtyři různé úrovně oprávnění (0 až 3), s použitím pouze dvou těch extrémních.Programy uživatelského režimu jsou spuštěny s CPL 3 a jádro je s CPL 0. Tyto dvě úrovně jsou často označovány jako "kroužek 3" a "kroužek 0". Toto rozhodnutí bylo navrženo tak, aby zajistilo přenositelnost kódu pro platformy RISC, které podporují pouze dvě úrovně oprávnění, přestože to porušuje kompatibilitu OS /2 se segmenty oprávnění I /O, které se pokouší o přímý přístup k hardwaru. Režim jádra se skládá z spustitelných služeb, které se skládají z mnoha modulů, které provádějí určité úkoly: ovladače jádra, jádro a úroveň hardwarových abstrakcí (HAL).

    Administrace

    Výkonné služby Windows jsou nízká úroveň režimu jádra a jsou obsaženy v souboru NTOSKRNL.EXE. To zahrnuje vstup /výstup, správu objektů, zabezpečení a správu procesů. Jsou rozděleny do několika podsystémů, mezi něž hrají zvláštní roli správce mezipaměti, Správce konfigurace, Správce I /O, Místní volání procedur (LPC), Správce paměti, Struktura procesu a Monitor sledování zabezpečení (SRM). Komponenty seskupené dohromady lze nazvat spustitelné služby (interní jméno Ex). Na této úrovni jsou implementovány také systémové služby (interní jméno Nt), tj. Systémová volání, s výjimkou velmi malého počtu uživatelů, kteří mají přístup ke jádře přímo ke zvýšení produktivity.
    Termín "služba" v tomto kontextu obvykle odkazuje na volaný podprogram nebo soubor volaných podprogramů. Odlišuje se od pojmu "servisní proces", který je součástí režimu rozhraní, poněkud podobnýdemonstrace v operačních systémech typu Unix. Toto je vlastnost základní architektury systému Windows 10 a všech předchozích distribucí.

    Object Manager

    Object Manager (interní jméno Ob) je spustitelný subsystém, který musí projít všemi ostatními subsystémy, zejména systémovými voláními, pro přístup k prostředkům WINDOWSNT, které jsou v podstatě , dělá službu správy zdrojů infrastruktury. Správce objektů se používá ke snížení duplicity schopností správy prostředků v jiných subsystémech spouštění, což může vést k chybám a komplikovat vývoj systému Windows NT. Pro tohoto správce je každý prostředek objekt, bez ohledu na to, zda je fyzický (například souborový systém nebo periferní zařízení) nebo logický (například soubor). Každý objekt má strukturu nebo typ, o němž má Ob ​​vědět. Vytvoření objektu v architektuře operačního systému Windows je proces, který probíhá ve dvou fázích - vytvoření a vkládání. Tvorba způsobuje přidělení prázdného objektu a rezervace všech zdrojů požadovaných správcem, jako je (volitelně) název v oboru názvů. Pokud byl úspěšný, subsystém zodpovědný za tvorbu vyplní prázdný objekt. Konečně, pokud subsystém považuje inicializaci za úspěšnou, dává správci objektů příkaz k vložení objektu, který je zpřístupní prostřednictvím jeho jména nebo souboru cookie nazvaného popisovač. Od tohoto okamžiku je existence objektu řešena manažerem a subsystém musí udržovat jej v provozním stavu, až do doby, než mu ohlásí Obvymazat Deskriptory jsou identifikátory, které představují odkaz na zdroj jádra kvůli neprůhledné hodnotě. Podobně otevření objektu prostřednictvím jeho jména podléhá bezpečnostním kontrolám, ale akce přes existující otevřený deskriptor je omezena pouze na úroveň přístupu, který byl pořízen při otevření nebo vytvoření objektu.
    Typy objektů definují postupy a veškerá data, která jsou pro ně specifická. Tak Ob umožňuje Windows NT být objektově-orientovaný operační systém, protože typy objektů mohou být viděny jako polymorfní třídy, které definují objekty. Většina subsystémů, s výjimkou správce I /O, se však opírá o výchozí implementaci všech procedur. Každá instance vytvořeného objektu ukládá jeho název, parametry předané funkci vytváření objektu, atributy zabezpečení a ukazatel na jeho typ.

    Controller mezipaměti

    Tento prvek systému Windows 7 a dalších verzí architektury úzce spolupracuje s ovladači Memory Manager, správcem a I /O, aby poskytoval běžnou mezipaměť pro běžné vstupy a výstupy založené na souboru. Správce mezipaměti systému Windows pracuje s bloky souborů (a nikoliv s bloky zařízení) pro důslednou práci místních a vzdálených souborů a poskytuje určitý stupeň konzistence s zobrazením dat načtených do paměti.

    Správce I /O

    Tato součást architektury systému Windows 10 a dřívější umožňuje zařízení komunikovat se subsystémy uživatelského režimu. Překládá příkazy pro čtení aZapište uživatele režimu do IRP, který přenáší do ovladačů zařízení. Přijímá požadavky na vstupy a výstupy systému souborů a převádí je na hovory specifické pro zařízení a může zahrnovat ovladače nízké úrovně, které přímo manipulují se zařízením pro čtení nebo vstupy a výstupy. Obsahuje také správce mezipaměti pro zvýšení výkonu disku tím, že ukládá požadavky na čtení a zápis na disk na pozadí.

    Místní volání procedur (LPC)

    Tato strukturní část architektury Windows 10 (a všechny předchozí distribuce) poskytuje komunikační porty mezi procesy se sémantikou spojení. LPC porty se používají podsystémy uživatelského režimu pro komunikaci se svými klienty, subsystémy Executive pro komunikaci s podsystémy uživatelského režimu a jako základ pro místní přepravu pro Microsoft RPC.

    Správce paměti

    Tento prvek systému Windows 8.1 a další verze řídí virtuální paměť, její ochranu a čerpání z fyzického na sekundární. Proto implementuje univerzální distribuci fyzické paměti. Vytváří také analyzátor PE, který umožňuje, aby byl spustitelný soubor zobrazen nebo nebyl zobrazen prostřednictvím atomového kroku. Počínaje systémem Windows NT Server 4.0 Terminal Server Edition správce paměti implementuje tzv. Relační prostor, což je pásmo paměti jádrového režimu, které má tendenci přepínat kontext stejně jako u vlastní paměti. To umožňuje vícenásobné instance režimu jádra Win32 a ovladačů GDI pracovat vedle sebe,i přes nevýhody jejich původního návrhu. Každý prostor relace je sdílen několika procesy, které se společně označují jako "relace". Zajistit určitý stupeň izolace mezi zasedáními bez zavedení nového typu bezpečnosti referenčního objektu monitoru zpracovává komunikaci mezi procesy a relací jako atribut cenného předmětu (tokenu) a může být změněn pouze při použití speciálních privilegií. Relativně jednoduchá a zvláštní povaze zasedání vzhledem k tomu, že nebyly součástí původního projektu, a musely být navrženy s minimální narušení hlavní linie třetí osobou (Citrix Systems) jako podmínku pro jejich terminálového serveru produktu pro systém Windows NT, nazvaný WinFrame Nicméně, od architektury systému Windows Vista, relace se nakonec staly relevantní pro jeho aspekt. Už je výstavba správce paměti, že jde do uživatele nepřímo prostřednictvím Win32 byly rozšířeny na komplexní abstrakce ovlivňuje většina výkonné subsystémy. Ve skutečnosti pravidelné používání systému Windows Vista vždy vede k prostředí s více relacemi.

    Struktura procesu

    Tento architektonický funkce systému Windows 7 (a jiné variace) řídí vytváření a dokončení procesů a vláken, a realizuje koncepci Joba, skupinové procesy mohou být dokončena jako celek, nebo které na základě obecných omezení (např , celková maximální alokovaná paměť nebo čas procesoru). Objekty cíle byly zavedeny v systému Windows 2000

    PnP správce

    Spravuje a udržuje detekci a instalaci zařízení v době spuštění. On jeJe také odpovědný za zastavení a spouštění zařízení na požádání - k tomu může dojít, když autobus (například USB nebo IEEE 1394 FireWire) získává nové zařízení a vyžaduje podporu ovladače ke stažení. Jeho hlavní část je skutečně implementována v uživatelském režimu Plug and Play, který často provádí složité úkoly pro instalaci vhodných ovladačů, reportování služeb a aplikací při vzniku nových zařízení a zobrazování grafického uživatelského rozhraní.

    Správce napájení

    Pracuje s událostmi napájení (vypnutí, pohotovostní režim, spánek atd.) A hlásí poškozené ovladače pomocí IRP (Power IRP). Jeho role ovládá.

    Monitor sledování bezpečnosti (SRM)

    Hlavní zařízení pro zajištění bezpečnosti integrovaného zabezpečovacího subsystému. Určuje, zda lze přístup k objektu nebo zdroji získat pomocí ACL, které samy sestávají z ACE. ACE obsahují identifikátor zabezpečení (SID) a seznam operací, které ACE poskytuje vybrané skupině, uživatelskému účtu, skupině nebo relaci přihlášení, oprávnění (povolení, zamítnutí nebo ověření) pro daný prostředek.

    GDI

    Rozhraní grafického zařízení je zodpovědné za úkoly, jako jsou kreslení čáry a křivky, zobrazení písem a manipulačních panelů. V sadě Windows NT 3.x byla součástí komponenty GDI v podsystému klient /server v uživatelském režimu, ale byla přesunuta do režimu jádra v architektuře operačního systému Windows NT 4.0 ke zlepšení.grafický výkon.

    Jádro

    Jádro v architektuře Windows je mezi HAL a Executive a poskytuje synchronizaci s více procesory, plánování a plánování toků a přerušení, stejně jako přerušení zpracování a vysílání výjimek. Je také odpovědný za inicializaci ovladačů zařízení při zavádění, které jsou nutné pro spuštění operačního systému. To znamená, že jádro provádí prakticky všechny úkoly tradičního mikrojádra. Přísné rozlišení mezi výkonným jádrem a jádrem je nejvýraznějším zbytkem původního projektu mikrojádra a historická konstrukční dokumentace důsledně označuje součást jádra za "mikroobvod". Jádro často komunikuje s správcem procesů. Úroveň abstrakce je taková, že se nikdy nevztahuje na správce procesů, ale pouze naopak (s výjimkou několika typických případů, které nikdy nedosahují funkční závislosti).

    Související publikace