两种指令:特权指令、非特权指令
两种处理器状态:内核态(核心态/管态)、用户态(目态)
两种程序:内核程序、应用程序
程序的运行:
C语言代码-编译器翻译->机器指令(二进制)
应用程序,运行在操作系统之上的;
内核程序组成操作系统的内核--最接近硬件的部分。
内核态可以执行特权指令,用户态只能执行非特权指令。
CPU中有一个寄存器:程序状态字寄存器(PSW),其中一个二进制位1表示内核态,0表示用户态。
内核态、用户态的切换
刚开机为内核态,用户启动某个应用程序,用一条特权指令把PSW的标志位设置为“用户态”,程序在CPU上运行。
当CPU处于用户态时发现一条特权指令,会引发一个中断信号,CPU变为内核态,停止运行当前应用程序,转为处理中断信号的内核程序。