Jaderný modul

Jaderný modul je pojem z oboru počítačů, přesněji z oboru operačních systémů. Jedná se o objektový kód typicky v samostatném objektovém souboru, který může být za běhu nahrán do jádra operačního systému a rozšířit jeho funkcionalitu, a později může být naopak odnahrán, aby uvolnil operační paměť.

Nejtypičtějším případem modulů jsou ovladače zařízení, které mohou být nahrány při připojení zařízení a odnahrány při jeho odpojení. V jejich případě je také prvotní motivace pro umístění ovladače do modulu oproti umístění přímo do jádra zřejmá – kdyby jádro obsahovalo všechny možné ovladače pro všechna možná zařízení, bylo by opravdu veliké a potřebovalo by například hodně prostoru nejen v operační paměti, ale i na diskovém oddíle, z kterého je zaváděno. Naproti tomu použití modulů umožní malé jádro, ke kterému je při bootování navíc možné přiložit počáteční ramdisk s na míru vybranými moduly potřebnými pro start operačního systému na konkrétním hardwaru.

Jaderné moduly podporuje většina běžných operačních systémů pro stolní počítače, byť pod různými jmény. Například v macOS se nazývají rozšíření jádra (kernel extension, kext), ve FreeBSD jaderné nahratelné moduly (kernel loadable module, klm) a ve Windows NT ovladače jaderného režimu (kernel-mode driver).

Linux

V Linuxu je možné moduly nahrávat a odebírat příkazem modprobe. V rámci souborového systému jsou obvykle umístěny v adresáři /lib/modules, příp. /usr/lib/modules a od verze 2.6 mají příponu .ko. Seznam aktuálně nahraných modulů poskytuje příkaz lsmod.

Reference

V tomto článku byl použit překlad textu z článku Loadable kernel module na anglické Wikipedii.