可加载内核模块

可载入核心模组(英语: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,会有损害整个系统内核的危险。

参见

编辑