用户空间中的Syscalls

时间:2014-12-18 00:04:37

标签: c linux glibc system-calls

我理解系统调用如何在内部工作,即它们如何在内核中实现以及如何从用户空间调用它们(通过创建异常并在正确的寄存器中使用系统调用号)。我还不知道的是:

实现与系统调用相对应的用户空间函数的最佳做法是什么? (例如所有熟悉的功能,如openforkdup等。因此,我想在User-Space中调用一个名为实际系统调用的函数,而不是使用syscall(number)函数。

AFAIK可以通过unistd.h标头提供的一些宏轻松创建它们,但我真的不知道如何使用它。我已经阅读了有关__SYSCALL_syscall的内容,但如果我查看来源,我真的找不到可以理解的例子。那么有谁知道如何制作一个定制的系统调用"可用"在用户空间?

0 个答案:

没有答案