下列关于系统调用的说法中,正确的是( )。 Ⅰ.当操作系统完成用户请求的“系统调用”功能后,应使CPU从内核态转到用户态工作 Ⅱ.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令 Ⅲ.用户在编写程

admin2019-08-10  36

问题 下列关于系统调用的说法中,正确的是(    )。
    Ⅰ.当操作系统完成用户请求的“系统调用”功能后,应使CPU从内核态转到用户态工作
    Ⅱ.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令
    Ⅲ.用户在编写程序时计划读取某个数据文件中的20个数据块记录,需使用操作系统提供的系统调用接口
    Ⅳ.用户程序创建一个新进程,需使用操作系统提供的系统调用接口

选项 A、仅Ⅰ、Ⅲ
B、仅Ⅱ、Ⅳ
C、仅Ⅰ、Ⅲ、Ⅳ
D、仅Ⅱ、Ⅲ、Ⅳ

答案C

解析 Ⅰ正确,程序执行系统调用是通过中断机构来实现的,需要从用户态转到内核态,当系统调用返回后,继续执行用户程序,同时CPU状态也从内核态切换到用户态。
    Ⅱ错误,用户程序无法形成屏蔽中断指令。这里应该是形成若干参数和陷入(trap)指令。系统调用需要触发trap指令,如基于x86的Linux系统,该指令为int 0x80或sysenter。
    Ⅲ正确,编写程序所使用的是系统调用,例如read()。系统调用会给用户提供一个简单的使用计算机的接口,而将复杂的对硬件(例如磁盘)和文件操作(例如查找和访问)的细节屏蔽起来,为用户提供一种高效使用计算机的途径。
    Ⅳ正确,用户程序通过程序接口(即系统调用接口)进行进程控制。
    操作系统实现的所有系统调用所构成的集合,即程序接口或应用编程接口(ApplicationProgramming Interface,API),是应用程序同系统之间的接口。它包括进程控制、文件系统控制、系统控制、内存管理、网络管理、用户管理、进程间通信等,所以几乎各个功能都需要用到系统调用。系统调用是操作系统提供给应用程序的唯一接口。    综上分析,本题选C选项。
转载请注明原文地址:https://jikaoti.com/ti/wVGjFFFM
0

最新回复(0)