当当前系统调用请求具有一个名为 syscall_trace 的特定字段集(它导致 do_syscall_trace 函数的调用)时,将在内核中完成跟踪。您还可以看到跟踪调用是 ./linux/arch/i386/kernel/entry.S 中系统调用请求的一部分(请参看 syscall_trace_entry)。
syscall_trace
do_syscall_trace
syscall_trace_entry
结束语
系统调用是穿越用户空间和内核空间,请求内核空间服务的一种有效方法。不过对这种方法的控制也很严格,更简单的方式是增加一个新的 /proc 文件系统项来提供用户/内核间的交互。不过当速度因素非常重要时,系统调用则是使应用程序获得最佳性能的理想方法。请参看 参考资料 的内容进一步了解 SCI。
原文链接:http://www-128.ibm.com/developerworks/cn/linux/l-system-calls/
本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.站长QQ:397422079 E_mail:riechelr_hl@unix5.com转载本站内容请注明原作者名.谢谢!