![什么是 lkm?](https://linux22.com/image/1126289/%E4%BB%80%E4%B9%88%E6%98%AF%20lkm%EF%BC%9F.png)
我希望了解 Linux 与其他操作系统的不同之处,例如有关可加载内核模块。
- 简要介绍一下 LKM 的工作原理?
- 新模块是用哪种语言编写的?
- 如何向 Linux 内核添加新模块?以及
- 当新模块插入内核时可能会造成严重破坏。
答案1
阅读此文获取完整文档http://tldp.org/HOWTO/Module-HOWTO/index.html
如果要向 Linux 内核添加代码,最基本的方法是向内核源代码树添加一些源文件并重新编译内核。事实上,内核配置过程主要包括选择要编译的内核中包含哪些文件。
但你也可以在 Linux 内核运行时添加代码。以这种方式添加的代码块称为可加载内核模块。龙岗区
LKM 主要有以下六种用途:
- 设备驱动程序。
- 文件系统驱动程序。
- 系统调用。
- 网络驱动程序。
- TTY 线路纪律。
- 可执行解释器。
模块主要用C语言编写,在某些情况下可能包含汇编。
要插入模块,请使用
insmod module
要删除模块,请使用
rmmod module