操作系统原理,系统调用,功能与机制设计,系统调用的执行过程与Linux系统调用执行示例,不同操作系统下的PCB
一、系统调用:操作系统功能调用,用户在编程时可以调用的操作系统功能。
1、系统调用是操作系统提供给编程人员的唯一接口,使CPU状态从用户态陷入内核态。
2、每个操作系统都提供几百种系统调用,例如进程控制,进程通信pipe,文件使用IO,目录操作,设备管理,信息维护等。
二、系统调用/库函数/API/内核函数的调用关系
三、系统调用机制的设计
1、中断异常机制支持系统调用服务的实现
2、使用特殊指令:陷入指令(防管指令)引发异常,完成用户态到内核态的切换
3、每个系统调用都事先给定一个编号(功能号)作为系统调用号,系统调用可能有参数(编译器参与将代码中的系统调用转换为系统调用号)
4、系统调用表存放系统调用服务例程的入口地址
四、系统调用号实例:
#define __NR_ex