可載入核心模組

(重定向自可加载内核模块

可載入核心模組(英語:Loadable kernel module,縮寫為 LKM),又譯為載入式核心模組可裝載模塊可加载内核模块,或直接称为内核模块,是一種目的檔,在其中包含了能在作業系統內核空間運行的程式碼。它們運行在核心基底(base kernel),通常是用來支援新的硬體,新的檔案系統,或是新增的系統呼叫

Microsoft Windows類UNIX系統都支援這個功能,但在不同的作業系統中,它有不同的名稱,如FreeBSD 稱為核心載入模組(kernel loadable module,縮寫為KLD),Mac OS X 稱為核心擴充(kernel extension,縮寫為KEXT)。也有人稱它為核心可載入模組(Kernel Loadable Modules,縮寫為KLM) ,或核心模組(Kernel Modules,KMOD)。

技術特點

可載入核心模組可以讓作業系統在需要新功能時動態載入隨機存取記憶體(RAM),減少開發及使用上的困難。若沒有此模組,作業系統需要在開機時將所有可能需要的功能一次加入內核之中,但其中許多功能從來不會被使用;這不但浪費RAM空間,而且每次在增加新功能時,使用者需要重新編譯整個內核,之後重新開機。

然而与微内核下的系统服务不同,内核模块并不是独立进程,也没有独立的地址空间,而是与内核的其他部分共享内核地址空间。这对内核模块的质量提出了很高的要求,因为如果它出现了bug,会有损害整个系统内核的危险。

參見