Betölthető kernelmodul

Az operációs rendszerben a modul a kernel része, amelyet integrálhatunk futása közben. A jelölésükhöz általában használt angol kifejezés a Loadable Kernel Module , rövidítve LKM , vagy ( franciául  : "chargeable kernel module").

Ez a szolgáltatás létezik Linux és BSD kernekben .

Alternatívája a kernelben lefordított funkcióknak , amelyek csak a rendszer újraindításával változtathatók meg.


Linux

Linux kernel modulok általában helyezni /lib/modules. A kiterjesztést a .ko 2.6-os verzió óta használják .

A parancs depmodelőállítja a függőségi fájlokat . Többek között ezek a fájlok lehetővé teszik a parancs számára, modprobehogy automatikusan betöltse az összes szükséges modult, amikor egy modult integrál a kernelbe.

A modulok bármikor eltávolíthatók a kernelből, amennyiben nem használják őket.

A parancsok lsmod, insmodés arra rmmodszolgálnak, hogy alapvető műveleteket hajtsanak végre a modulokon.

Néhány legújabb Linux disztribúcióban a modulok automatikusan betöltődnek, amikor a rendszernek szüksége van rájuk, vagy ha új eszközt észlel.

A bináris modulok kompatibilitása

A Linux nem biztosít stabil interfészt ( API vagy ABI ) a kernelmodulok számára. A kernel egyik verziójától a másikig tehát lehetnek strukturális vagy funkcionális különbségek, amelyek megzavarhatják a kompatibilitást a meglévő modulokkal. Ezeknek a hátrányoknak a korlátozása érdekében a verzióinformációk a modulok .modinfo szakaszába kerülnek, amelyek összehasonlíthatók a cél kernelverzióval, hogy megakadályozzák az összeférhetetlen modulok betöltését.

Jogi szempontok

A Linux kernelt irányító GNU GPL licenc azt jelenti, hogy minden származtatott munka ugyanarra a licencre kerül. A rendszermag-fenntartók úgy vélik, hogy néhány kivételtől eltekintve a kernelmodulok származékos művek, és mint ilyenek a GNU GPL licenc alá tartoznak. Linus Torvalds így kifejezte, hogy ritka kivételek lehetnek: általában ha egy másik operációs rendszer illesztőprogramját adaptálják a Linux alatt történő futtatásra, akkor számára nehéznek tűnik az ebből eredő munkát „Linuxból származó műnek” minősíteni.

A kernel export szimbólum az interakcióban lévő modulok licencének megadására szolgál, például az EXPORT_SYMBOL_GPL esetében a modult így fogják jelölni: MODULE_LICENSE ("GPL") . Linus Torvalds számára ez a pontosítás nemcsak leíró, hanem jogi is.

Megjegyzések és hivatkozások

  1. (in) Linux: Az LPG és a bináris modulok "archivált másolata" (2005. július 23-i kiadás az internetes archívumban )
  2. (en) Az EXPORT_SYMBOL_GPL értékéről

Függelékek

Kapcsolódó cikk

Külső hivatkozás