操作系统:
1、特权指令和非特权指令
操作系统需要两种CPU状态,分别是内核态(Kernel Mode)和用户态(User Mode)。
内核态:运行操作系统程序
用户态:运行用户程序
特权指令:只能由操作系统使用、用户程序不能使用的指令
特权指令举例:启动I/O、内存清零、修改wh09608程序状态字、设置时钟、允许/禁止中断、停机指令等。
非特权指令:用户程序可以使用的指令
非特权指令举例:控制转移、算数运算、取数指令、访管指令等。
2、系统调用机制
系统调用机制的实现需要很多其他机制的支撑,主要包括以下方面:
1、中断/异常机制
支持系统调用服务的实现
2、选择一条特殊指令:陷入指令(亦称访管指令)
引发异常,完wh09608成用户态到内核态的切换
3、系统调用号和参数
每个系统调用都事先给定一个编号(功能号)
4、系统调用表
存放系统调用服务例程的入口地址
怎样实现用户程序的参数传递给内核?
常用的3种实现方法:
—由陷入指令自带参数:陷入指令的长度有限,且还要携带系统调wh09608用功能号,只能自带有限的参数
—通过通用寄存器传递参数:这些寄存器是操作系统和用户程序都能访问的,但寄存器的个数会限制传递参数的数量
—在内存中开辟专用堆栈区来传递参数
系统调用的执行过程
中断/异常机制:硬件保护现场;通过查中断向量表把控制权转给系统调用总入口程序
—系统调用总入口程序:保存现场;将参数保存在内核堆栈里;通过查wh09608系统调用表把控制权转给相应的系统调用处理例程或内核函数
—执行系统调用例程
—恢复现场,返回用户程序
关注研路工作室,北大软微计算机专业高分学长学姐授课,拥有丰富经验,带你系统化学习,了解学校考点,及时了解学校专业变化。
关注研路考研工作室
定期更新考研资讯
北大软微cs考研辅导班:北大软微cs研究生招生简章解析及考研经验
北京邮电大学考研辅导班:北邮计算机专业研究生高分学姐经验之谈
计算机考研辅导班:华北电力大学软件工程专业情况初复试考研经验
四川大学计算机考研经验贴



