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