【发布时间】:2013-06-02 12:27:20
【问题描述】:
我想编写一个内核空间函数,由 Linux 中的用户空间函数调用,如下所示:
// kernel space function.
void hello_kernel()
{
printk(KERN_INFO "Hello kernel space.");
printk(KERN_INFO "I can do any thing!");
}
// user space function
void hello_kernel();
int main()
{
printf("Invoking a kernel space function.");
hello_kernel();
return 0;
}
我不知道这个示例代码是否可行。
如何编写由用户空间函数调用的内核空间函数?
【问题讨论】:
-
你必须编写一个内核模块来做到这一点。见lwn.net/Kernel/LDD3
-
这称为“系统调用”。搜索“linux system call”应该会给你不少提示。
标签: c linux kernel-mode