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

在操作系统中,以下只能在核心态下处理执行的指令是( )。

A. 读时钟 B. 寄存器清零 C. 系统调用 D. 取数

用户态和内核态 系统调用

[tag_link]

正确答案:C

在操作系统中,核心态(也称为内核态或特权态)与用户态是处理器的两种运行模式。 核心态下可以执行所有指令,包括特权指令,而用户态下只能执行非特权指令,以防止用户程序直接访问系统资源或影响系统安全。

选项分析如下:

A. 读时钟:读取时钟值通常不是特权指令,用户程序可以通过非特权指令或系统调用来获取时间信息,因此可以在用户态下执行。 >

B. 寄存器清零:清零通用寄存器(如数据寄存器)是常见的非特权指令,用户程序可以自由操作自己的寄存器,无需切换到核心态。 >

C. 系统调用:系统调用是用户程序主动请求操作系统服务的机制。 > 当执行系统调用指令(如陷阱指令)时,会触发处理器从用户态切换到核心态,由操作系统内核在核心态下处理该请求。 > 因此,系统调用的处理过程只能在核心态下执行。 >

D. 取数:取数指令(如从内存加载数据)通常是非特权指令,用户程序在用户态下可以访问自己的内存空间。 > 只有访问受保护的系统内存或执行特权操作时才需核心态。 >

综上,只有系统调用的处理必须在核心态下完成,故正确答案为C。 >