1.什么是系统调用
用户程序通过操作系统提供的系统功能函数来调用系统资源的一个过程。
为了保护系统资源不被用户程序破坏,操作系统把涉及到操作系统资源的功能封装成了系统功能函数供用户程序调用。
2.常见的系统调用类型有
设备管理
文件管理
进程控制
进程通信
线程管理
存储管理
3.系统调用过程
1.用户程序进行系统调用,调用陷阱指令
2.陷阱处理程序 报错cpu现场
3.陷阱处理程序 根据系统功能号找到功能函数地址进行调用
4.陷阱处理程序 返回,恢复cpu现场
4.系统调用的参数和返回值
可以写在陷阱指令、寄存器、内存中,一般指令和寄存器的空间比较小都是用内存来存储
5.用户态和系统态
用户态和系统态是处理器的状态,处理器的状态字 PSW来表示。
处理器在用户程序中执行叫做用户态,在系统程序中执行叫做系统态。