1.1. 什么是内核模块?
所以,你想编写一个内核模块。你懂 C 语言,你已经编写了一些正常的程序作为进程运行,现在你想进入真正的操作领域,一个野指针就可以擦除你的文件系统,而核心转储意味着重启。
到底什么是内核模块?模块是可以根据需求加载和卸载到内核中的代码片段。 它们扩展了内核的功能,而无需重新启动系统。 例如,一种模块是设备驱动程序,它允许内核访问连接到系统的硬件。 如果没有模块,我们将不得不构建单内核并将新功能直接添加到内核镜像中。 除了拥有更大的内核之外,这还具有每次需要新功能时都必须重建和重新启动内核的缺点。