动态内核模块支持 自由软件主题 动态内核模块支持 Dynamic Kernel Module SupportDKMS是用来生成Linux的内核模块的一个框架其源代码一般不在Linux内核源代码树 当新的内核安装时DKMS支持的内核设备驱动程序 到时会自动重建 DKMS可以用在两个方向如果一个新的内核版本安装自动编译所有的模块或安装新的模块驱动程序在现有的系统版本上而不需要任何的手动编译或预编译软件包需要例如这使得新的显卡可以使用在旧的Linux系统上 DKMS是由戴尔的Linux工程团队在年写的它已经被许多Linux发行版所包含如Ubuntu 包括后来的版本和Fedora 它是以GNU通用公共许可证GPLv或以后的条款发布下的自由软件DKMS原生支持RPM和DEB软件包格式 动态内核模块支持旨在创建一个内核相关模块源可驻留的框架以便在升级内核时可以很容易地重建模块这将允许 Linux 供应商提供较低版本的驱动程序而无需等待新内核版本发行同时还可以省去尝试重新编译新内核模块的客户预期要完成的工作Oikawa等人在年提出一种与LKM类似的动态核心模块DKMs技术与LKM一样DKMs以文件的形式存储并能在系统运行过程中动态地加载和卸载DKMs由一个用户层的DKM服务器来管理并非由内核来管理当核心需要某模块时由DKM服务器负责把相应的DKM加载当核心的内存资源紧缺时由DKM服务器负责卸载一个没有被使用的DKM缺点是所有的DKM是存储在本地系统上的占用了大量宝贵的存储空间