每日科普 · 2026-10-09 周五
考研 408 × 求职面试
知识点 · 操作系统 · 基础
特权指令与非特权指令
1. CPU通常分用户态和内核态。特权指令只能在内核态执行,例如关中断、设置页表基址、I/O、修改PSW、停机等,因为它们会影响系统全局或直接控制硬件。
2. 非特权指令在用户态和内核态都能执行,例如算术运算、逻辑运算、普通访存、跳转等。
3. 若用户态执行特权指令,硬件会触发异常/陷入,CPU转到内核态,由操作系统处理,通常终止进程或返回错误。
4. 系统调用是用户程序获得内核服务的受控入口:用户态执行陷入指令进入内核态,内核检查参数后执行特权操作,再返回用户态。
5. 关键区分:权限由CPU模式位和硬件控制;非特权指令不涉及系统全局资源,因此无需限制。
每日一题 · 操作系统
特权指令与非特权指令
下列哪条指令通常属于特权指令?
A. 加法指令
B. 无条件跳转指令
C. 关中断指令
D. 取数指令
解析
选C。关中断会改变CPU中断允许标志,影响整个系统的中断处理,必须在内核态执行。加法、跳转、取数普通用户程序也可执行,属于非特权指令。用户态若执行关中断等特权指令,会触发异常/陷入,由操作系统处理。
面试小贴士 · 操作系统
特权指令与非特权指令
面试常问:哪些是特权指令?用户态执行怎么办?答:先分用户态/内核态,举例关中断、I/O、改页表、停机;强调用户态执行会陷入,由OS处理;系统调用是受控入口。易错:普通访存不是特权,越权由MMU触发异常。