题10

题目

在操作系统中, 只能在核心态下运行的指令是 ( )。
A. 读时钟指令 B. 置时钟指令 C. 取数指令 D. 寄存器清零

分析

时钟周期应该是属于比较私密的操作吧,我选B

B
大多数计算机操作系统的内核包括四个方面的内容, 即时钟管理、中断机制、原语和系统控制的数据结构及处理, 其中第 4 部分实际上是系统调用类的指令 (广义指令)。
A、C 和 D 三项均可以在汇编语言中涉及, 因此都可以运行在用户态。
从另外的角度考虑, 若在用户态下允许执行 “置时钟指令”, 则一个用户进程可在时间片还未到之前把时钟改回去, 从而导致时间片永远不会用完, 进而导致该用户进程一直占用 CPU, 这显然是不合理的。
操作系统的主要功能是为应用程序的运行创建良好的环境, 为了达到这个目的, 内核提供一系列具备预定功能的多内核函数, 通过一组称为系统调用 (system call) 的接口呈现给用户。
系统调用将应用程序的请求传给内核, 调用相应的内核函数完成所需的处理, 将处理结果返回给应用程序, 如果没有系统调用和内核函数, 那么用户将不能编写大型应用程序。