文档库 最新最全的文档下载
当前位置:文档库 › 操作系统习题及答案三

操作系统习题及答案三

操作系统习题及答案三
操作系统习题及答案三

习题三同步、通信与死锁

一、单项选择题

1在单一处理机上,将执行时间有重叠的几个程序称为()。

A. 顺序程序

B.多道程序

C.并发程序

D.并行程序

2、进程间的基本关系为()。

A. 相互独立与相互制约

B.同步与互斥

C.并行执行与资源共享

D.信息传递与信息缓冲

3、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或

者建立某个条件后再向前执行,这种关系是进程间的()关系。

A. 同步

B.互斥

C.竞争

D.合作

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

A.共享资源

B.临界区

C.临界资源

D.共享区

5、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件

是()。

A. S>0

B. S=0

C. S<0

D. S=0

6、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为(

)。

A . 10 B. 8 C. 6 D. 4

7、临界区是指()。

A. 并发进程中用于实现进程互斥的程序段

B. 并发进程中用于实现进程同步的程序段

C. 并发进程中用户实现进程通信的程序段

D. 并发进程中与共享变量有关的程序段

8、下列对线程的描述中,()是错误的。

A.不同的线程可执行相同的程序 B ?线程是资源的分配单位

C.线程是调度和执行单位 D ?同一进程中的线程可共享该进程的主存空间

9、P, V操作是()

A.两条低级进程通信原语

B.两组不同的机器指令

C. 两条系统调用命令

D. 两条高级进程通信原语

10、若P, V操作的信号量S初值为2,当前值为-1,则表示有()等待进程。

A. 0 个

B. 1 个

C. 2 个

D. 3 个

11、()是一种只能进行P操作和V操作的特殊变量.

A.调度

B.进程

C.同步

D.信号量

12、下面的叙述中正确的是()。

A. 操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同

B. 为了避免发生进程死锁,各进程只能逐个申请资源

C. 操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关

的信息

D. 进程同步是指某些进程之间在逻辑上的相互制约关系

13、对于两个并发进程,设互斥信号量为mutex,若mutex=0 ,则().

A.表示没有进程进入临界区

B. 表示有一个进程进入临界区

C. 表示有一个进程进入临界区,另一个进程等待进入

D. 表示有两个进程进入临界区

14、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破

坏()条件是不太实际的。

A ?互斥

B ?不可抢占

C. 部分分配 D ?循环等待

15、资源的按序分配策略可以破坏()条件。

A ?互斥使用资源

B ?占有且等待资源

C. 非抢夺资源 D ?循环等待资源

16、在()的情况下,系统出现死锁。

A ?计算机系统发生了重大故障

B ?有多个封锁的进程同时存在

C.若干进程因竞争资源而无休止地相互等待他方释放己占有的资源

D ?资源数大大小于进程数或进程同时申请的资源数大大超过资源总数

17、银行家算法是一种()算法。

A?死锁解除C.死锁预防B ?死锁避免D .死锁检测

18某系统中有3个并发进程,都需要冋类资源4个, 试问该系统不会发生死锁的最少资源数是()。

A ? 9 B.10 C. 11D. 12

19、信箱通信是一种()通信方式。

A.直接通信B?间接通信C.低级通信 D. 信号量

20、并发进程失去了封闭性是指()。

A .多个相对独立的进程以各自的速度向前推进

B ?并发进程的执行结果与速度无关

C.并发进程执行时,在不同时刻发生的错误

D ?并发进程共享变量,其执行结果与速度有关

二、填空题

1、若一个进程已进入临界区,其他欲进入临界区的进程必须 _________ 。

2、用P, V操作管理临界区时,任何一个进程在进入临界区之前应调用操作,退出临

界区时应调用______ 操作。

3、用信箱实现通信时,应有_____ 和______ 两条基本原语。

4、有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号

量值的变化范围是_______ 。

5、死锁产生的必要条件有四个,即_________ 、________ 、________ 、_________ 。

6、银行家算法中,当一个进程提出的资源请求将导致系统从进入时,系统就

拒绝它的资源请求。

7、PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为

8、在多线程操作系统中,线程与进程的根本区别在于进程作为单位,而线程

是__________ 单位。

9、临界区是指并发进程中与_________ 有关的程序段

10、操作系统中信号量的值与________ 的使用情况有关,它的值仅能由_________ 来改变。

三、简答题

1、什么是进程的互斥与同步?

2、一个进程进入临界区的调度原则是什么?

3、在操作系统中,P操作和V操作各自的动作是如何定义的?

4、为什么并发进程执行时可能会产生与时间有关的错误?如何避免?

5、为什么说采用有序资源分配法不会产生死锁?

四、应用题

1、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)如何定义信号量及初值;

(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:

进程A 进程B 进程C 进程D

[1] ;[3] ;[5] ;[7];

read F;read F;read F;read

F;

[2] ;[4] ;[6] ;[8];

2、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠

卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印,问:

①系统要设几个进程来完成这个任务?各自的工作是什么?

②这些进程间有什么样的相互制约关系?

③用P、V操作写出这些进程的同步算法。

3、生产者-消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。

生产者进程将生产的产品送入缓冲区,消费者进程则从中取出产品。假定环形缓冲池中共有N个缓冲区,编号为0~N-1。

为了描述生产者进程和消费者进程,设指针in和out分别指向生产者进程和消费者进

程当前所用的缓冲区(buffer),初值均为0。

(1)应设置三个信号量实现两类进程的同步,分别是full、empty和mutex。请说出它们的含义及初值。

(2)下面是生产者进程的算法描述,请填写相应的P、V操作语句。

while (TRUE){

----------------------- ;

产品送往buffer (in);

in= (in+1)mod N ;/*mod 为取模运算*/

(3) 指出生产者进程算法中的临界区是哪一段程序? 4、在银行家算法中,若出现下述资源分配情况:

Allocatio n

Need

Available P0 0 0 3

2 0 0 1 2 16 2 2

P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6

P3

0 3 3 2 0 6 5 2

P4 0 0 1 4

0 6 5 6

试问:(1)该状态是否安全?

(2)如果进程P2提出请求Request2(1, 2,2,2)后,系统能否将资源分配给 它?

5、 桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专 等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者 取用,请用P, V 原语实现爸爸、儿子、女儿三个并发进程的同步。

6、 哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论:在讨论的间 隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如图

2.9所示。请用

信号量及P 、V 操作说明这四位哲学家的同步、互斥过程。

刀2 叉1

答案三同步、通信与死锁

一、单项选择题

1、C

2、B

3、A

4、C

5、A

6、C

7、D

8、B

9、A10、B

11、D 12 、D13、

B

14、

A

15、D16、C17 、B18、B19、B20、D

二、填空题

1、等待

2、P、V

3、发送、接收

4、1至-(m-1)

5、互斥条件、不剥夺条

件、部分分

配、

环路条件

6、安全状态、不安全状态

7、低级通信

8、资源分配、调度和执行单位

9、共享变量

10、资源、PV 操作

三、简答题1.进程的互斥是指在逻辑上本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系。

进程的同步是进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙

伴关系的进程在执行时间次序上必须遵循确定的规律。

2.一进程进入临界区的调度原则是:

①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。

④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现忙等”现象。

3.P 操作顺序执行下述两个动作:

①信号量的值减1,即S=S-1;

②如果S>0,则该进程继续执行;

如果S v 0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。

V操作顺序执行下述两个动作:

①S值加1,即S=S+1 ;

②如果S>0,则该进程继续运行;

如果s w0,则释放信号量队列上的第一个PCB (即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V 操作的进程继续运行。

4.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时

间、执行的速度和外界的影响等, 就会引起与时间有关的错误。只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。

5.为了便于说明,不妨设系统中有m类资源,n个进程,分别用Rl, R2,…,Rm (1, 2,…,m可看作资源编号)和P1, P2,…Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri 类资源后,再申请的资源

Rj的编号j 一定大于i。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号

的资源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当

Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在

一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直

向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。

四、应用题

1解:

(1)定义二个信号量S1 S2,初值均为1,即:S1=1, S2=1 (共2分)

(2)从[1]到[8]分别为:P(S1), V(S1) , P(S2), V(S2) , P(S1) , V(S1) , P(S2),

V(S2)

2、解:

①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入

到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。

②R进程受C进程影响,B1放满信息后R进程要等待一一等C进程将其中信息全部取走,

才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满

后P进程才可从中取出它们,进行打印。

③信号量含义及初值:

B1full ―― 缓冲区B1满,初值为0;

B1empty――缓冲区B1空,初值为0;

B2full ―― 缓冲区B2满,初值为0;

B2empty――缓冲区B2空,初值为0;

P进程

P(B2full);

从B2中取出信息进行打印;

V(B2empty);

3?答:

(1)full表示放有产品的缓冲区数,初值为0;empty表示可供使用的缓冲区数,初值为

N ;

mutex为互斥信号量,初值为1,表示互斥进入临界区。

(2)P (empty) ,P (mutex) ,V (mutex) ,V (full)

R进程C进程

相关文档