操作系统学习笔记——处理器状态

处理器根据程序计数器的指向从内存 中取指令到指令寄存器,然后译码并执行,程序计数器将自动增长或变为转移地址以便于指明吓一跳待执行指令的地址。
为了实现指令功能,处理器中设置了一组寄存器用作寻址和存放数据,变量和中间结果。
操作系统程序能够执行全部机器指令,应用程序只能执行非特权指令。
处理器中有硬件标志位,称为处理器状态,它通常是程序状态字中的一位。根据执行程序对资源和机器指令的使用权限将处理器设置为不同状态,内核态和用户态。
当处理器处于用户态时,访问权限 仅限于 当前处理器上执行程序所在的地址空间,这样就能防止操作系统程序收到应用程序的侵害。
真实情况介于内核态和用户态的设计思想,状态不只有两种,比如还有系统调用级,共享库级…

什么情况处理器会从用户态向内核态转换?

操作系统学习笔记——处理器状态

其实这三类都是通过中断机制发生,可以说中断和异常是用户态到内核态转换的仅有途径。

那么如何实现内核态到用户态的转换呢?计算机通常一共一条称作加载程序状态字的特权指令用来实现从内核态返回用户态,操作系统将控制权限转交给应用进程。

程序状态(PSW)字是什么?
操作系统将程序运行时的一组动态信息汇集在一起(如,当前处于目态还是管态,下一条要执行的指令位置),称为程序状态字,并存放在处理器的一组特殊寄存器里,以方便系统的控制和管理。
操作系统学习笔记——处理器状态