什么情况会导致处理器从用户态(目态)向内核态(管态)转换?
大多数计算机系统将CPU执行状态分为
管态
和目态
。
管态
又称为特权状态
、系统态
或核心态
。通常,操作系统在管态下运行
。
目态
又叫做常态
或用户态
,用户程序只能在目态下运行
,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。
从目态转换为管态
的唯一途径
是中断
。以下这三类情况都是通过
中断机制
发生,可以说中断
和异常
(应用程序自身引起or出错)是用于态到内核态转换的仅有途径:
- 程序主动请求操作系统服务,执行系统调度;
- 程序运行时产中断事件(如I/O操作完成),运行程序被中断,转向中断处理程序处理;
- 程序运行时产生异常事件(如发生程序性中断,或目态执行特权指令),运行程序被打断,转向异常处理程序工作。
全部评论
(2) 回帖