Architektura windows: popis, pohledy, struktura

Architektura Windows NT - řada operačních systémů vyráběných a prodávaných společností Microsoft-je vrstvený design složený ze dvou hlavních komponent: uživatelského režimu a režimu jádra.

Architektura windows 7

Jedná se o proaktivní reenterovatelný operační systém vytvořený pro provoz s jednoprocesorovými a symetrickými víceprocesorovými (SMP) počítači. Ke zpracování požadavků na vstup a výstup (i/o) používají paket, který používá pakety IRP a asynchronní i / o. Počínaje systémem Windows XP začala společnost Microsoft poskytovat 64bitové verze operačního systému, předtím tyto platformy existovaly pouze v 32bitových verzích.

Jaké jsou její principy?

Architektura operačního systému Windows implementuje následující principy. Programy a subsystémy v uživatelském režimu jsou omezeny z hlediska toho, ke kterým systémovým prostředkům mají přístup, 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 v systému Windows NT má plný přístup k hardwarovým a systémovým prostředkům počítače. Jádro tohoto pláště je známé jako hybridní. Architektura zahrnuje jednoduché jádro, vrstvu hardwarové abstrakce( HAL), ovladače a řadu služeb (souhrnně označovaných jako Executive), které všechny existují ve stejném režimu.

Uživatelský režim v architektuře Windows se skládá ze subsystémů schopných přenášet i / o požadavky na příslušné ovladače režimu jádra pomocí příslušného správce. Vrstva uživatelského režimu" Windows "se skládá z" subsystémů prostředí", ve kterých jsou spuštěny aplikace napsané pro různé operační systémy, a "integrálního subsystému", který provádí systémové funkce jménem subsystémů prostředí.

Architektura operačního systému windows

Rozhraní Executive v architektuře Windows se všemi subsystémy uživatelského režimu se zabývají i / o, správou objektů, zabezpečením a správou procesů. Jádro leží mezi hardwarovou abstrakční vrstvou a výkonným zařízením, které umožňuje synchronizaci více procesů, plánování a odesílání vláken a přerušení, jakož i zpracování přerušení a odesílání výjimek. Jádro je také zodpovědné za inicializaci ovladačů zařízení při spuštění.

Ovladače tohoto režimu existují na třech úrovních:

  • vyšší;
  • mezilehlý;
  • nízkého.

Model ovladače Windows (WDM) existuje na střední úrovni a byl primárně navržen tak, aby umožňoval kompatibilitu binárního a zdrojového kódu mezi Windows 98 a 2000. Ovladače nejnižší úrovně jsou buď zastaralé instalační programy zařízení Windows NT, které řídí zařízení přímo, nebo mohou být variantami Play (PNP) - hardwarové sběrnice.

Vlastní režim

Uživatelský režim se skládá z různých systémových procesů a DLL.

architektura systému windows

Rozhraní mezi aplikacemi a funkcemi jádra operačního systému se nazývá "subsystém prostředí". Architektura Windows (7 a další v řadě NT) může mít více než jednu z nich, z nichž každá implementuje svou vlastní sadu API. Tento mechanismus byl navržen tak, aby podporoval aplikace napsané pro mnoho různých typů operačních systémů. Žádný ze subsystémů prostředí nemá přímý přístup k hardwaru. Hardwarové funkce jsou přístupné voláním rutin režimu jádra.

Jakou roli hrají subsystémy?

Existují čtyři hlavní subsystémy prostředí: Win32, OS / 2, Windows pro Linux a POSIX.

Subsystém prostředí Win32 může spouštět 32bitové aplikace Windows. Obsahuje konzolu, stejně jako podporu textového okna, vypnutí a zpracování závažných chyb pro všechny ostatní subsystémy prostředí. Podporuje také virtuální stroje DOS (VDM), které umožňují běh MS-DOS a 16bitových aplikací Win16 v systému Windows NT.

K dispozici je speciální VDM MS-DOS, který běží ve svém vlastním adresním prostoru a emuluje Intel 80486 se systémem MS-DOS 5.0. Programy Win16 však běží na 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 své vlastní vlákno k provedení. Architektura systému Windows NT však umožňuje uživatelům spustit jej v samostatném okně, což umožňuje preventivní multitasking, protože "Windows" bude před celým procesem VDM, který obsahuje pouze jednu spuštěnou aplikaci.

Architektura windows 10

Proces subsystému prostředí Win32 (csrss.exe) zahrnuje také funkci správy oken, někdy nazývanou "správce oken". Zpracovává vstupní události (například z klávesnice a myši) a poté předává zprávy aplikacím, které potřebují tento vstup získat. Každá aplikace je zodpovědná za vzhled nebo aktualizaci vlastních oken a nabídek v reakci na tyto zprávy.

Subsystém prostředí OS / 2 podporuje 16bitové znakové aplikace OS / 2 a emuluje OS/2 1.x, ale ne 32bitové nebo grafické aplikace OS 2 používané v OS/2 2.X nebo novější pouze pro počítače x86.

Pro spuštění grafických programů OS/2 1.X musí být nainstalován subsystém doplňků Windows NT pro správce prezentace. Poslední verzí NT, která měla subsystém OS / 2, byla "Windows-2000" , poté byla odstraněna, počínaje architekturou Windows XP.

Subsystém prostředí POSIX podporuje aplikace, které jsou přísně psány buď pro POSIX.1, nebo pro příslušné normy ISO/IEC. To bylo nahrazeno Interix, který je součástí Windows Services for UNIX.

Bezpečnostní subsystém pracuje s bezpečnostními tokeny, poskytuje nebo zakazuje přístup k uživatelským účtům na základě oprávnění k prostředkům, zpracovává požadavky na přihlášení a iniciuje ověřování přihlášení a určuje, které systémové prostředky by měly být ověřeny systémem Windows NT.

Architektura operačního systému windows

Režim jádra

Režim jádra v architektuře Windows NT má plný přístup k hardwarovým a systémovým prostředkům počítače a spouští kód v chráněné oblasti paměti. Řídí přístup k plánování, prioritizaci vláken, správě paměti a interakci s hardwarem. Režim jádra brání službám a aplikacím v uživatelském režimu v přístupu do kritických oblastí operačního systému, ke kterým by neměli mít přístup, jeho procesy by měly vyžadovat režim jádra, aby tyto operace provedl jejich jménem.

Zatímco architektura Windows x86 podporuje čtyři různé úrovně oprávnění (0 až 3), používají se pouze dva extrémní. Programy uživatelského režimu běží s CPL 3 a jádro běží s CPL 0. Tyto dvě úrovně se často nazývají " ring 3 "a" ring 0". Takové konstrukční rozhodnutí bylo učiněno za účelem zajištění přenositelnosti kódu na platformy RISC, které podporují pouze dvě úrovně oprávnění, i když to narušuje kompatibilitu s aplikacemi OS / 2, které obsahují segmenty i / o oprávnění, které se snaží přímo přistupovat k hardwaru.

Režim jádra se skládá z výkonných služeb, které jsou tvořeny mnoha moduly provádějícími určité úkoly: ovladače jádra, samotné jádro a vrstva hardwarové abstrakce (HAL).

Spravování

Služby Windows Executive tvoří nízkoúrovňovou část režimu jádra a jsou obsaženy v souboru NTOSKRNL.EXE. To platí pro i / o, správu objektů, zabezpečení a správu procesů. Jsou rozděleny do několika subsystémů, mezi nimiž 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 procesů a monitor zabezpečení (SRM). Komponenty seskupené dohromady mohou být označovány jako výkonné služby (interní název Ex). Na této úrovni jsou také implementovány systémové služby (interní název Nt), tj.

Architektura jádra windows

Termín "služba" v této souvislosti obvykle označuje volanou podprogram nebo sadu volaných podprogramů. To se liší od konceptu "servisního procesu", což je součást uživatelského režimu poněkud podobná demonstraci v operačních systémech podobných Unixu. Tato funkce architektury jádra Windows 10 a všechny předchozí distribuce.

Správce objektů

Správce objektů (interní název Ob) je výkonný subsystém, kterým musí projít všechny ostatní takové subsystémy, zejména systémová volání, aby získali přístup k prostředkům Windows NT, což z něj v podstatě dělá službu infrastruktury správy zdrojů. Správce objektů se používá ke snížení duplikace funkcí správy prostředků v v jiných výkonných subsystémech, což může vést k chybám a komplikovat vývoj systému Windows NT.

Pro daného správce je každý zdroj objektem, ať už je fyzický (například souborový systém nebo periferní zařízení) nebo logický (například soubor). Každý objekt má strukturu nebo typ, o kterém by měl Ob vědět.

Vytvoření objektu v architektuře OS rodiny Windows je proces probíhající ve dvou fázích-vytváření a vkládání. Vytvoření způsobí přidělení prázdného objektu a rezervaci všech zdrojů požadovaných správcem, například (volitelně) název v jmenného prostoru. Pokud byl úspěšný, subsystém odpovědný za vytvoření vyplní prázdný objekt. A konečně, pokud subsystém považuje inicializaci za úspěšnou, dá správci objektů pokyn, aby objekt vložil, což jej zpřístupní prostřednictvím jeho názvu nebo souboru cookie nazývaného deskriptor. Od tohoto okamžiku je doba existence objektu zpracována správcem a subsystém ji musí udržovat v provozuschopném stavu, dokud Ob nehlásí její odstranění.

Deskriptory jsou identifikátory, které představují odkaz na zdroj jádra prostřednictvím neprůhledné hodnoty. Podobně otevření objektu prostřednictvím jeho názvu podléhá bezpečnostním kontrolám, ale akce prostřednictvím existujícího otevřeného deskriptoru je omezena pouze na úroveň přístupu požadovanou, když byl objekt otevřen nebo vytvořen.

Architektura windows 8 1

Typy objektů definují postupy a všechna data, která jsou pro něj specifická. Ob tedy umožňuje Windows NT být objektově orientovaným operačním systémem, protože typy objektů lze považovat jako polymorfní třídy definující objekty. Většina subsystémů se však s výraznou výjimkou ve Správci i / o spoléhá na výchozí implementaci pro všechny procedury.

Každá instance vytvořeného objektu ukládá své jméno, parametry, které jsou předány funkci vytvoření objektu, atributy zabezpečení a ukazatel na jeho typ.

Řadič mezipaměti

Tento prvek architektury Windows 7 a dalších verzí úzce koordinuje práci se správcem paměti, správcem a ovladači I / O, aby poskytl sdílenou mezipaměť pro běžný i / o soubor. Správce mezipaměti systému Windows pracuje se souborovými bloky (nikoli s bloky zařízení) pro konzistentní provoz místních a vzdálených souborů a poskytuje určitou míru konzistence s mapováním dat načtených do paměti.

I / o správce

Tento složený prvek architektury Windows 10 a starších umožňuje zařízením komunikovat se subsystémy uživatelského režimu. Převádí příkazy pro čtení a zápis uživatelského režimu na IRP, které předává ovladačům zařízení. Přijímá i / o požadavky na souborový systém a převádí je na volání specifická pro zařízení a může zahrnovat ovladače nízké úrovně, které přímo manipulují se čtecím nebo i / o hardwarem. Zahrnuje také správce mezipaměti pro zlepšení výkonu disku ukládáním požadavků na čtení do mezipaměti a zápisem na disk na pozadí.

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

Tato strukturální část architektury Windows 10 (a všech raných distribucí) poskytuje meziprocesové porty se sémantikou připojení. Porty LPC používají subsystémy uživatelského režimu ke komunikaci se svými klienty, subsystémy Executive ke komunikaci se subsystémy uživatelského režimu a jako základy pro místní doprava pro Microsoft RPC.

Správce paměti

Tento prvek architektury Windows 8.1 a ostatní verze spravují virtuální paměť, její ochranu a výměnu z fyzické a sekundární. Tím implementuje univerzální alokátor fyzické paměti. Vytváří také analyzátor spustitelných souborů PE, který umožňuje, aby se spustitelný soubor zobrazoval nebo se nezobrazoval v jednom atomovém kroku.

Počínaje Windows NT Server 4.0, Terminal Server Edition, správce paměti implementuje takzvaný prostor relace, rozsah paměti v režimu jádra, který je náchylný k přepínání kontextu stejným způsobem jako paměť uživatelského režimu. To umožňuje, aby několik instancí subsystému Win32 režimu jádra a ovladačů GDI běželo vedle sebe, navzdory nedostatkům v jejich původním designu. Každý prostor relace sdílí několik procesů, které se souhrnně nazývají "relace".

Aby byl zajištěn určitý stupeň izolace mezi relacemi bez zavedení nového typu objektu, monitor bezpečnostních odkazů zpracovává komunikaci mezi procesy a relacemi jako atribut bezpečnostního subjektu (token) a lze jej změnit pouze tehdy, pokud existují zvláštní oprávnění.

Relativně jednoduchá a zvláštní povaha relací souvisí s tím, že nebyly součástí původního projektu, a měly být navrženy s minimálním porušením hlavní linie třetí stranou (Citrix Systems) jako předpoklad pro jejich produkt terminálového serveru Windows NT s názvem WinFrame.

Počínaje architekturou Windows Vista se však relace konečně staly jeho správným aspektem. Již nejsou konstruktem správce paměti, který přechází do uživatelského režimu nepřímo prostřednictvím Win32, byly rozšířeny na komplexní abstrakci ovlivňující většinu výkonných subsystémů. Ve skutečnosti pravidelné používání systému Windows Vista vždy vede k prostředí s více relacemi.

Struktura procesu

Daný prvek architektury operačního systému Windows 7 (a zbytek variací) řídí vytváření a dokončování procesů a vláken a implementuje koncept Job, skupiny procesů, které lze dokončit jako jeden celek nebo umístit pod obecná omezení (např. celkové maximum přidělené paměti nebo čas CPU). Objekty úloh byly zavedeny do systému Windows 2000.

PnP Manager

Spravuje a podporuje detekci a instalaci zařízení během bootování. Je také zodpovědný za zastavení a spuštění zařízení na vyžádání - k tomu může dojít, když sběrnice (například USB nebo IEEE 1394 FireWire) zakoupí nové zařízení a pro jeho podporu je třeba stáhnout ovladač. Jeho hlavní část je ve skutečnosti implementována v uživatelském režimu, ve službě Plug and Play, která provádí často složité úkoly při instalaci příslušných ovladačů, upozorňování služeb a aplikací na příchod 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, hibernace atd.). d.) a upozorní postižené ovladače pomocí speciálních IRP (power IRP). Jeho role je kontrolní.

Bezpečnostní monitor (SRM)

Hlavní orgán pro prosazování bezpečnostních pravidel integrovaného bezpečnostního subsystému. Určuje, zda lze k objektu nebo prostředku přistupovat pomocí seznamů řízení přístupu (ACL), které se samy skládají ze záznamů řízení přístupu (ACE). ACE obsahují identifikátor zabezpečení (SID) a seznam operací, které ACE poskytuje vybrané skupině-uživatelský účet, skupina nebo přihlašovací relace-oprávnění (Povolit, odepřít nebo provést ověření) pro tento prostředek.

GDI

Rozhraní grafického zařízení je zodpovědné za úkoly, jako je kreslení čar a křivek, kreslení písem a zpracování palet. V edicích řady Windows NT 3.x komponenta GDI byla umístěna do subsystému klient / server v uživatelském režimu, ale v architektuře byla přepnuta do režimu jádra operační systém Windows NT 4.0 pro zlepšení grafického výkonu.

Jádro

Jádro v architektuře Windows OS je mezi HAL a Executive a poskytuje víceprocesorovou synchronizaci, plánování a odesílání vláken a přerušení a zpracování přerušení a odesílání výjimek. Je také zodpovědný za inicializaci ovladačů zařízení při spuštění, které nezbytné pro spuštění operační systém. To znamená, že jádro plní téměř všechny úkoly tradičního mikrokernelu. Přísný rozdíl mezi Executive a Kernel je nejviditelnějším pozůstatkem původního projektu mikronukleů a historická Projektová dokumentace důsledně nazývá jádrovou složku "mikronukleem".

Jádro často komunikuje se správcem procesů. Úroveň abstrakce je taková, že nikdy nepřistupuje ke správci procesů, ale pouze naopak (s výjimkou několika atypických případů, které nikdy nedosáhnou funkční závislosti).

Články na téma