跳至內容

動態核心模組支援

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
動態核心模組支援
原作者Gary Lerhaupt
開發者Dell
首次發布2003
目前版本2.6.1(2018年4月25日,​6年前​(2018-04-25
原始碼庫 編輯維基數據鏈結
程式語言Bash (Unix shell)
作業系統Linux
許可協定GNU General Public License
網站linux.dell.com/dkms/

動態核心模組支援 (Dynamic Kernel Module Support,DKMS)是用來生成Linux核心模組的一個框架,其原始碼一般不在Linux核心原始碼樹。 當新的核心安裝時,DKMS支援的核心裝置驅動程式 到時會自動重建。 DKMS可以用在兩個方向:如果一個新的核心版本安裝,自動編譯所有的模組,或安裝新的模組(驅動程式)在現有的系統版本上,而不需要任何的手動編譯或預編譯軟體套件需要。例如,這使得新的顯示卡可以使用在舊的Linux系統上。

DKMS是由戴爾的Linux工程團隊在2003年寫的。它已經被許多Linux發行版所包含,如Ubuntu 8.10[1](包括後來的版本)和Fedora[2] 它是以GNU通用公共許可證(GPL)v2或以後的條款發布下的自由軟體。DKMS原生支援RPMDEB軟體套件格式。

動態核心模組支援旨在建立一個核心相關模組源可駐留的框架,以便在升級核心時可以很容易地重建模組。這將允許 Linux 供應商提供較低版本的驅動程式,而無需等待新核心版本發行,同時還可以省去嘗試重新編譯新核心模組的客戶預期要完成的工作。Oikawa等人在1996年提出一種與LKM類似的動態核心模組(DKMs)技術。與LKM一樣,DKMs以檔案的形式儲存並能在系統執行過程中動態地載入和解除安裝。DKMs由一個使用者層的DKM伺服器來管理,並非由核心來管理。當核心需要某模組時,由DKM伺服器負責把相應的DKM載入;當核心的主記憶體資源緊缺時,由DKM伺服器負責解除安裝一個沒有被使用的DKM。缺點是所有的DKM是儲存在本地系統上的,占用了大量寶貴的儲存空間。

參考資料

外部連結