当前位置:问答库>考研试题

2018年西北大学信息科学与技术学院844软件工程学科专业基础综合之计算机操作系统考研核心题库

  摘要

一、选择题

1. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

若该文件的数据不在内存中,则该进程进入睡眠等待状态

请求read 系统调用会导致CPU 从用户态切换到核心态

read 系统调用的参数应包含文件的名称

A. 仅

B. 仅

C. 仅 D.

【答案】A

【解析】当用户进程读取的磁盘文件数据不在内存时,转向中断处理,导致CPU 从用户态切换到核心态,此时该进程进入睡眠等待状态(其实就是阻塞态,只不过换了个说法),因此I 、II 正确。

在调用read 之前,需要用open 打开该文件,open 的作用就是产生一个文件编号或索引指向打开的文件,之后的所有操作都利用这个编号或索引号直接进行,不再考虑物理文件名,所以read

系统调用的参数不应包含物理文件名。文件使用结束后要用dose 关闭文件,消除文件编号或索引。

2. 磁带适用于存放( )文件。

A. 随机

B. 索引

C. 串联

D. 顺序

【答案】D

3. 在中断周期中,将允许中断触发器置“0”的操作由完成( )。

A. 硬件

B. 关中断指令

C. 开中断指令

D. 软件

【答案】B

4. 下列选项中,不可能在用户态发生的事件是( )。

A. 系统调用

B. 外部中断

C. 进程切换

D. 缺页

【答案】C

【解析】判断能否在用户态执行的关键在于事件是否会执行特权指令。

首先看A 项,系统调用是系统提供给用户程序调用内核函数的,当用户程序执行系统调用时,会使CPU 状态从用户态切换至系统态并执行内核函数,执行结束之后将控制权还给用户程序,并且CPU 状态从系统态切换至用户态。从这个过程可以看出,虽然系统调用的执行过程中CPU 需要切换至系统态,但系统调用(或者引用、调用)是在用户态发生的,是系统特意为用户态设计的,因此系统调用可以发生在用户态。

B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断);进程缺页会产生缺页中断等,这些都经常发生在用户进程中,自然这些也都是用户态的事件。以键盘输入举例,一个用户进程需要用户输入一串命令,当用户用键盘输入时会引发外部中断(此时CPU 还是用户态),此时系统会切换至系统态执行中断处理程序(这时CPU 转变为系统态),处理程序处理之后将输入结果返回给用户程序并将CPU 状态切换为用户态,中断处理结束。由此过程可见,中断的发生和处理与系统调用类似,都是发生在用户态,通过切换至系统态完成对应功能,然后返回至用户态。系统调用和中断的发生是在用户态,处理是在系统态。

看D 项,缺页与B 项类似,用户态执行进程缺页时会产生缺页中断(中断发生在用户态),然后系统转入系统态进行缺页中断处理,然后再返回用户态,将控制权交还给用户进程。因此D 项也可以发生在用户态。

根据排除法知道答案是C 项,进程切换实际上是对于程序状态的修改,因此要修改程序状态字,这是特权指令,必须在系统态执行。

5. 在不同速度的设备之间传送数据( )。

A. 必须采用同步控制方式

B. 必须采用异步控制方式

C. 可用同步方式,也可用异步方式

D. 必须采用应答方式

【答案】C

6. 操作系统是对( )进行管理的软件。

A. 软件

B. 硬件

C. 计算机资源

D. 应用程序

【答案】C

【解析】从一般用户的观点,可把0S 看做是用户与计算机硬件系统之间的接口;从资源管理的观点看,则可把0S 视为计算机系统资源的管理者。另外,0S 实现了对计算机资源的抽象,隐藏了对硬件操作的细节,使用户能更方便地使用机器。操作系统是系统软件,它管理着计算机的软硬件资源。软件资源是指计算机中的应用程序和数据。

7. 在操作系统中,可以并行工作的基本单位是( )。

A. 作业

B. 程序

C. 进程

D. 过程

【答案】C

8. CPU 对通道的请求形式是( )。

A. 自陷

B. 中断

C. 通道命令

D.I/O指令

【答案】D

9. 有关进程的说法不正确的是( )

A. 操作系统通过PCB 来控制和管理进程,用户进程可从PCB 中读出与本身运行状态相关的信息。

B. 用户进程被创建时,系统为它申请和构造一个相应的PCB 。

C. 进程的优先级信息是保存在进程的PCB 中的。

D. 同一个程序是不能被创建成多个进程的。

【答案】D

【解析】一个应用程序通常有多个进程组成。程序是构成进程的组成部分之一,一个进程的运行目标是执行它所对应的程序。从静态的角度看,进程是由程序、数据和进程控制块(PCB )三部分组成的。