A Linux rendszermagot már három évtizede használják a számítógépekben világszerte. Mivel a kernelt különböző platformokon használják, ez a megoldás szinte mindenhol megtalálható, például a PC-kben, okostelefonokban, hordozható elektronikai eszközökben, háztartási készülékekben és hálózati eszközökben. Ebben a cikkben vessünk egy pillantást a rendszermag architektúrájára, főbb feladataira és interfészeire.
Köztudott, hogy az assembly kód lehetőséget ad még nagyobb teljesítmény elérésére, képességeit tekintve kissé korlátozott, a kód oroszlánrészét C nyelven írják. Ez a részesedés eléri a 98%-ot. Az assembly nyelvben úgy döntöttünk, hogy csak jelentéktelen, a teljesítményt némileg növelő beszúrásokat, az architektúrafüggő függvényeket és a betöltőt készítjük el.
Milyen architektúrájú a Linux kernel? A számítógép erőforrásaihoz való hozzáférés szintje nagyban függ az operációs rendszer által használt rendszermag típusától. A jogosultságok tekintetében a kernel a többi alkalmazás felett marad. Figyelembe véve az elvégzendő feladatok számát, a feladat megoldása a kernel szintjén történik, így megkülönböztetni őket több fajtát. A leggyakoribb megoldás a monolitikus, a mikrokernel és a hibrid.
A monolitikus Linux kernel oroszlánrészét egyetlen fájlban tárolják. Ez azonban még nem jelenti azt, hogy a monolitikus kernelhez tartozik, hanem a modulok képesek külön tárolásra. A fő trükk az, hogy a kernel minden kérést képes kezelni, de nem veszi figyelembe a felhasználói alkalmazások kéréseit. A kernel olyan feladatokat vállal, mint például:
A kernel monolitikus jellege ellenére belső modulokból áll, amelyeket nem egyenként, hanem szükség szerint töltenek be. Néhány modult külön tartanak a kerneltől, de ezek többnyire segédeszköz-illesztőprogramok. A kernel a legelőkelőbb szoftver a számítógépen. Konkrétan a Linux kernelről szólva, az monolitikus. Ez a legfontosabb dolog, amit ebben a szakaszban tudnunk kell.