完整word版操作系统习题及答案三.docx

上传人:b****7 文档编号:16805806 上传时间:2023-07-17 格式:DOCX 页数:16 大小:68.30KB
下载 相关 举报
完整word版操作系统习题及答案三.docx_第1页
第1页 / 共16页
完整word版操作系统习题及答案三.docx_第2页
第2页 / 共16页
完整word版操作系统习题及答案三.docx_第3页
第3页 / 共16页
完整word版操作系统习题及答案三.docx_第4页
第4页 / 共16页
完整word版操作系统习题及答案三.docx_第5页
第5页 / 共16页
完整word版操作系统习题及答案三.docx_第6页
第6页 / 共16页
完整word版操作系统习题及答案三.docx_第7页
第7页 / 共16页
完整word版操作系统习题及答案三.docx_第8页
第8页 / 共16页
完整word版操作系统习题及答案三.docx_第9页
第9页 / 共16页
完整word版操作系统习题及答案三.docx_第10页
第10页 / 共16页
完整word版操作系统习题及答案三.docx_第11页
第11页 / 共16页
完整word版操作系统习题及答案三.docx_第12页
第12页 / 共16页
完整word版操作系统习题及答案三.docx_第13页
第13页 / 共16页
完整word版操作系统习题及答案三.docx_第14页
第14页 / 共16页
完整word版操作系统习题及答案三.docx_第15页
第15页 / 共16页
完整word版操作系统习题及答案三.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整word版操作系统习题及答案三.docx

《完整word版操作系统习题及答案三.docx》由会员分享,可在线阅读,更多相关《完整word版操作系统习题及答案三.docx(16页珍藏版)》请在冰点文库上搜索。

完整word版操作系统习题及答案三.docx

完整word版操作系统习题及答案三

习题三同步、通信与死锁

一、单项选择题

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>0B.S=0C.S<0D.S0

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

A.10B.8C.6D.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.死锁解除B.死锁避免

C.死锁预防D.死锁检测

18、某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最

少资源数是()。

A.9B.10C.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];

readF;readF;readF;readF;

[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)modN;/*mod为取模运算*/

(3)指出生产者进程算法中的临界区是哪一段程序?

4、在银行家算法中,若出现下述资源分配情况:

试问:

(1)该状态是否安全?

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

它?

5、桌上有一空盘,允许存放一只水果。

爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。

规定当盘空时一次只能放一只水果供吃者

取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。

6、哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论:

在讨论的间隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如图2.9所示。

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

 

答案三同步、通信与死锁

一、单项选择题

1、C2、B3、A4、C5、A6、C7、D8、B9、A10、B

11、D12、D13、B14、A15、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<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。

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

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

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

 如果S≤0,则释放信号量队列上的第一个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;

R进程C进程P进程

3.答:

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

empty表示可供使用的缓冲区数,初值为N;

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

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

(3)生产者进程算法中的临界区是如下程序段:

产品送往buffer(in);

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

4.解:

(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分

析情况:

从上述分析中可以看出,此时存在一个安全序列{P0,P3,P4,Pl,P2},故该状态是

安全的。

(2)P2提出请求Request2(1,2,2,2),按银行家算法进行检查:

.Request2(1,2,2,2)≤Need2(2,3,5,6)

.Request2(1,2,2,2)≤Available(1,6,2,2)

.试分配并修改相应数据结构,资源分配情况如下:

.再利用安全性算法检查系统是否安全,可用资源Available(0,4,0,0)已不能

满足任何进程的需要,故系统进入不安全状态,此时系统不能将资源分配给P2。

5.解:

在本题中,应设置三个信号量S,So,Sa,信号量S表示盘子是否为空,其初值

为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初

值为0。

同步描述如下:

intS=1;

intSo=0;

intSa=0;

main()

t

cobegin

father();

son();

daughter();

coend

}

father()

{

while

(1)

{

P(S);

将水果放入盘中:

If(放入的是桔子)V(So);

elseV(Sa):

}

}

son()

{

while

(1)

{

P(So);

从盘中取出桔子;

V(S):

吃桔子;

}

}

daughter()

{

while

(1)

{

P(Sa):

从盘中取出苹果;

V(S):

吃苹果;

}

}

6.解:

在本题中,应设置四个信号量forkl、fork2、knifel、knife2,其初值均为1,分别

表示资源叉1、叉2、刀1、刀2是否可用。

同步描述如下:

intfork1=l;

intfork2=1;

intknife1=l;

intknife2=l;

main()

{

cobegin

Pa();/*分别用进程Pa、Pb、Pc、Pd代表哲学家甲、乙、丙、丁的活动*/

Pb();

Pc();

Pd();

coend

}

Pa()

{

while

(1)

{

P(knife1);

P(fork1);

进餐;

V(knife1);

V(fork1);

讨论问题:

}

}

Pb()·

{

while

(1)

{

P(knife2);

P(fork1);

进餐;

V(knife2);

V(fork1);

讨论问题;

}

}

Pc()

{

while

(1)

{

P(knife2);

P(fork2);

进餐;

V(knife2);

V(fork2);

讨论问题:

}

}‘

Pd()

{

while

(1)

{

P(knife1);

P(fork2);

进餐:

V(knife1);

V(fork2);

讨论问题;

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2