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

2017年北京大学地球与空间科学学院408计算机学科专业基础综合之计算机操作系统考研冲刺密押题

  摘要

一、选择题

1. 设与某资源相关联的信号量初值为3, 当前值为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( )。

A.0, 1

B.1, 0

C.1, 2

D.2, 0

【答案】B

【解析】首先应该明确资源型信号量的含义。资源型信号量可以用来表示某资源的当前可用数量,初值与对应资源的初始数量相同,题目中信号量初值为3, 表示该资源初始时有3个。

信号量当前值K>0时,表示此资源还有K 个资源可用,题目中信号量当前值为1,表示还有1个可用资源,M 应该为1。由于还存在可用资源,所以此时不应存在等待该资源的进程,N 应当为0。因此答案选B 项。

2. 早期微型机中,不常用的I/O信息交换方式是( )。

A. 程序查询方式

B. 中断方式

C.DMA 方式

D. 通道方式

【答案】D

3. 把逻辑地址转变为内存的物理地址的过程称做( )。

A. 编译

B. 连接

C. 运行

D. 重定位

【答案】D

4. 文件系统采用两级索引分配方式,如果每个磁盘块大小为1KB , 每个盘块号占4字节,则在该系统中,文件的最大长度是( )。

A.64MB

B.128MB

C.32MB

D. 以上都不对

【答案】A

【解析】每个磁盘块大小为1KB ,每个盘块号占4字节,则一个盘块可以存放1KB/4B=256

个盘块,则二级索引文件的最大长度是

5. ( )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A. 先来先服务

B. 静态

C. 动态

D. 短作业

【答案】B

【解析】静态优先数是在进程创建时根据进程初始特性或用户要求而确定的,而且该优先数在进程的整个生命周期内一直不变。

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

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

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

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

A. 仅

B. 仅

C. 仅 D.

【答案】A

【解析】当用户进程读取的磁盘文件数据不在内存时,转向中断处理,导致CPU 从用户态切

,因此I 、II 换到核心态,此时该进程进入睡眠等待状态(其实就是阻塞态,只不过换了个说法)

正确。

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

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

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

A. 硬件

B. 关中断指令

C. 开中断指令

D. 软件

【答案】B

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

A. 系统调用

B. 外部中断

C. 进程切换

D. 缺页

【答案】C

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

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

B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断

;进程缺页会产生缺页是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断)

中断等,这些都经常发生在用户进程中,自然这些也都是用户态的事件。以键盘输入举例,一个

,用户进程需要用户输入一串命令,当用户用键盘输入时会引发外部中断(此时CPU 还是用户态)

,处理程序处理之后将输此时系统会切换至系统态执行中断处理程序(这时CPU 转变为系统态)

入结果返回给用户程序并将CPU 状态切换为用户态,中断处理结束。由此过程可见,中断的发生和处理与系统调用类似,都是发生在用户态,通过切换至系统态完成对应功能,然后返回至用户态。系统调用和中断的发生是在用户态,处理是在系统态。

,看D 项,缺页与B 项类似,用户态执行进程缺页时会产生缺页中断(中断发生在用户态)

然后系统转入系统态进行缺页中断处理,然后再返回用户态,将控制权交还给用户进程。因此D 项也可以发生在用户态。

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

9. 下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。

A. 先来先服务

B. 高响应比优先

C. 时间片轮转