运行机制
对于 CPU 来说,有两种指令,一种是 特权指令
,另一种是 非特权指令
,前者的操作通常比较危险,如清空内存等。
那么 CPU 是如何判断当前能否执行特权指令的呢?
这就要看处理器的状态了,有两种:
- 用户态(目态):此时 CPU 只能执行非特权指令;
- 核心态(管态):可以执行特权指令。
两种程序:
- 内核程序:运行在核心态;
- 应用程序:运行在用户态;
操作系统的内核
内核包括:
- 时钟管理:实现计时功能;
- 中断处理;
- 原语:一种特殊的程序,是最接近硬件的部分,具有原子性。
中断和异常
- 当中断发生时,CPU 立即进入
核心态
; - 当中断发生后,当前运行的进程暂停进行,并由操作系统内核对中断进行处理;
中断可以使 CPU 从用户态切换到核心态,使操作系统获得计算机的控制权。
中断是用户态切换到核心态的唯一途径。
系统调用
系统调用运行在核心态;
发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下进行。