Operációs rendszer architektúra - studopediya
Az architektúra az operációs rendszer, hogy megértsék a strukturális és funkcionális megszervezése az operációs rendszer alapja egy sor szoftver modulokat. A szerkezet az operációs rendszer tartalmazza a futtatható és tárgymodult szabványos formátumokat OS, szoftver modul egyedi méret (például az operációs rendszer betöltő, input-output vezetők), konfigurációs fájlokat dokumentációs fájlok segítségével a rendszer modulok, stb
Az architektúra a korábbi operációs rendszerek kevés figyelmet: először is, senki nem volt semmilyen tapasztalata a fejlesztés nagy szoftver rendszerek, másrészt a probléma a kölcsönös függőség és kölcsönhatás modulok alábecsülni. Ilyen monolitikus OS, szinte minden eljárás okozhat egymást. Ez hiányzik a szerkezet összeegyeztethetetlen volt a bővítés operációs rendszereket. Az első változat az operációs rendszer OS / 360-ben hozták létre a csapat, 5000 ember 5 éven túli, benne több mint 1 millió sornyi kódot. Kifejlesztett újabb operációs rendszer Gittek már szereplő 20 millió soros godu hogy 1975-ben [17]. Világossá vált, hogy a fejlődés az ilyen rendszerek alapján kell moduláris programozás.
A legtöbb modern operációs rendszerek jól strukturált, moduláris rendszerek, amelyek képesek fejlesztése, bővítése, a migráció és az új platformon. Egy egységes architektúra az operációs rendszer nem létezik, de ismert univerzális megközelítések strukturálása az operációs rendszer. Alapvető fontosságú az egyetemes megközelítés fejlesztése az OS építészet [5. 10. 13. 17]:
- moduláris szerveződése;
- funkcionális redundancia;
- funkcionális szelektivitást;
- parametrikus rugalmasság;
- többszintű hierarchikus koncepció egy számítógépes rendszer operációs rendszer úgy tűnik, hogy a többrétegű szerkezet;
- modulus szétválasztás két csoport funkciója: mag - modulok, hogy hajtsa végre az alapvető OS funkciókat, és a modulokat, hogy végre segédfunkciók az OS;
- OS osztály két csoportra a modulok elhelyezése a számítógépes rendszer memória: rezidens, tartózkodó fő memória, és a tranzit hogy betöltődik a memóriába csak a pótlása annak funkcióját;
- végre két üzemmódban számítási rendszer: privilegizált módban (kernel mode - Kernel módban), vagy a felügyeleti mód (supervisor mód), és a felhasználói módban (felhasználói mód), vagy a feladat módban (feladat módban);
- korlátozó alapvető funkciók (és ennélfogva a számát rendszermag modul), amíg a minimális összeget szükséges a legfontosabb funkciókat.
Az első operációs rendszer célja, mint a monolitikus rendszer nélkül egyértelműen meghatározott szerkezetű (ábra. 1.2).
A konstrukció a monolit rendszert kell összeállítani az összes egyedi eljárások, majd azok összekötésére egyetlen objektum fájl A linker révén (példák közé tartoznak a korai változatát UNIX kernel vagy a Novell NetWare). Mindkét eljárás lát más eljárással (ellentétben a szerkezet modulokat tartalmaz, amelyben az információk többsége helyi a modul és a modul eljárások csak akkor hívják egy speciálisan kijelölt belépési pont).
Azonban még ezek monolitikus rendszer lehet egy kicsit strukturált. Amikor belép a rendszer hívásokat által támogatott operációs paramétereket szigorúan megakadályozzák bizonyos helyeken, mint például a nyilvántartások vagy a verem, majd fut egy különleges interrupt parancs, vagyis a kernel hívás vagy felügyelő hívást. Ez a parancs bekapcsolja a gépet felhasználói mód a kernel módban is nevezik felügyelő módban és továbbítja az operációs rendszer ellenőrzése. Ezután az operációs rendszer ellenőrzi a hívási paraméterek, hogy melyik rendszer hívás végre kell hajtani. Ezt követően, az operációs rendszer index táblázat hivatkozásokat tartalmazó eljárással, és felszólítja a megfelelő eljárást.
Ábra. 1.2. monolit építészet
Ez a szervezet az operációs rendszer feltételezi, szerkezete a következő [13]:
- főprogram, ami a szükséges eljárásokban;
- sor szolgáltatás eljárások esetén, amelyek a rendszer kéri;
- egy sor segédprogramok szolgáló szolgáltatás eljárásokat.
Ebben a modellben, van egy szolgáltatás eljárást mindegyik rendszer hívást. Utilities feladatok elvégzésére, hogy kell egy kis szervizelés eljárásokat. Ez a felosztás a eljárások három rétegből ábrán látható. 1.3.
Klasszikus építészet tekinthető az operációs rendszer koncepciója alapján hierarchikus többszintű autó, a privilegizált kernel és felhasználói módban tranzit modulokat. Kernel modulok működnek az alap operációs rendszer funkcióit: folyamatirányítás, memória, input-output eszközök, stb A kernel az alapvető operációs rendszer, amely nélkül teljesen használhatatlan, és nem tudja ellátni az általa végzett feladatok. A lényege a probléma megoldódott belüli Computing folyamat nem áll rendelkezésre a kérelmet.
Ábra. 1.3. strukturált építészet
Különleges alapvető funkciók az osztály alkalmazások támogatására, ami számukra az úgynevezett alkalmazás programozási környezet. Alkalmazások hozzáférhetnek a kernel kérelmek - rendszer kéri -, hogy bizonyos műveleteket, például egy fájl megnyitásakor, és az olvasás, fogadja a rendszer idő, információ megjelenítése egy kijelző, stb A funkciók a kernel, ami oka lehet alkalmazások alkotnak alkalmazás programozási felület - API (Application Programming Interface).
A nagy sebességű OS kernel modulok (legalábbis többségük) belföldi és működő kiváltságos mód (Kernel módban). Ez a mód, először is meg kell védeni a munka OS zavarja alkalmazások, másrészt pedig képesnek kell lennie arra, hogy a munka kernel modul egy teljes készlet gépi utasítások, így az aktuális kernel elvégzésére számítógép kezelését, különösen a processzor váltás feladat feladat ellenőrzése input-output eszközök, memória kiosztás és védelme és mások.
A többi OS modulok nem olyan fontos funkciók, mint a kernel, és tranzit. Például, lehet, hogy a program adatok archiválására, töredezettségmentesítés, lemeztömörítő, Lemezkarbantartó, stb
Kiegészítő modulok általában két csoportra oszthatók:
Ezek működési egységek adják ki a rendszeres alkalmazás, lásd a kernel függvények rendszeren keresztül hívások kerülnek végrehajtásra a felhasználói módban (user mode). Ez a mód nem teszi egyes parancsok társított az operációs rendszer kernel funkciók (irányítás, az elosztási és a memória védelem, stb.)
A többszintű koncepciók (többrétegű) szerkezete hierarchikus OS motor is egy-egy sor rétegek. Egy ilyen elrendezés, minden réteg szolgál egy felső réteget, teljesítő neki egy sor olyan funkcióval rendelkezik, így a rétegek közötti interfész. Alapján ezeket a funkciókat, a következő magasabb réteg a hierarchiában építi funkció - kifinomultabb és erősebb, stb Ez a rendszer nagyban megkönnyíti a szervezet saját fejlesztés, Ez lehetővé teszi, hogy az első „top-down”, hogy meghatározza a funkciók rétegek és rétegek közötti interfészek és a részletes végrehajtási mozgó „alulról felfelé” -, hogy növeljék a kapacitását réteg funkcióit. Ezen túlmenően, a modulok minden réteg lehet cserélni anélkül, hogy változtatásokat más rétegek (de nem változik a rétegek közötti kapcsolódási!).
A többrétegű szerkezet a kernel ellátható, például a ábra szerinti kiviteli alakban. 1.4.
Ábra. 1.4. A többrétegű szerkezet OS
Ebben a rendszerben a következő rétegeket vannak jelölve.
Fenntarthatóságának javítására az operációs rendszer kernel egy átmenet a privilegizált módba. Így van lassításában végrehajtási rendszer hívásokat. A rendszer hívás kernel privilegizált processzor kezdeményez váltás felhasználót privilegizált módba, és amikor visszatér az alkalmazás - visszautalás. Ennek köszönhetően, van egy további késedelem a rendszer hívás feldolgozása (ábra. 1.5). Azonban ez a megoldás vált a klasszikus és használják számos operációs rendszerek (UNIX, VAX VMS, IBM OS / 390, OS / 2, stb.)
Ábra. 1.5. Feldolgozó rendszer hívás
A többrétegű többszintű klasszikus OS építészet nem mentes a problémáktól. Az a tény, hogy jelentős változások az egyik szinten nehéz lehet előrelátható hatást a szomszédos szinten. Ezen kívül számos közötti kölcsönhatások a szomszédos szintek megnehezítik biztonsága érdekében. Ezért, mint alternatívát a klasszikus változata az operációs rendszer architektúra gyakran használják mikrokernel építészet.
Ennek lényege, hogy az építészet a következő. A privilegizált módban üzemel csak egy nagyon kis része az operációs rendszer, az úgynevezett mikrokernel. A mikrokernel védve van a többi operációs rendszer és alkalmazások. Ez magában foglalja a gép-specifikus modulokat, valamint a modulok, melyek ellátják az alapvető mechanizmusának hagyományos mag. Minden más, magasabb szintű kernel függvények végrehajtása, mint a futás felhasználói módban modulokat. Például, az erőforrás-menedzserek, amelyek szerves része a normál kernel, a „periférikus” egység működik a felhasználói módban. Így egy mikrokernel építészet hagyományos elrendezése vertikális szinten helyébe vízszintes. Ezt úgy reprezentálható, mint ábrán látható. 1.6.
Külső A mikrokernel operációs rendszer összetevőit hajtják végre a szolgáltatási folyamatokat. Köztük kölcsönhatásba egyenlő partnerként üzenetküldés útján, amelyet továbbítanak a mikrokernel. Mivel a célja ezeknek a rendszer elemei a szolgáltatás iránti kérelmet a felhasználói alkalmazások, segédprogramok és feldolgozó rendszer programok erőforrás menedzserek készült felhasználói módban, az úgynevezett OS szerverek, tehát modulok, a fő cél az, hogy szolgálja kérelmeket a helyi alkalmazások és egyéb működési egységek.
Ábra. 1.6. Átmenet a mikronukleáris architektúrához
Szekvenciálisan az OS függvények elérésének mechanizmusa szerverek formájában van kialakítva. 1.7.
Ábra. 1.7. Ügyfél-kiszolgáló architektúrája
A módok megváltoztatására szolgáló rendszer egy mikrokernel-architektúrájú operációs rendszer rendszerhívásainak végrehajtása során úgy néz ki, ahogy az az 1. ábrán látható. 1.8. Az ábrán látható, hogy a rendszerhívás végrehajtását négy kapcsolási mód (4 t) kíséri, míg a klasszikus architektúra - kettő. Ennek következtében az operációs rendszernek egy mikrokernel architektúrával való megvalósítása, más dolgok egyenlősége alacsonyabb lesz, mint a klasszikus maggal rendelkező operációs rendszeré.
Ábra. 1.8. Rendszerhívás feldolgozása egy mikrokernel architektúrában
Ugyanakkor a mikronukleáris architektúra következő érdemeit is felismerik [17]:
- egységes felületek;
- a nyújthatóság egyszerűsége;
- nagyfokú rugalmasság;
- a hordozhatóság lehetősége;
- nagy megbízhatóság;
- az elosztott rendszerek támogatása;
- támogatja az objektumorientált operációs rendszert.
Paradoxnak tűnhet, de a mikronukleáris operációs rendszernek ilyen megközelítése is létezik, mint a mikrokernel csökkentése.
Az operációs rendszerek mikrokerneleinek mérete több forrásból [17], ezek az adatok a következők:
- egy tipikus mikrokernel az első generációs - 300 KB kód és 140 interfész rendszerhívások;
- microkernel OS L4 (második generáció) - 12 KByte kód és 7 rendszerhívás interfész.
A modern operációs rendszerekben az alábbi típusú magok különböztethetők meg.