什么是 lkm?

什么是 lkm?

我希望了解 Linux 与其他操作系统的不同之处,例如有关可加载内核模块。

  1. 简要介绍一下 LKM 的工作原理?
  2. 新模块是用哪种语言编写的?
  3. 如何向 Linux 内核添加新模块?以及
  4. 当新模块插入内核时可能会造成严重破坏。

答案1

阅读此文获取完整文档http://tldp.org/HOWTO/Module-HOWTO/index.html

如果要向 Linux 内核添加代码,最基本的方法是向内核源代码树添加一些源文件并重新编译内核。事实上,内核配置过程主要包括选择要编译的内核中包含哪些文件。

但你也可以在 Linux 内核运行时添加代码。以这种方式添加的代码块称为可加载内核模块。龙岗区

LKM 主要有以下六种用途:

  1. 设备驱动程序。
  2. 文件系统驱动程序。
  3. 系统调用。
  4. 网络驱动程序。
  5. TTY 线路纪律。
  6. 可执行解释器。

模块主要用C语言编写,在某些情况下可能包含汇编。

要插入模块,请使用

insmod module

要删除模块,请使用

rmmod module

相关内容