操作系统需要两种CPU状态
内核态:运行操作系统程序 ,表示一个应用进程执行系统调用后,或I/O 中断,时钟中断后,进程便处于内核执行
用户态:运行用户程序 ,表示进程正处于用户状态中执行
两种状态的主要差别在于:
-
处于用户态执行时,进程所能访问的内存空间和对象受到限制,其所占有的处理机是可抢占的;
-
处于内核态执行的过程,则能访问所有内存空间和对象,且所有的处理机都不允许被抢占
用户态 切换到 内核态 的唯一途径 ---> 中断/异常/陷入
内核态 切换到 用户态 的途径 ---> 设置程序PSW状态字
注意: 陷入指令(又称 访管指令,因为内核态也被称为管理态,访管就是访问管理态)
该指令给用户提供接口,用于调用操作系统的服务