日期:2014-05-16  浏览次数:20720 次

Linux系统调用及其实验(二)——内核态、用户态【转】

Linux系统调用

转自http://www.tinylab.org/linux-system-calls/

by Pingbo?Wen of?TinyLab.org
2013/09/12

系统调用是系统内核提供给用户态程序的一系列API,这样应用程序就可以通过系统调用来请求操作系统内核管理的资源[1]。本文尝试分析在Linux下是如何使用linux内核给我们提供的API,并分析其实现过程。

一、用户态

不管我们是打开一个文件,接收一个socket包,还是获取当前进程信息,都需要调用内核给我们提供的API。这里,我们可以通过strace这个工具,来跟踪一个程序调用的系统函数。比如下面是命令”strace whoami”的输出结果: