可載入核心模組

可載入核心模組(英語: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,會有損害整個系統核心的危險。

參見