Monolitikus rendszermag
A monolitikus rendszermag egy operációsrendszer-architektúra, melyen az egész operációs rendszer alapszik úgy, hogy a kernelterületen működik kizárólag supervisor (felügyelő) módban.
A monolitikus különbözik más operációsrendszer-architektúráktól (mint pl. a mikrokernel architektúra)[1][2] abban a tekintetben, hogy kizárólag egy magas szintű virtuális felületet definiál a számítógép hardvere felett. Ez lehet primitivek egy halmaza vagy rendszerhívások azért, hogy végrehajtsák az operációs rendszer összes szolgáltatását, azaz a folyamatkezelést, párhuzamosságot, és memóriakezelést. Ehhez szükséges önmaga s egy vagy több eszközmeghajtó mint modul.
Betölthető modulok
[szerkesztés]A moduláris operációs rendszerek, mint pl. OS-9 s a legtöbb korszerű monolitikus operációs rendszer, mint pl. OpenVMS, Linux, BSD (és ezek változatai a FreeBSD, NetBSD, OpenBSD), és UNIX változatok, mint pl. a SunOS, és az AIX, azonkívül a MULTICS képes dinamikusan betölteni (s eltávolítani) a végrehajtható modulokat futásidőben. Az operációs rendszer e modularitása a bináris (kép) szinten van, s nem az architektúra szinten. A moduláris monolitikus operációs rendszereket nem szabad összekeverni az architekturális szintű modularitással, amely velejárója a mikrokernelű (ügyfél-kiszolgáló) operációs rendszereknek (s leszármazottja, melyeket néha hibrid kernelnek neveznek), amelyek mikrokernelt használnak, kiszolgálókkal (nem szabad összekeverni hibásan a modulokat a daemonokkal). Gyakorlatilag a dinamikusan betöltött modulok egyszerűen egy sokkal rugalmasabb módja az operációs rendszer képkezelésének futási idő alatt – ellentétben mintha újra kéne indítani más rendszerképpel. A modulok lehetővé teszik az operációs rendszer képességeinek könnyű kibővítését igény szerint. A dinamikusan betölthető modulok kevés többletköltséget jelentenek összevetve azzal, hogy a modult beépítették volna az operációsrendszer-képbe. Mindamellett sok esetben a modul dinamikus betöltése (szükség szerint) segít, hogy a megfelelő minimális mennyiségű kód tudjon futni a kernelterületen, pl. ha az operációs rendszer méretét minimalizálni szeretnénk a beágyazott rendszerekben vagy korlátos hardvererőforrásokban. Tehát egy eltávolított modult nem szükséges tárolni az amúgy is kevés rendelkezésre álló RAM-ban.
Monolitikus architektúrára példák
[szerkesztés]- Unix-kernelek
- Unix-szerű kernelek
- DOS
- DR-DOS
- MS-DOS
- Microsoft Windows 9x sorozat (95, 98, Windows 98 SE, Me)
- OpenVMS
- XTS-400
Megvalósítás Linuxban
[szerkesztés]A monolitikus rendszermag lényege a floders szintű láncolás s a secmod virtuális magrendszere. Kezdetekben az mnt – azaz médiakönyvtár mappaszintjéből működő emulált láncoltmappa-linkrendszer –, ami a fejlesztések során kapott kriptográfiai secmodot – ami egy titkosító-tömörítő programkimeneti állomány volt (lehetett volna akár ZIP, RAR, TAR.GZ, GZ, bármi) – ez mint a RAM-lemez, emulált mag szinten működött, gyakorlatilag hasonlított az első live rendszermag tulajdonságaihoz.
Kapcsolódó szócikkek
[szerkesztés]Jegyzetek
[szerkesztés]- ↑ Modular system programming in Minix3
- ↑ Server-Client, or layered structure. The Design of PARAS Microkernel. [2010. július 17-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. július 15.)