大家好,欢迎来到IT知识分享网。
- 主要参考:
- 特权指令
- 目态/管态
- 程序状态字(Program Status Word,PSW)
- 访管指令
主要参考:
- 《操作系统概论》(机械工业出版社)
特权指令
从调用源头上,为保证计算机系统正确可靠地工作(避免引起冲突或意外错误),限制部分指令不允许用户程序调用,称为特权指令(只允许操作系统调用)。
目态/管态
为区分处理特权指令与普通指令,CPU同时设置了两种工作状态:
- 目态,不允许执行特权指令;
- 管态,允许执行特权指令
标识CPU工作状态的关键判断依据 —— 程序状态字(Program Status Word,PSW)。
程序状态字(Program Status Word,PSW)
每个程序都要有一个程序状态字,用来控制指令执行顺序,并且保留和指令与程序有关的系统状态,包含三部分内容:
-
程序基本状态:
- 等待/计算:当前处理器状态;
- 目态/管态:当前处理器状态;
- 条件码:体现当前指令执行结果的各种状态信息(如算术运算产生的正、负、零或溢出等);
- 指令地址:下一条指令的存放地址
-
中断码:保存程序执行时当前发生的中断事件;
-
中断屏蔽位:指出程序执行中,是否要响应出现的中断事件。
在单处理器计算机系统中,有一个专门用来存放当前运行程序的 PSW 的寄存器,称为程序状态字寄存器。因此操作系统调度 CPU 执行/挂起相关程序时,也就需要将对应程序的 PSW 装入/移出程序状态字寄存器。
访管指令
用户程序执行过程中,需要调用操作系统提供的不同功能的子程序,也就是系统调用(如读/写文件、分配主存等),其中有些还必须执行硬件的特权指令(如 I/O指令)才能完成任务,因此,需要在目态(用户程序执行,CPU不处理特权指令)下提供一个渠道,来使操作系统执行相关特权指令,这个渠道就是“访管指令”。
-
编译程序翻译过程中,将需调用操作系统功能的逻辑要求转换成访管指令,并设置一些参数;
-
处理器执行到访管指令时,会产生一个中断事件(1)(将操作系统程序的PSW装入程序状态字寄存器),实现用户程序与系统调用程序之间的转换;
-
系统调用按规定参数执行结束后,再返回到用户程序(2)(将用户程序的PSW重新装入程序状态字寄存器)。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28191.html