Indlæseligt kernemodul

I et operativsystem er et modul en del af kernen, der kan integreres, mens den kører. Det engelske udtryk, der generelt bruges til at betegne dem, er Loadable Kernel Module , forkortet LKM eller (på fransk  : "chargeable kernel module").

Denne funktionalitet findes i Linux-kerner og BSD- kerner .

Det er et alternativ til den funktion, der er kompileret i kernen, som kun kan ændres ved at genstarte systemet.


Linux

Linux-kernen moduler er som regel placeret i /lib/modules. De bruger udvidelsen .ko siden version 2.6.

Kommandoen depmodgenererer afhængighedsfilerne . Disse filer giver blandt andet kommandoen mulighed modprobefor automatisk at indlæse alle de nødvendige moduler, når de integreres i modulet i kernen.

Moduler kan fjernes fra kernen når som helst, så længe de ikke er i brug.

Kommandoerne lsmod, insmodog er rmmodanvendt til at udføre grundlæggende operationer på modulerne.

I nogle nylige Linux-distributioner indlæses moduler automatisk, når systemet har brug for dem eller registrerer en ny enhed.

Kompatibilitet af binære moduler

Linux leverer ikke en stabil grænseflade ( API eller ABI ) til kernemoduler. Fra en version af kernen til en anden kan der derfor være strukturelle eller funktionelle forskelle, der kan bryde kompatibiliteten med eksisterende moduler. For at begrænse disse ulemper placeres versionoplysninger i .modinfo-sektionen af ​​moduler, der kan sammenlignes med målkerneversionen for at forhindre indlæsning af inkompatible moduler.

Juridiske overvejelser

GNU GPL- licensen, der styrer Linux-kernen, indebærer, at ethvert afledt arbejde placeres under den samme licens. Kernel vedligeholdere mener, at kernemoduler med nogle undtagelser er afledte værker og som sådan underlagt GNU GPL-licensen. Linus Torvalds gav således udtryk for, at der kunne være sjældne undtagelser: typisk hvis driveren til et andet operativsystem var tilpasset til at køre under Linux, synes det svært for ham at kvalificere det resulterende arbejde som ”arbejde afledt af Linux”.

Kerneeksport- symbolet bruges til at specificere licensen for interagerende moduler, for eksempel i tilfælde af EXPORT_SYMBOL_GPL , vil modulet blive markeret således: MODULE_LICENSE ("GPL") . For Linus Torvalds er denne afklaring ikke kun beskrivende, men også lovlig.

Noter og referencer

  1. (in) Linux: LPG og binære moduler "arkiveret kopi" (frigivelse af 23. juli 2005 på internetarkivet )
  2. (da) Om værdien af ​​EXPORT_SYMBOL_GPL

Tillæg

Relateret artikel

Eksternt link