- 1
- 0
- 约1.3万字
- 约 10页
- 2021-10-17 发布于福建
- 举报
LINUX 源码解读 :系统调用的设计与实现
5080309910
张至先
介绍
系统调用是操作系统内核提供的, 为了和用户空间上运行的进程进行交互的一组接
口,通过该接口,应用程序可以访问硬件设备和其他操作系统资源。
系统调用主要有三个作用:
a. 为用户空间提供一种硬件的抽象接口。
b. 保证了系统的稳定与安全。
c. 实现多任务和虚拟内存。
对于用户空间的进程,在一般情况下是通过应用编程接口( API )而不是系统调用
来进行编程,有些 API 往往直接封装了系统调用,但这并不意味着两者是一一对应的。
当前最流行的 API 是基于 POSIX标准的。
原理
本节通过对 getpid() 的跟踪,来由外向内的了解 linux 系统调用的原理。
库函数
首先,用户进程调用 glibc 中的 getpid() 函数,这个函数在 include/unistd.h 中声明,
其函数原型为:
extern __pid_t __getpid (void);
由于其实现是平台相关的,我们关注的实现在
/gl
原创力文档

文档评论(0)