Clinfowiki

A mikrokernel sematikus ábrája

A mikrokernel az operációs rendszer kernel egy minimális formája, amely néhány alapvető funkciót – avagy rendszerhívást – valósít meg, a nélkülözhetetlen operációs rendszer szolgáltatások realizálásához. Ilyenek például a címtartomány menedzsment, szál menedzsment, processzek közti kommunikáció. Minden más szolgáltatás, amely általában a kernel feladata – például hálózatkezelés – felhasználói szervereknek nevezett programok valósítanak meg. (Nem keverendő össze a szerver szó kiszolgáló jelentésével!)

Ezen koncepció későbbi kiegészítései olyan új architektúrákhoz vezettek, mint a nanokernelek, exokernelek és a hardver absztrakciós rétegek (HAL, Hardware Abstraction Layer).

A rendszermagok méretének növekedése

A korai operációs rendszerek lényegesen kisebb rendszermaggal rendelkeztek, ami részben annak volt köszönhető, hogy rendelkezésre álló memória is kevesebb volt. A számítógépek képességeinek növekedésével, a rendszermagra háruló feladatok is nőttek. A UNIX rendszer korai változatai egészen szerény méretű maggal rendelkeztek, pedig eszközmeghajtókat és fájlrendszer kezelőket is tartalmaztak. Amikor a címtartomány 16-ról 32 bitesre nőtt, a rendszermagok tervezését már nem hátráltatták a hardver szűkös korlátjai, így megkezdődött a rendszermagok méretének növekedése. (Lásd: A UNIX története).

A Berkeley UNIX (BSD) indította el a nagy kernelek korszakát. Az alaprendszeren kívül, mely a CPU-t, a merevlemezt és a nyomtatót tartalmazta, a BSD a rendszerhez hozzáadott további fájlrendszereket, egy teljes TCP/IP hálózati rendszert, és számos "virtuális" eszközt, melyek lehetővé tették a létező programoknak, hogy a hálózattal dolgozzanak.

Ez a növekedés több évtizedig folytatódott, eredményezve a UNIX, Linux és Microsoft Windows kerneleket, amik több millió sornyi kernelkódból állnak. Például a Red Hat Linux 7.1 kernelében körülbelül 2.5 millió kódsor található (összesen 30 millió), míg a Windows XP kétszer ennyi kódsorból áll.


Példák

Példák mikrokernelekre és mikrokernel alapú operációs rendszerekre:

Publikációk

  • Dan Hildebrand: An Architectural Overview of QNX, Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures – the basic QNX reference. 1992, ISBN 1-880446-42-1.
  • Tanenbaum, A., Herder, J. and Bos, H.: Can We Make Operating Systems Reliable and Secure?. 2006.
  • Black, D. L., Golub, D. B., Julin, D. P., Rashid, R. F., Draves, R. P., Dean, R. W., Forin, A., Barrera, J., Tokuda, H., Malan, G., and Bohman, D.: Microkernel Operating System Architecture and Mach. J. of Information Processing 14(4). – the basic Mach reference. 1992.

Kapcsolódó szócikkek

További információk