进程管理复习资料 下载本文

在临界区后必须增加一段称作退出区的代码,用于将已有进程进入临界区访问临界资源的标志改为无进程进入临界区使用临界资源。进入区、退出区具体可用多种同步机制实现,如锁、信号量机制等。

何谓“忙等”?它有什么缺点?

答:所谓“忙等”是指“不让权”的等待,即进程因某事件的发生而无法继续执行时,它仍占有CPU,并通过不断地执行循环测试指令来等待该事件的完成。

“忙等”的主要缺点是浪费CPU的时间,另外,它还可能引起预料不到的后果。例如,考虑某个采取高优先权优先调度原则的系统,目前有2个进程A和B共享某个临界资源,A的优先权较高,B的优先权较低,且B已处于临界区内,而A欲进入自己的临界区,则A、B都不可能继续向前推进,陷入“死等”状态。

进程之间存在着哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? (1) 若干同学去图书馆借书; (2) 两队举行篮球比赛; (3) 流水线生产的各道工序; (4) 商品生产和社会消费。

答:进程之间存在着直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。 (1) 若干同学去图书馆借书是间接制约,其中书是临界资源。 (2) 两队举行篮球比赛是间接制约,其中篮球是临界资源。 (3) 流水线生产的各道工序是直接制约,各道工序间需要相互合作,每道工序的开始都依赖

于前一道工序的完成。

(4) 商品生产和社会消费是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;

商品被消费后才需要再生产。

为什么要引入信号量机制?信号量机制可以被用于何种场合?

答:1965年,Dijkstra在讨论并发进程时指出信号量机制是一种卓有成效的进程同步机制。由于操作系统可以被看成一个并发进程集,如果提供一种能支持他们之间合作的可靠机制,用户就能很容易地使用它们。因此它现已被广泛地应用于各种类型的操作系统中。 信号量的主要含义和用途如下:

(1)信号量的含义。信号量是一个用来实现同步的整型或记录型变量,除了初始化外,对它只能执行wait和signal这两种原子操作。

(2)信号量的物理意义。一个信号量S通常对应于一类临界资源。

(3)用信号量实现互斥。为了实现进程对临界资源的互斥访问,需为每类临界资源设置一初值为1的互斥信号量mutex。

(4)用信号量实现前趋关系。为实现前趋关系Pi→Pj,可为它们设置一个初值为0的信号量S。

3.原语与广义指令的主要区别。

答:所谓原语,是由若干条指令所组成一个指令序列,用来实现某个特定的操作功能。这个指令序列的执行是连续的,具有不可分割性,在执行时也不可间断,直到该指令序列执行结束。原语是操作系统核心的一个组成部分。原语必须在管态下执行,并且常驻内存。

广义指令是作为机器指令的扩充而提供的,以便增加机器的功能。它是通过执行相应的程序模块来实现的,使计算机成为功能强大的虚拟计算机。现代计算机CPU的指令系统中都有一条称为“访管”的指令,用户

第 17 页 共 36 页

特别是编程人员可以利用这条指令来访问操作系统并向它提出要求。

7.何谓临界资源?使用临界资源的原则是什么?使用临界资源的诸进程间如何实现进程同步。 答:一次仅允许一个进程使用的资源称为临界资源。内存变量、指针、数组等等也是临界资源。 入临界区的准则:

(1)每次至多有一个进程处于临界区;

(2)当有若干个进程欲进入临界区时,应在有限的时间内使其进入; (3)进程在临界区内仅逗留有限的时间。

可以采取如下策略实现临界资源的访问同步: (1)锁机制 (2)信号量机制 (3)管程 (4)消息机制

10.进程产生的主要原因有哪些?Windows XP在启动时会有哪些进程产生? 答:进程产生的主要原因有:系统初始化;正在执行进程创立程序(子进程);用户请求创建新进程。在一个系统初始化时,将有许多系统正常运行时必不可少的进程产生。如Windows初始化时自动产生对话管理(SMSS)、登录管理(WINLOGON)、安全管理(LSASS),Windows子系统(CSRSS)、Windows壳(explore)等系统进程。

11.进程消亡的主要原因有哪些?

答:进程消亡的主要原因有:进程运行完成而退出(寿终);进程因错误而自行退出(自杀);进程被其他进程强行“杀死”(他杀);进程因异常而强行终结(处决)。

12.进程创建的主要步骤是什么?

答:进程创建的主要步骤是:分配进程控制块;初始化机器寄存器;初始化页表;将程序代码从磁盘读入内存;将处理器状态设置为“用户态”;跳转到程序的起始地址(即设置程序计数器)。 注:最后2步由硬件作为一个步骤一起完成。

第 18 页 共 36 页

第二部分 选择题

1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完

2.分配到必要的资源并获得处理机时的进程状态是 B 。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 3.P、V操作是 A 。

A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语

4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况, 不可能发生的情况是 A 。

A.没有运行进程,有2个就绪进程,n个进程处于等待状态。 B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。 C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。 D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

5.若P、V操作的信号量S初值为2,当前值为-1,则表示有 B 等待进程。 A. 0个 B. 1个 C. 2个 D. 3个

6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。

A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中

7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。

A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中 8.下列的进程状态变化中, C 变化是不可能发生的。

A.运行?就绪 B.运行?就绪 C.等待?运行 D.等待?就绪 9.一个运行的进程用完了分配给它的时间片后,它的状态变为 A 。

A.就绪 B.等待 C.运行 D.由用户自己确定 10.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。 A.等待 B.就绪 C.运行 D.完成 11.操作系统通过 B 对进程进行管理。

A. JCB B. PCB C. DCT D. CHCT 12.用P、V操作可以解决 A 互斥问题。

A. 一切 B. 某些 C. 正确 D. 错误 13.一个进程被唤醒意味着 D 。

A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 D. 进程变为就绪状态 14.多道程序环境下,操作系统分配资源以 C 为基本单位。

A. 程序 B. 指令 C. 进程 D. 作业 15. 从静态的角度看,进程是由(A)、(B)、(C)三部分组成的,其中(C)是进程存在的唯一标志。当几个进程共享(A)时,(A)应当是可重入代码。 A:程序段;

第 19 页 共 36 页

B:数据段; C:PCB;

16. 进程的三个基本状态是(A)、(B)、(C)。由(A)到(B)是由进程调度所引起的;由(B)到(C)是正在执行的进程发生了某事件,使之无法继续执行而引起的。 A:就绪; B:执行; C:阻塞;

17. 正在等待他人释放临界资源的进程处于(A)状态,已分配到除CPU外的所有资源的进程处于(B)状态,已获得CPU的进程处于(C)状态。 A:阻塞; B:就绪; C:执行;

18. 下列进程状态转换中,绝对不可能发生的状态转换是(A);一般不会发生的状态转换是(B)。 A:就绪?阻塞; B:阻塞?执行;

19. 在一个单处理机系统中,存在5个进程,最多可有(A)个进程处于就绪队列;如果这5个进程中有一个系统进程IDLE(也叫空转进程,因为它只是不断循环地执行空语句),则最多可有(B)个进程处于阻塞状态。 A,B:(1)5;(2)4;(3)3;(4)2;(5)1;(6)0。

20. 正在执行的进程由于其时间片用完被暂停执行,此时进程应从执行状态变为(A)状态;处于静止阻塞状态的进程,在进程等待的事件出现后,应变为(B)状态;若进程正处于执行状态时,因终端的请求而暂停下来以便研究其运行情况,这时进程应转变为(C)状态,若进程已处于阻塞状态;则此时应转变为(D)状态。 A:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。 B:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。 C:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。 D:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。

21. 为使进程由活动就绪转变为静止就绪,应利用(A)原语;为使进程由执行状态转变为阻塞状态,应利用(B)原语;为使进程由静止就绪变为活动就绪,应利用(C)原语;从阻塞状态变为就绪状态应利用(D)原语。 A:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。 B:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。 C:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。 D:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。 22. 在分时系统中,导致进程创建的典型事件是(A);在批处理系统中,导致进程创建的典型事件是(B);由系统专门为运行中的应用进程创建新进程的事件是(C)。在创建进程时,(D)不是创建所必需的步骤。 A:(1)用户注册;(2)用户登录;(3)用户记账;(4)用户通信。 B:(1)作业录入;(2)作业调度;(3)进程调度;(4)中级调度。 C:(1)分配资源;(2)进行通信;(3)共享资源;(4)提供服务。 D:(1)为进程建立PCB;(2)为进程分配内存等资源;(3)为进程分配CPU;(4)将进程插入就绪队列。

23. 从下面对临界区的论述中,选出一条正确的论述。 (1)临界区是指进程中用于实现进程互斥的那段代码。

第 20 页 共 36 页