動態內核模塊支持

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
動態內核模塊支持
原作者Gary Lerhaupt
開發者Dell
首次發布2003
當前版本
  • 3.0.12 (2023年9月24日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
編程語言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[2](包括後來的版本)和Fedora[3] 它是以GNU通用公共許可證(GPL)v2或以後的條款發布下的自由軟件。DKMS原生支持RPMDEB軟件包格式。

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

參考資料

  1. ^ Release 3.0.12. 2023年9月24日 [2023年10月19日]. 
  2. ^ 存档副本. [2010-12-27]. (原始內容存檔於2021-05-09). 
  3. ^ https://admin.fedoraproject.org/pkgdb/packages/name/dkms[永久失效連結]

外部連結