我正在尝试查找有关内核模块如何访问系统调用的信息,我似乎找不到有关此主题的大量信息。
这是因为内核模块访问系统调用的情况不常见吗?
我想内核模块访问系统调用的不寻常是有道理的,因为内核模块主要用于实现设备驱动程序,以及为什么设备驱动程序需要访问系统调用(设备驱动程序的工作只是与IO 设备)!
答案1
系统调用允许程序调用内核;它们不被内核本身或内核模块使用。
编写内核代码时,应该使用适当的内核API直接地。
模块的功能远不止驱动设备:例如,文件系统与页面缓存、块层等交互,而不是直接与物理设备交互。