用户态和核心态的区别

操作系统需要两种CPU状态

内核态:运行操作系统程序 ,表示一个应用进程执行系统调用后,或I/O 中断,时钟中断后,进程便处于内核执行

用户态:运行用户程序 ,表示进程正处于用户状态中执行

两种状态的主要差别在于:

  • 处于用户态执行时,进程所能访问的内存空间和对象受到限制,其所占有的处理机是可抢占的;

  • 处于内核态执行的过程,则能访问所有内存空间和对象,且所有的处理机都不允许被抢占

用户态 切换到 内核态 的唯一途径 ---> 中断/异常/陷入

内核态 切换到 用户态 的途径 ---> 设置程序PSW状态字

注意: 陷入指令(又称 访管指令,因为内核态也被称为管理态,访管就是访问管理态)

该指令给用户提供接口,用于调用操作系统的服务

posted @ 2020-03-15 16:17  九角冰山  阅读(998)  评论(0编辑  收藏  举报