当我们执行insmod <modulename.ko>时,insmod进程在上下文用户空间上下文或系统模式上下文中运行

时间:2015-07-13 05:37:35

标签: linux-kernel linux-device-driver

我是Linux内核开发的新手。我有一些问题。

当我们执行insmod时,哪个上下文会进行insmod进程,用户空间或系统模式?

如何在用户空间C程序中使用当前宏,或者我们是否可以选择遍历内核task_struct结构?

1 个答案:

答案 0 :(得分:2)

insmod本身是用户空间程序或用户空间程序的符号链接(在Fedora 21 insmod上是/usr/bin/kmod的符号链接)。它像任何其他应用程序一样作为用户空间应用程序运行。 insmod特殊之处在于它使init_module系统调用。 init_module实际上是将模块加载到内核中。

关于你的第二个问题,current宏只在内核中定义。您可以在此SO post找到更多详细信息。