系统调用过程
高级语言调用库函数,库函数翻译为汇编语言,需要执行系统调用
取系统调用号,检查其合法性(linux用寄存器存放用用程序传递的系统调用号)
执行int 80h产生中断,把处理机状态由用户态变为内核态
每个系统有许多系统调用,每个系统调用有唯一的系统调用号
核心态到用户态:操作系统程序执行;用户态到核心态:int 0x80硬件中断机制
传递调用参数、执行陷入指令、执行服务程序、返回用户态(2017)
访管指令(陷入指令、trap指令)
在用户态使用,不是特权指令,用户程序借此发起系统调用
中断机制:一个操作系统所有的系统调用,都通过一个中断入口来实现
参数传递:陷入指令自带或者应用程序传到某个寄存器等
指令类别
特权指令:在系统态运行的指令
I/O指令、置中断、设置系统时间、存取用于内存保护的寄存器、清理内存、修改权限