模拟卷 操作系统 用户态和内核态 选择题
第 23 题

在操作系统中,有些指令只能在系统的内核态下运行,而不允许普通用户程序使用。下列操作中,可以运行在用户态下的是( )。

A. 设置定时器的初值 B. 触发 Trap 指令 C. 内存单元复位 D. 关闭中断允许位

用户态和内核态

[tag_link]

正确答案:B

在操作系统中,用户态和内核态是两种不同的运行模式。

用户态下程序权限较低,只能执行非特权指令; 内核态下操作系统内核可以执行所有指令,包括特权指令,以管理硬件和系统资源。

选项A“设置定时器的初值”通常涉及硬件定时器的直接配置,这属于特权操作,必须在内核态下执行,用户程序只能通过系统调用间接请求内核完成。

选项B“触发Trap指令”是用户程序主动从用户态切换到内核态的一种机制,例如执行系统调用或处理异常。 Trap指令本身可以在用户态下触发,从而引发陷入内核的处理过程。

选项C“内存单元复位”可能指对物理内存单元的清除或重置操作,这需要直接访问系统内存资源,用户态程序无权执行,必须由内核态代码处理。

选项D“关闭中断允许位”涉及修改CPU的中断标志,这是关键的系统控制操作,允许中断是保证系统响应性和多任务的基础,因此关闭中断必须是内核态特权指令。

综上,只有触发Trap指令可以在用户态下运行,其他选项都需要内核态权限。