A főbb rendelkezéseit mikrokernel építészet
Mikrokernel építészet egyik alternatívája a fenti klasszikus módja az épület az operációs rendszer. Szemben a hagyományos építészet, amely szerint az operációs rendszer egy monolitikus kernel valósítja alapvető hardver erőforrás menedzsment funkciók és rendezése környezet végrehajtó felhasználó feldolgozza mikrokernel építészet forgalmaz OS funkciók között mikrokernel és annak részét képező operációs rendszer rendszerszintű szolgáltatások, megvalósítva feldolgozza peer egyéni alkalmazásokkal.
Tekintsük a koncepció az épület az OS mikrokernel építészet. A fő jellemzője ennek a megközelítésnek, hogy a privilegizált üzemmód továbbra is csak egy nagyon kis része az operációs rendszer, az úgynevezett rendre mikrokernel. A mikrokernel védve van a többi operációs rendszer és a felhasználói alkalmazások. Állítsa egy részét mikrokernel funkcionál szabály megfelel az alapréteg a szokásos módszereket a mag, míg a mikrokernel magában nem minden alapvető funkciókat a kernel, de csak a folyamat-menedzsment, megszakítás kezelő, a virtuális memória kezelése, üzenetek továbbítása, ellenőrzés bemeneti és kimeneti eszközök. Ahhoz, hogy ilyen feladatokat az operációs rendszer szinte lehetetlen végrehajtani a felhasználói módban. Minden gépfüggő operációs rendszer modul is szerepel a mikrokernel.
Nem szerepel a magas szintű funkciók mikrokernel és kernel modulok készülnek formájában önálló futó alkalmazások felhasználói módban. Ugyanakkor az OS fejlesztő esik messze egyedülálló feladata eldönteni, a modulok fog futni privilegizált módban, amit a felhasználó. Általános szabály, hogy ezt a döntést nagyban befolyásolja a sajátosságait az ezzel az operációs rendszer és a kritériumokat, amelyeket meg kell felelnie. Általában sok erőforrás menedzserek, amelyek szerves része a rendszermag a klasszikus építészet, kívül maradnak a mikrokernel és fut a felhasználói módban. Az ábrán látható, jelentős különbségek az épület egy monolitikus kernel OS (lásd. Ábra. 5a) és egy mikrokernel építészet (lásd. Ábra. 5b).
Ábra. 5. A szerkezet az operációs rendszer egy monolitikus kernel és egy mikrokernel architektúra
erőforrás menedzserek működő felhasználói módban alapvető különbségek vannak a hagyományos közművek és az operációs rendszer feldolgozó operációs rendszer programok, bár a mikrokernel építészet, mindezek szoftver komponenseket is tervezték formájában alkalmazásokat. Eszközök és megmunkálási programot, amit elsődlegesen a felhasználók. A helyzet, amikor egy alkalmazás megköveteli a végrehajtás a más alkalmazások, amelyek rendkívül ritka, így az operációs rendszer a klasszikus építészet nem létezik olyan mechanizmus, amellyel egyetlen alkalmazás okozna a funkciók a többi. Alapvetően más a helyzet akkor abban az esetben formájában egy normális alkalmazás készül része az operációs rendszer. A meghatározás szerint a fő célja ennek alkalmazás szolgáltatási kérések más alkalmazások, mint például a folyamat létrehozása, memória kiosztás, ellenőrizze hozzáférési jogokat források, stb Emiatt válik a felhasználói módban erőforrás menedzserek OS szervereket. azaz olyan egységek, amelyek fő célja - szolgáltatást kéri a helyi alkalmazások és egyéb működési egységek. Nyilvánvaló, hogy a végrehajtás mikrokernel építészet biztosítania kell, hogy az operációs rendszer kényelmes és hatékony módja eljárás hívás egy másik folyamat. Támogatás ilyen mechanizmus egyik fő feladatok a mikrokernel OS.
Vegyünk egy tipikus példája a szervezet kérelmek kezelése mechanizmus funkcióit az operációs rendszer, amelynek célja a formájában a szerveren (lásd. Ábra. 6.).
6. ábra. A rendszer végrehajtására hívást az operációs rendszer egy mikrokernel építészet
Nézzük meg, hogyan, hogy a gyakorlatban alkalmazott fogalma az épület az OS mikrokernel építészet.
Az egyik első bevezette a Next mikrokernel cég, amely korábban a számítógépek Mach rendszer utolsó hosszú út a fejlődés a Carnegie Mellon Egyetem közreműködésével a US Department of Defense. Elméletileg a kis kiváltságos mag körül egy felhasználói módú szolgáltatás, az volt, hogy soha nem látott rugalmasságot és modularitás. A gyakorlatban azonban ez az előny némileg csökkent, mert az operációs rendszer UNIX BSD 4.3 monolit futtatják a felhasználói térben egy mikrokernel Mach. Tekintettel azonban arra, Mach Következő lehetőséget, hogy üzenetküldő szolgáltatás, és az objektum-orientált eszközök hozzák a fogyasztók formájában elegáns felhasználói felület grafikus támogatja a hálózati konfiguráció, rendszerfelügyelet és szoftverfejlesztés.
Több modern mikrokernel építészet javasoltak Novell, USL, Open Software Foundation, az IBM, az Apple, és mások. Az egyik fő versenyző az NT-s része mikronukleuszok egy mikrokernel Mach 3.0, amely az IBM, jöttek OSF és vezet a kereskedelmi típus. A fő riválisa Mach - Kórus 3,0 mikrokernel cég Chorus Systems USL választották alapján a javaslatokat. Ez mikrokernel fogják használni, hogy a Sun SpringOS - objektum-orientált utódja OS Solaris.
Ma már világossá vált, hogy van egy tendencia, hogy a monolitikus rendszerek használata felé kisebb atommagok. Ez a megközelítés már használt QNX Software és a Unisys, több éve sikeresen szállított OS alapuló mikrokernel. OS cég QNX Software QNX szolgál piac valós idejű rendszerek, és az operációs rendszer CTOS cég Unisys népszerű területén a banki.
Most tekintsük az alapfogalmak építése a két legnépszerűbb rendszerek: Windows NT és UNIX alapú rendszerek alapuló mikrokernel Mach.
Sok UNIX-szerű rendszerek alapjául az építési kiválasztott mikrokernel Mach. Prototípus kifejlesztése ez a struktúra 1975 óta a Carnegie Mellon Egyetemen. Ennek alapján a Mach mikrokernel versenyez UNIX és más operációs rendszerek. Mach kernel memória kezelése, a kommunikáció, és az input-output függvényében a folyamatot. Az ötlet az épület egy Mach kernel, hogy mechanizmusokat szükséges a rendszert, de a stratégia segítségével ezek a mechanizmusok végrehajtása szintjén felhasználói folyamatok. A kernel kezeli öt fő absztrakciók:
Közötti kommunikációt a Mach alapul üzenetek továbbítására. Annak érdekében, hogy az üzenet, a felhasználói folyamat kéri a kernel, hogy hozzon létre egy biztonságos postafiók, hogy az úgynevezett port. A port a magban tárolt és képes támogatni a megrendelt üzenetek listáját. A várólisták nincs fix hosszúságú, de annak érdekében, hogy ellenőrizzék az áramlás minden port külön meghatározott küszöbértéket n üzeneteket, úgy, hogy minden folyamat próbál küldeni egy másik üzenetet a sor hossza n, fel van függesztve, így a lehetőséget, hogy megtisztítja a port.
Minden folyamatot lehetőséget nyújthat arra, hogy egy másik folyamat küldeni (vagy fogadni) üzeneteket egyik port hozzá tartozó. Ez a lehetőség formájában valósul megbízatás (képesség), amely magában foglalja nemcsak a mutatót a port, hanem egy listát a jogokat, amelyeket egy másik folyamat vonatkozásában a port (például a jogot, hogy valamely művelet küldeni - send). Minden kommunikatív-sének Mach használja ezt a mechanizmust. A fő cél által meghatározott magfejlesztõk a kommunikációs eszköz a Mach, az volt, hogy támogassa a különböző kommunikációs stílusok, együtt a megbízhatóság és a rugalmasság. Kommunikációs eszközök Mach kernel támogatja az aszinkron üzenetküldés, a mechanizmus végrehajtásához elosztott számítási, a byte-folyam (stream) és egyéb módszereket.
Bár az ismertetett megvalósítások UNIX programozási eljárás, és úgy tűnik zavaros, számos vizsgálat kimutatta, hogy ez jobban működik, mint a hagyományos monolitikus kernel végrehajtását. A további munka a Mach fog összpontosítani szétválasztása UNIX szerver több szerver több speciális funkciók.
Windows NT operációs rendszer célja az volt elejétől a Microsoft fejlesztők figyelembe véve az összes vonatkozó követelmények a modern operációs rendszer. A fejlesztés a szerkezete nagymértékben mikrokernel fogalmát használjuk. Ennek megfelelően a gondolat, az operációs rendszer van osztva több alrendszerek, amelyek mindegyike végez egy sor különböző szolgáltatási funkciók, mint például a raktározás, hogy hozzon létre egy folyamat vagy folyamatok tervezése. Minden szerver fut a felhasználói módban elvégzésével ciklus ügyfél kérésére hitelesítési egyik szolgáltató funkciók. A kliens, ami lehet bármely más operációs rendszer összetevő vagy alkalmazás programot kér szolgáltatást egy üzenetet küld a szerverre. A mikrokernel operációs rendszer, működő kiváltságos állapotban kézbesíti az üzenetet a kívánt szerverre, akkor a szerver végzi a műveletet, akkor a kernel visszaadja az eredményt a kliens egy másik üzenetet.
Szerkezetileg, a Windows NT is képviselteti formájában két részből áll: az a része az operációs rendszer fut a felhasználói módban, és része az operációs rendszer kernel módban.
Része dolgozik kernel módban, az úgynevezett végrehajtó Windows NT - a végrehajtó része. Ez magában foglalja a komponensek száma, amelyek kezelik a virtuális memória objektumok (erőforrások), input-output, a fájlrendszer (beleértve a hálózati meghajtók) a kapott folyamatok, részben a biztonsági rendszer. Ezeket a komponenseket érintkeztetjük keresztül egymással inter-modul kapcsolatot. Mindegyik komponenst okoz más segítségével egy sor gondosan meghatározott belső eljárások.
A második rész, futó felhasználói módban, hogy szerverek - védett alrendszer Windows NT. Windows NT szerverek úgynevezett védett, hiszen mindegyikük végre egy külön folyamat, amelynek memória elkülönül más folyamatok virtuális memória NT vezetői ellenőrzési rendszer. Mivel alrendszer nem automatikusan megosztani memóriát, akkor kommunikálnak egymással üzenetek küldésével. Üzenetet küldenek a kliens és szerver között, és a kettő között szervereket. Minden üzenet megy át a végrehajtó része a Windows NT.
Támogatja a biztonságos alrendszerek biztosít a végrehajtó rész - Windows NT végrehajtó, aki dolgozik, a tér egy mikrokernel és soha lemezre kiírni. Elemei:
1) a tárgy vezetője, létrehoz, töröl és irányító tárgyak NT executive - absztrakt adattípusok ábrázolására használt a rendszer erőforrás;
2) biztonsági monitor, szabályok megállapításánál a számítógép védelmét. Védi OS források, védelmet nyújt és nyilvántartási végrehajtható;
3) egy folyamat vezetője, létrehozása és lezárása szuszpendáló és megújulási folyamatok, és tárolja a velük kapcsolatos információk;
4) a virtuális memória menedzser;
5) IO alrendszer, amely a következő összetevőket tartalmazza:
- IO menedzser, amelyben a bemeneti-kimeneti eszközöket, független a készülékek;
- fájlrendszerek - NT-vezetők működnek file-orientált kérelmek bemeneti és kimeneti és továbbítja azokat a kihívásokra hagyományos eszközök;
- A hálózati átirányító és a hálózati szerver - fájlrendszer vezetők, távjelzést kérelmek bemeneti és kimeneti a gép a hálózaton, és kap kéréseket őket;
- NT executive eszközmeghajtók - az alacsony szintű vezetők közvetlenül szabályozzák eszköz;
- Cache Manager, végrehajtja caching lemezen.
A végrehajtó része viszont alapul alacsonyabb szintű szolgáltatást mikrokernel NT. A mikrokernel jellemzői a következők:
- feldolgozás megszakítások és kivételek;
- szinkronizálás processzorok többprocesszoros rendszerek;
- Disaster Recovery rendszer.
Mikrokernel fut kernel módban, és soha nem törlődik a memóriából. Lásd ez csak akkor lehetséges, megszakítás. A mikrokernel felett elhelyezett HAL (Hardver absztrakciós szinten, HAL), amely koncentrál egy helyen a gép legtöbb függő eljárások. HAL között található NT végrehajtó és a hardver és olyan részleteket tartalmaz, például megszakítás vezérlők, input-output interfészek és mechanizmusok között a feldolgozók. Ez a megoldás lehetővé teszi, hogy könnyen át Windows NT az egyik platformról a másikra helyett csak a HAL réteget.
Amikor létrehoz egy NT fejlesztők irányított feladatok növelik a termelékenységet és hálózatépítési lehetőségeket, valamint azt a követelményt, hogy támogassa egy bizonyos meghatározott alkalmazási környezetben. Ezt a célt sikerült elérni szándékos feladatok elválasztása a modulok és egyéb modulok mikrokernel. Például az adattovábbítás a fájlrendszer és a hálózat gyorsabb térben mikrokernel, így az NT mikrokernel puffert kiosztani a kisméretű (16-32 KB) olvasási és írási műveletek, amelyek jellemzően a kliens-szerver alkalmazások és elosztott alkalmazások. A helyszín ezek input-output funkciókat belül mikrokernel lehet elrontani a tudományos, hanem összhangban létrehozásának célja NT.
Biztonságos Windows NT alrendszerek működnek felhasználói módban, és a Windows NT operációs rendszer alatt létrehozott csomagtartó. Közvetlenül azután, hogy kezdeni egy végtelen ciklus annak végrehajtását, válaszol küldött üzeneteket az esetükben alkalmazandó eljárások és egyéb alrendszerek. Között a védett alrendszerek lehet azonosítani alosztály nevezett környezet alrendszerei. környezet alrendszer végrehajtási OS felhasználói felületek (API). Más típusú alrendszerek, az úgynevezett integrált alrendszerek, végezze el a szükséges funkciókat az operációs rendszer. Például a legtöbb Windows NT biztonsági rendszer van megvalósítva egy integrált alrendszer, hálózati szerverek is tervezték, mint az integrált alrendszerek.
A legfontosabb alrendszer a Win32 környezet - egy olyan rendszer, amely hozzáférést biztosít az alkalmazások számára a 32 bites Windows API-t. Ezen túlmenően, ez a rendszer grafikus felhasználói felület és vezérli az input-output felhasználói adatokat. Ugyancsak támogatja a POSIX alrendszer, OS / 2, 16-bites Windows és MS-DOS.
Minden védett alrendszer futó felhasználói módban, ami a rendszer szolgáltatás NT executive elvégzésére privilegizált műveletek magmódban. Hálózati szerverek is végre lehet hajtani a felhasználói módban vagy kernel módban, attól függően, hogyan vannak kialakítva.
Az alrendszerek egymással kommunikálni üzenetek küldésével. Ha például a felhasználói alkalmazás kéri néhány az API-eljárás környezet alrendszerrel, amely ezt az eljárást veszi az üzenetet és elkezd dolgozni, vagy utalva a mikro-kernel, vagy küld egy üzenetet egy másik alrendszer. Befejezése után az eljárás alkalmazási környezet alrendszer küld egy üzenetet, amely a visszatérési érték. Üzenetek küldésére és egyéb tevékenységek védett alrendszerek láthatatlan a felhasználó számára.
Az elsődleges eszköze ragasztás összes alrendszert a Windows NT egy egységes egész, a mechanizmus a helyi eljáráshívás (Local Procedure Call, LPC). LPC egy optimalizált változata az általános eszközöket - RPC (Remote Procedure Call, RPC), amelyet használnak a kommunikáció az ügyfelek és kiszolgálók található különböző gépek a hálózaton.
LPC jelent több üzemmódot támogató adatátviteli ügyfelek és kiszolgálók közötti, az egyik általában a rövid üzenetek továbbítására, a másik - a hosszú üzeneteket és a harmadik kifejezetten használatra optimalizáltak Win32 alrendszer. Mindegyik alrendszer meghatározza a port - egy kommunikációs csatorna, amelyen keresztül képes kommunikálni más folyamatok.
Windows NT használó biztonságos alrendszeren:
- biztosítja több alkalmazás programozási interfészek (API), amennyire csak lehetséges anélkül, hogy bonyolultabbá, ahol a bázis kódot (NT végrehajtó);
- izolálja a alap OS a módosítások vagy kiterjesztését az API által támogatott;
- kombinálni része a globális szükséges adatok minden API, és ugyanabban az időben, hogy külön a felhasznált adatok által az egyes API API egyéb adatok;
- a környezet védelme az egyes API alkalmazás és a környezet más API, valamint védik a alap OS különböző környezetekben;
- lehetővé teszi az operációs rendszer fog növekedni a jövőben az új API-t.
Így, a végrehajtás része az operációs rendszer formájában futtatják felhasználói módban, elengedhetetlen része a Windows NT projekt alapvető hatással van az egész rendszer.
NT mikrokernel főleg a hordozón segítségével a fő része az operációs rendszer - egy sor felhasználói környezetben. A koncentráció gép-specifikus programok keretében a mikrokernel teszi NT migráció a különböző processzorok viszonylag könnyű. De míg néhány mikrokernel (Mach és Chorus) elvárható, hogy egy külön szoftver termék a Windows NT operációs rendszer kernel nem valószínű, hogy egészítsék ki az egyéni használatra. Ez az egyik oka annak, hogy egyes szakértők nem hisznek a Windows NT igaz mikrokernel operációs rendszer, abban az értelemben, amelyben ezek a Mach és kórus. Ugyanezek a kritikusok is megjegyezni, hogy az NT nem zárja ki, mint amilyennek lennie kellene, az összes felfüggesztett szolgáltatás kerneltérben, és hogy az NT eszközmeghajtók minimális kölcsönhatásba a mikrokernel, inkább, hogy közvetlenül a mögöttes hardver absztrakciós réteg alatti réteget.