usermode-helper API 是内核中重要的部分,这是由于其广泛多样的用途(从内核模块加载、设备热插拔到 udev 事件发布)。尽管 API 实际的应用程序非常重要,但内核也是很重要的一部分,是非常有用的 Linux 工具。
参考资料
学习
关于 usermode-helper API 的资料很少,但其实现相当简洁易于模仿。您可以通过 LXR(Linux Cross Referencer — 用于所有版本的源代码浏览器)回顾其实现。其中两份主要的文件是 kmod.c 和 kmod.h。
/proc 文件系统提供了一种内核和用户空间交互的方法 — 尽管是虚拟文件系统。 可以在 “使用 /proc 文件系统来访问 Linux 内核的内容”(developerworks, 2006 年 3月)中学习更多关于 /proc 文件系统的知识。
Linux 系统调用接口提供了用户空间应用程序调用内核功能的方法。关于 Linux 系统调用的更多细节,包括如何添加新系统调用,请参考 “使用 Linux 系统调用的内核命令”(developerworks, March 2007 年 3 月)。
为了演示 usermode-helper API,本文使用了可加载的内核模块安装测试应用程序到内核。想要学习更多可加载内核模块及其实现的知识,请参考 “Linux 可加载内核模块剖析” (developerworks, July 2008 年 7 月)。
想要学习更多 2.6 内核工作队列接口的知识,请参考这篇较老的 2003年 Linux Journal 文章,它详细介绍了 API 和内核工作队列的操作。
在 developerWorks Linux 专区, 找到更多 Linux 开发者的资源。
随时关注 developerWorks 技术活动和网络广播。