如何判断函数是否进入内核

时间:2014-10-31 15:14:13

标签: c kernel

我正在实施一个程序,以便尽可能经常在用户空间中运行。所以我试图尽可能少地调用进入和离开内核空间的函数。例如,我使用了一些读/写但绕过内核的DMA API。

我不知道如何告诉函数是否需要输入内核空间。例如,我想调用getenv()来获取主机设置的环境变量,但担心它可能会通过我的程序并进入内核空间。我无法从手册页中找到这种信息。以下是getenv()的手册页。

2 个答案:

答案 0 :(得分:4)

您是否通过strace运行程序?这将让您知道进入内核空间的系统调用的位置

答案 1 :(得分:0)

我认为大多数IO功能都会导致程序进入内核? 也许您应该检查您使用的系统API