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

2018年中央民族大学信息工程学院856计算机学科专业综合之计算机操作系统考研核心题库

  摘要

一、选择题

1. 下列选项中,降低进程优先权级的合理时机是( )。

A. 进程的时间片用完

B. 进程刚完成I/O操作,进入就绪列队

C. 进程长期处于就绪列队

D. 进程从就绪状态转为运行态

【答案】A

【解析】本题的解答关键在于找出哪个选项中的进程应当被赋予低优先级。

A 项中,采用时间片算法处理进程调度时,如果进程时间片用完,则需要暂停执行,并插入到就绪队列的末尾,也就是优先级最低,所以降低优先级的合理时机是时间片用完时。另外,如果采用多级反馈调度算法,当时间片用完,进程还未结束,则要放到下一级队列中;

B 项中,进程完成I/O操作后,进入就绪队列时应当排在就绪队列末尾,其是优先级最低的进程,不应再降低其优先级,而且为了让其及时处理I/O结果,可以适当提高优先级;

C 项中,进程长期处于就绪队列,需要增加优先级使其尽快得到执行,不然会产生饥饿现象(所谓饥饿就是进程长期得不到处理机,无法执行);

D 项中,当进程处于运行状态时,已经无所谓优先级,通常优先级都是针对就绪队列中进程的,执行中的和阻塞中的进程一般不用优先级来描述。

2. 有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1,P2对x 减1。

两个操作完成后,x 的值( )。

A. 可能为-1或3

B. 只能为1

C. 可能为0、1或2

D. 可能为-1、0、1或2

【答案】C

【解析】执行①②③④⑤⑥结果为1,执行①②④⑤⑥③结果为2, 执行④⑤①②⑨⑥结果为0, 结果-1无法得到。这个题目的进程之间没有同步关系,因此通过分步尝试就可以得到答案。有

的题目中两个进程会有同步关系,可以画出前趋图,以防推进顺序错误。

3. 在一段时间内,只允许一个进程访问的资源称为( )。

A. 共享资源

B. 独占资源

C. 临界资源

D. 共享区

【答案】C

4. 在UNIX 中,通常把设备作为( )文件来处理。

A. 特殊

B. 普通

C. 目录文件

D. 设备

【答案】A

5. 原语是一种特殊的系统调用命令,它的特点是( )。

A. 执行时不可中断

B. 自己调用自己

C. 可被外层调用

D. 功能强

【答案】A

【解析】原语可分为两类:一类是机器指令级的,其特点是执行期间不允许中断;另一类是功能级的,其特点是作为原语的程序段不允许并发执行。两类原语在执行时都不可中断。

二、综合题

6. 3个进程P1I 、P2、P3互斥使用一个包含N (N>0)个单元的缓冲区,P1每次用

成一个正整数,并用

数,并用送入缓冲区某一空单元中;P2每次用统计奇数个数;P3每次用从该缓冲区中取出一个偶数,并用生从该缓冲区中取出一个奇

统计偶数个数。请用信号量机制实现这3个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。

【答案】看到题目之后,可以按照如下的“五步法”来处理:

(1)分析进程之间的同步互斥关系;

(2)确定进程之间的执行顺序;

(3)根据执行顺序的制约,添加信号量;

(4)在正确位置添加对信号量的操作,并依此写出伪代码;

(5)添加关于所有信号量的说明和初值设置,完成题目。

下面按照“五步法”一步一步来讲解这个题目:

(1)分析进程之间的同步互斥关系

本题读题之后就应该看出这是在考查“生产者-消费者”问题,题中共涉及了3个进程,根据进程的行为,可以很轻易地判断出其中P1是生产者,P2和P3是消费者。

有了这个结论,可以很容易得出如下结论:Pl 、P2、P3这3个进程由于都对缓冲池有操作,而且操作结果对彼此都有影响,所以要互斥访问缓冲池,因此3个进程之间存在互斥关系。同时可以看到,只有P1产生出了奇数,P2才可以取出进行处理,如果没有奇数,则P2无法工作。因此P1和P2因为奇数而产生了固定的执行顺序(先产生,再消耗),而且只有P2释放了缓冲单元,P1才能够继续放入数字。换句话来说,P1和P2之间存在同步关系。同理可知,P1和P3之间也存在同步关系。

(2)确定进程之间的执行顺序

有了上述同步互斥关系的分析结果,可以比较容易地得到进程执行顺序:P1只要在有空余缓冲池的时候就可以随意放入数字,并通知P2或P3来取。如果P1产生的数字是奇数,则P2可以执行;如果是偶数,则P3可以执行。用图来表示更直观,如图1所示。

图1 3个进程之间的执行顺序

图中可以看到,P2和P3分别与P1因为奇数和偶数而存在同步关系,执行顺序固定。而且P2和P3处理数字之后会释放缓冲池中的缓冲单元,有空余缓冲单元P1才能够继续放入数字。图中虽然没有标明但不能忽视的一点就是:3个进程都会操作缓冲池,每次与缓冲池有关的操作都要先占用缓冲池,最后释放缓冲池,即要互斥进行。

(3)根据执行顺序的制约,添加信号量

通常在PV 题目中涉及的信号量可以分为两种,一种是互斥信号量,一种是同步信号量(通