操作系统内核态与用户态

核心态与核心态

处理机(CPU)在执行用户程序和执行操作系统内核程序时的模式是有区别的,这是因为处理机在运行系统内核程序时,可以获得更多的特权,以便操作系统程序实现更强的功能,这叫做核心态。

而在运行用户程序的时候,仅有有限的权限,这样保障了系统的安全性,这是用户态。

许多处理机支持至少两种执行态。某些指令只能在特权态下执行,如读/写处理机状态字PSW等控制寄存器及存储管理相关的一些指令。另外在特权态下,程序还可以访问更大的地址空间

 

划分理由

划分特权与非特权态的理由简单的理解,是为了保护操作系统和操作系统的数据表格不被可能出错的用户程序破坏,用户程序是不可靠的,不能赋予太大特权。

 

处理机制

处理机如何知道它在哪种态下?执行态如何变化?何时变化呢?前面讲到过,处理机状态字PSW中有一位表示处理机执行态,这一位可以通过特殊指令修改。

当运行在处理机上的用户程序产生自陷,或被外部事件中断进入操作系统程序运行时,系统要用置模式指令马上将处理机模式转变为核心态,原处理机状态字作为运行现场被保护,新的处理机状态字中的状态被置为核心工作状态。这时,处理机执行任何特权指令或访问系统的空间都不会报错,待到返回用户态程序时,原保护的处理机状态字被恢复,处理机模式又转到用户态下。此后如果执行了特权指令,处理机则会报错

 

posted @ 2020-04-15 17:51  张凯歌  阅读(548)  评论(0)    收藏  举报