Windows architektúra: leírás, típusok, szerkezet

A Windows NT architektúrája, a Microsoft által gyártott és forgalmazott operációs rendszerek sorozata, többszintű kialakítás, amely két fő összetevőből áll: felhasználói mód és kernel mód.

windows 7 architektúra

Ez egy proaktív reentrant operációs rendszer, amelyet a dolgozni egyprocesszoros és szimmetrikus multiprocesszoros (SMP) számítógépekkel. A bemeneti és kimeneti (I/O) kérések feldolgozásához csomagátvitelt használnak, amely IRP csomagokat és aszinkron I/O-t használ. A Windows XP-től kezdve a Microsoft elkezdte biztosítani az operációs rendszer 64 bites verzióit, mielőtt ezek a platformok csak 32 bites verziókban léteztek.

Melyek az alapelvei?

A Windows operációs rendszer architektúrája a következő elveket valósítja meg. A programok és alrendszerek felhasználói módban korlátozottak abban a tekintetben, hogy mely rendszererőforrásokhoz férnek hozzá, míg a kernel mód korlátlan hozzáférést biztosít a rendszermemóriához és a külső eszközökhöz.

Kernel mód A Windows NT teljes hozzáférést biztosít a hardver és a rendszer erőforrásait a számítógép. Ennek a héjnak a magja hibrid néven ismert. Az architektúra tartalmaz egy egyszerű kernelt, egy hardver absztrakciós réteget (hal), illesztőprogramokat és számos szolgáltatást (együttesen Executive néven), amelyek mind ugyanabban a módban léteznek.

A Windows architektúra felhasználói módja olyan alrendszerekből áll, amelyek képesek I/O kéréseket továbbítani a megfelelő kernel módú illesztőprogramokhoz a megfelelő diszpécser segítségével. A Windows felhasználói mód rétege "környezeti alrendszerekből" áll, amelyekben különféle operációs rendszerekre írt alkalmazások kerülnek végrehajtásra, valamint egy "integrált alrendszerből", amely a rendszer funkcióit a környezeti alrendszerek nevében hajtja végre.

windows operációs rendszer architektúra

A Windows architektúra Executive interfészei az összes felhasználói módú alrendszerrel foglalkoznak az I/O-val, az objektumkezeléssel, a biztonsággal és a folyamatkezeléssel. A kernel a hardver absztrakciós réteg és a végrehajtó eszköz között helyezkedik el, biztosítva a többprocesszoros szinkronizálást, a szálak és megszakítások ütemezését és diszpécserét, valamint a megszakítások kezelését és a kivétel diszpécserét. A rendszermag felelős az eszközillesztők inicializálásáért is indításkor.

Ennek a módnak az illesztőprogramjai három szinten léteznek:

  • magasabb;
  • középhaladó;
  • alacsony.

A Windows Driver Model (WDM) középszinten létezik, és elsősorban a bináris és forráskód kompatibilitás biztosítására tervezték a Windows 98 és 2000 között. A legalacsonyabb szintű illesztőprogramok vagy a Windows NT eszközök elavult telepítői, amelyek közvetlenül vezérlik az eszközt, vagy lehetnek játékfajták (PnP) - hardverbusz.

Felhasználói mód

A felhasználói mód különböző rendszerfolyamatokból és DLL könyvtárakból áll.

windows rendszer architektúra

Az alkalmazások és az operációs rendszer kernelfunkciói közötti interfészt "környezeti alrendszernek" nevezzük. A Windows architektúrája (7 és mások az NT sorban) egynél több lehet, amelyek mindegyike saját API-készletet valósít meg. Ezt a mechanizmust úgy tervezték, hogy támogassa a sokféle operációs rendszerhez írt alkalmazásokat. A környezet egyik alrendszere sem rendelkezik közvetlen hozzáféréssel a hardverhez. A hardverfunkciók a kernel mód rutinjainak meghívásával érhetők el.

Milyen szerepet játszanak az alrendszerek?

A környezetnek négy fő alrendszere van: Win32, OS/2, Windows for Linux és POSIX.

A Win32 környezet alrendszer 32 bites Windows alkalmazásokat képes futtatni. Tartalmaz egy konzolt, valamint szöveges ablak támogatást, leállítást és súlyos hibakezelést a környezet összes többi alrendszeréhez. Támogatja a DOS virtuális gépeket (VDM) is, amelyek lehetővé teszik az MS-DOS és a 16 bites Win16 alkalmazások futtatását Windows NT rendszeren.

Van egy speciális MS-DOS VDM, amely a saját címtartományában fut, és az Intel 80486-ot emulálja az MS-DOS 5 futtatásával.0. A Win16 programok azonban a Win16 VDM-ben működnek. Mindegyiket alapértelmezés szerint ugyanabban a folyamatban hajtják végre, ugyanazt a címtartományt használva, a Win16 VDM pedig minden programnak saját szálat biztosít a végrehajtáshoz. A Windows NT rendszer architektúrája azonban lehetővé teszi a felhasználók számára, hogy külön ablakban futtassák, ami lehetővé teszi a megelőző többfeladatot, mivel a Windows megelőzi a teljes VDM folyamatot, amely csak egy futó alkalmazást tartalmaz.

windows 10 architektúra

Win32 környezet alrendszer folyamat (csrss.exe) ablakkezelő funkciókat is tartalmaz, amelyeket néha "ablakkezelőnek"is neveznek. Feldolgozza a bemeneti eseményeket (például a billentyűzetről és az egérről), majd üzeneteket küld azoknak az alkalmazásoknak, amelyeknek meg kell kapniuk ezt a bemenetet. Minden alkalmazás felelős a megjelenése vagy frissítése a saját ablakok és menük válaszul ezeket az üzeneteket.

Az OS / 2 környezet alrendszer támogatja az OS/2 16 bites karakteres alkalmazásokat és emulálja az OS / 2 1-et.x, de nem az OS/2 2-ben használt 32 bites vagy grafikus OS 2 Alkalmazások.x vagy újabb verzió csak x86 számítógépekhez.

Az OS/2 grafikus programok futtatása 1.x a Prezentációkezelő Windows NT bővítmény alrendszerét telepíteni kell. Az NT utolsó verziója OS/2 alrendszerrel A Windows 2000 volt, majd eltávolították, kezdve a Windows XP architektúrával.

A POSIX környezet alrendszer támogatja azokat az alkalmazásokat, amelyek szigorúan a POSIX számára vannak írva.1, vagy a megfelelő ISO/ IEC szabványok. Ezt felváltotta az Interix, amely a Windows Services for UNIX része.

A biztonsági alrendszer biztonsági tokenekkel működik, erőforrásengedélyek alapján engedélyezi vagy megtagadja a hozzáférést a felhasználói fiókokhoz, feldolgozza a bejelentkezési kérelmeket és kezdeményezi a bejelentkezési hitelesítést, valamint meghatározza, hogy mely rendszererőforrásokat kell ellenőriznie a Windows NT-nek.

a windows operációs rendszer architektúrája

Kernel Mód

A Windows NT architektúrában a kernel mód teljes hozzáféréssel rendelkezik a számítógép hardver-és rendszererőforrásaihoz, és a kódot védett memóriaterületen futtatja. Ez vezérli a hozzáférést az ütemezéshez, a szál prioritásokhoz, a memóriakezeléshez és a hardveres interakcióhoz. A Kernel mód nem teszi lehetővé a felhasználói módú szolgáltatások és alkalmazások számára, hogy hozzáférjenek az operációs rendszer kritikus területeihez, amelyekhez nem szabad hozzáférniük, folyamatainak kérniük kell a kernel módot az ilyen műveletek végrehajtására a nevükben.

Bár a Windows x86 architektúra négy különböző jogosultsági szintet támogat (0 - tól 3-ig), csak két extrém. A felhasználói módú programok CPL 3-mal, a kernel pedig CPL 0-val futnak. Ezt a két szintet gyakran "3. gyűrűnek", illetve "0. gyűrűnek" nevezik. Ez a tervezési döntés azért született, hogy biztosítsa a kód hordozhatóságát olyan RISC platformokra, amelyek csak két jogosultsági szintet támogatnak, bár ez sérti az OS/2 alkalmazásokkal való kompatibilitást, amelyek I/O jogosultsági szegmenseket tartalmaznak, amelyek megpróbálják közvetlenül elérni a hardvert.

a kernel mód executive szolgáltatásokból áll, amelyek számos modulból állnak, amelyek bizonyos feladatokat hajtanak végre: kernel illesztőprogramok, maga a kernel és a hardver absztrakciós szint (HAL).

Alkalmazás

A Windows Executive szolgáltatások a kernel mód alacsony szintű részét képezik, és az NTOSKRNL tartalmazza.EXE fájl. Ez vonatkozik az I / O-ra, az objektumkezelésre, a biztonságra és a folyamatkezelésre. Több alrendszerre vannak felosztva, amelyek között a Cache Manager, a Configuration Manager, az I/O Manager, a Local Procedure Call (LPC), a Memory Manager, a Process Structure and Security Monitoring Monitor (SRM) különleges szerepet játszik. Csoportosítva komponensek nevezhetjük executive services (belső Ex neve). A rendszerszolgáltatások (nt belső név), vagyis a rendszerhívások szintén ezen a szinten valósulnak meg, kivéve nagyon kevés, amely közvetlenül a kernel szintjéhez fér hozzá a teljesítmény javítása érdekében.

a windows kernel architektúrája

A "szolgáltatás" kifejezés ebben az összefüggésben általában egy szubrutin hívására vagy egy sor szubrutin hívására utal. Ez eltér a "szolgáltatási folyamat" fogalmától, amely egy felhasználói módú összetevő, amely némileg hasonló a UNIX-szerű operációs rendszerek demonstrációjához. Ez építészeti funkció a Windows 10 és az összes korábbi disztribúció kernelei.

Objektumkezelő

Az Objektumkezelő (ob belső név) egy végrehajtó alrendszer, amelyen keresztül az összes többi ilyen alrendszernek át kell mennie, különösen a rendszerhívásoknak A Windows NT erőforrások elérése érdekében, ami valójában erőforrás-kezelési infrastruktúra-szolgáltatássá teszi. Az Objektumkezelő az erőforrás-kezelési funkciók megkettőzésének csökkentésére szolgál más végrehajtó alrendszerekben, ami hibákhoz vezethet, és bonyolítja a Windows NT fejlesztését.

Ennél a kezelőnél minden erőforrás objektum, függetlenül attól, hogy fizikai (például fájlrendszer vagy perifériás eszköz) vagy logikai (például fájl). Minden objektumnak van egy szerkezete vagy típusa, amelyről az Ob-nek tudnia kell.

Objektum létrehozása A Windows operációs rendszer architektúrájában egy olyan folyamat, amely két szakaszban zajlik - létrehozás és beillesztés. A létrehozás egy üres objektum lefoglalását, valamint a diszpécser által igényelt erőforrások lefoglalását okozza, például (nem kötelező) a névtér. Ha sikeres volt, a létrehozásért felelős alrendszer kitölti az üres objektumot. Végül, ha az alrendszer sikeresnek tartja az inicializálást, utasítja az objektumkezelőt egy objektum beszúrására, amely elérhetővé teszi azt a nevén vagy egy leírónak nevezett cookie-n keresztül. Ettől a pillanattól kezdve az objektum élettartamát a menedzser dolgozza fel, és az alrendszernek működőképes állapotban kell tartania, amíg az Ob nem jelenti az eltávolítását.

a leírók olyan azonosítók, amelyek átlátszatlan értéken keresztül hivatkoznak egy kernel erőforrásra. Hasonlóképpen, az objektum nevének megnyitását biztonsági ellenőrzéseknek vetik alá, de a meglévő nyitott fogantyún keresztüli műveletet csak az objektum megnyitásakor vagy létrehozásakor kért hozzáférési szint korlátozza.

windows 8 architektúra 1

Az Objektumtípusok meghatározzák az eljárásokat és az arra jellemző adatokat. Így az Ob lehetővé teszi, hogy a Windows NT objektumorientált operációs rendszer legyen, mivel az Objektumtípusok megtekinthetők mint polimorf objektumokat meghatározó osztályok. A legtöbb alrendszer azonban, az I/O kezelő figyelemre méltó kivétellel, az összes eljárás alapértelmezett megvalósítására támaszkodik.

A létrehozott objektum minden példánya tárolja saját neve, , az objektum létrehozási függvénynek átadott paraméterek, biztonsági attribútumok és a típusára mutató mutató.

Gyorsítótár Vezérlő

A Windows 7 és más verziók architektúrájának ez az eleme szorosan összehangolódik a memóriakezelővel, a diszpécserrel és az I / O illesztőprogramokkal, hogy közös gyorsítótárat biztosítson a normál fájl I/O számára. A Windows gyorsítótár-kezelő fájlblokkokkal (nem pedig eszközblokkokkal) működik a helyi és távoli fájlok következetes működése érdekében, és bizonyos fokú összhangot biztosít a memóriában betöltött adatok megjelenítésével.

I / O Menedzser

A Windows 10 és korábbi verziók architektúrájának ezen összetevője lehetővé teszi az eszközök számára, hogy kommunikáljanak a felhasználói módú alrendszerekkel. A felhasználói módú olvasási és írási parancsokat IRP-be fordítja, amelyet az eszközillesztőknek továbbít. Elfogadja a fájlrendszer I / O kéréseit, és eszközspecifikus hívásokká alakítja őket, és tartalmazhat alacsony szintű illesztőprogramokat, amelyek közvetlenül manipulálják a hardvert az olvasáshoz vagy az I/O-hoz. Tartalmaz egy gyorsítótár-kezelőt is, amely javítja a lemez teljesítményét azáltal, hogy gyorsítótárazza a lemez olvasási és írási kéréseit a háttérben.

Helyi eljáráshívás (LPC)

A Windows 10 architektúrájának ez a szerkezeti része (és az összes korai disztribúció) portokat biztosít a folyamatok közötti kommunikációhoz a kapcsolati szemantikával. Az LPC portokat a felhasználói módú alrendszerek használják az ügyfelekkel való kommunikációra, az Executive alrendszerek a felhasználói módú alrendszerekkel való kommunikációra, valamint az alapja helyi szállítás a Microsoft RPC számára.

Memory Manager

A Windows 8 architektúra ezen eleme.1 és más verziók kezeli a virtuális memória, a védelem és a lapozás a fizikai és a másodlagos. Így egy univerzális fizikai memória allokátort valósít meg. Azt is létrehoz egy elemző PE futtatható, amelyek lehetővé teszik a végrehajtható megjeleníthető vagy nem jelenik meg egy atomi lépésben.

Windows NT Server 4.0, Terminálkiszolgáló kiadás, a memóriakezelő végrehajtja az úgynevezett munkamenetterületet, a kernel módú memória tartományát, amely a kontextusváltásnak van kitéve, ugyanúgy, mint a felhasználói módú memória. Ez lehetővé teszi, hogy a Win32 kernel módú alrendszer és a GDI illesztőprogramok több példánya egymás mellett működjön, az eredeti kialakítás hibái ellenére. Minden munkamenetet több folyamat oszt meg, amelyeket együttesen "munkamenetnek"neveznek.

Annak érdekében, hogy bizonyos fokú elszigeteltséget biztosítson a munkamenetek között anélkül, hogy új típusú objektumot vezetne be, a security link monitor a folyamatok és munkamenetek közötti kommunikációt a biztonsági tárgy (token) attribútumaként kezeli, és csak speciális jogosultságok esetén változtatható meg.

A munkamenetek viszonylag egyszerű és különleges jellege annak köszönhető, hogy nem voltak az eredeti projekt részei, és a fővonal minimális megszakításával kellett kifejleszteni egy harmadik fél (Citrix Systems), amely a Windows NT terminálkiszolgáló termékének, a WinFrame-nek az előfeltétele.

A Windows Vista architektúrától kezdve azonban a munkamenetek végre megfelelő aspektusává váltak. Már nem olyan memóriakezelő konstrukció, amely a Win32-En keresztül közvetetten felhasználói módra vált, hanem egy átfogó absztrakcióvá bővült, amely a legtöbb végrehajtó alrendszert érinti. Valójában a Windows Vista rendszeres használata mindig több munkamenetű környezethez vezet.

Folyamat felépítése

A Windows 7 operációs rendszer architektúrájának ez az eleme (és más változatok) kezeli a folyamatok és szálak létrehozását és megszüntetését, valamint megvalósítja a Job fogalmát, a folyamatok csoportjait, amelyek egészében vagy közös korlátok alá helyezhetők (például a teljes maximális lefoglalt memória vagy CPU idő). A feladatobjektumokat a Windows 2000 rendszerben vezették be.

PNP Menedzser

Kezeli és támogatja az eszközök felderítését és telepítését a rendszerindítás során. Az eszközök igény szerinti leállításáért és indításáért is felelős - ez akkor fordulhat elő, ha egy busz (például USB vagy IEEE 1394 FireWire) új eszközt szerez be, amelynek támogatásához illesztőprogramot kell letölteni. Fő része valójában felhasználói módban, a Plug and Play szolgáltatásban valósul meg, amely gyakran komplex feladatokat lát el a megfelelő illesztőprogramok telepítésével, a szolgáltatások és alkalmazások értesítésével az új eszközök megjelenítéséről és a grafikus felhasználói felület megjelenítéséről.

Power Manager

Működik teljesítmény események (kikapcsolás, Készenlét, alvó üzemmód,. stb..) és értesíti az érintett illesztőprogramokat speciális IRP-K (Power IRP)használatával. Az ő szerepe egy kontroll.

Biztonsági Monitoring Monitor (SRM)

Az integrált biztonsági alrendszer biztonsági szabályainak betartását biztosító fő szerv. Meghatározza, hogy egy objektum vagy erőforrás elérhető-e hozzáférés-vezérlési listák (ACL-ek) segítségével, amelyek maguk is hozzáférés-vezérlési rekordokból (ACE)állnak. Az ACES tartalmaz egy biztonsági azonosítót (Sid), valamint azon műveletek listáját, amelyeket az ACE biztosít a kiválasztott csoportnak - felhasználói fiók, csoport vagy bejelentkezési munkamenet - engedély (engedélyezés, megtagadás vagy ellenőrzés végrehajtása) ehhez az erőforráshoz.

GDI

A grafikus eszköz interfésze felelős olyan feladatokért, mint a vonalak és görbék rajzolása, betűtípusok rajzolása és paletták feldolgozása. A Windows NT 3 sorozat kiadásaiban.x a GDI komponens felhasználói módban került a kliens/szerver alrendszerbe, de az architektúrában kernel módra váltott Windows operációs rendszer NT 4.0 a grafikus teljesítmény javítása érdekében.

A mag

A kernel a Windows operációs rendszer architektúrájában a hal és az Executive között helyezkedik el, és többprocesszoros szinkronizálást, a szálak és megszakítások ütemezését és diszpécserét, valamint a megszakítások kezelését és a kivétel diszpécserét biztosítja. Felelős az eszközillesztők indításakor történő inicializálásáért is, amely szükséges, hogy futás operációs rendszer. Vagyis a kernel a hagyományos mikrokernel szinte minden feladatát elvégzi. Az Executive és a Kernel közötti szigorú különbség az eredeti mikrokernel projekt legszembetűnőbb maradványa, és a történelmi tervdokumentáció következetesen "mikrokernelnek"nevezi a kernel komponenst.

A kernel gyakran együttműködik a folyamatkezelővel. Az absztrakció szintje olyan, hogy soha nem utal a folyamatkezelőre, hanem csak fordítva (néhány atipikus eset kivételével, amelyek soha nem érik el a funkcionális függőséget).

Cikkek a témában