第2章 进程管理Word文档下载推荐.docx

上传人:b****2 文档编号:888340 上传时间:2023-04-29 格式:DOCX 页数:19 大小:53.88KB
下载 相关 举报
第2章 进程管理Word文档下载推荐.docx_第1页
第1页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第2页
第2页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第3页
第3页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第4页
第4页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第5页
第5页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第6页
第6页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第7页
第7页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第8页
第8页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第9页
第9页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第10页
第10页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第11页
第11页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第12页
第12页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第13页
第13页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第14页
第14页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第15页
第15页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第16页
第16页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第17页
第17页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第18页
第18页 / 共19页
第2章 进程管理Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第2章 进程管理Word文档下载推荐.docx

《第2章 进程管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第2章 进程管理Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

第2章 进程管理Word文档下载推荐.docx

16.a17.a18。

d19。

d20。

b21。

a22。

d23。

d24。

a

25.b26.c27。

b28。

d29。

c30。

B

二、填空题[解答]

1.线性表链接表(或队列)2.删除剥夺

3.因为PCB是进程存在的唯一标志,故填PCB4.资源竞、进程推进顺序不当

5.非剥夺条件逐次请求条件环路条件6.就绪运行

7.进程中访问临界资源的那段程序代码

8.当出现死琐的极端情况时,处于等待的进程数为n,故填n

9.可用资源的数目,因请求该资源而被阻塞的进程数目

10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填

“剥夺式”11.PV

12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填4

13.互斥、同步、条件变量14.—2~215.临界区(或互斥段)16.程序数据PCB.

17.银行家算法18.同步19.运行态进程调度20.创建消亡

21.资源分配独立运行调度22.临界区P操作V操作

23.引起进程调度的原因进程调度算法的选择就绪队列的组织.

三、问答题

1.试比较进程和程序的区别。

[解答]进程和程序的区别如下:

(1)程序是指令的有序集合,是一个静态的概念,其本身没有任何运行的含义,进程是程序在处理机上的一次执行过程,是一个动态的概念。

(2)程序作为软件资料可长期保存,而进程则是有生命期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。

(3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块3部分

组成。

(4)进程与程序之间无一一对应关系。

不同的进程可以包含同一个程序,同一个程序在执行中也可以产生多个进程。

(5)进程是一个独立运行的单位,也是系统进行资源分配和调度的独立单位,而程序无此概念。

2.进程和线程的主要区别是什么?

[解答]进程和线程的主要区别如下:

(1)线程是进程的一个组成部分。

一个进程可以有多个线程,而且至少有一个可执行线程。

(2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资料。

线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。

(3)进程的多个线程都在进程的地址空间内活动。

这样,在以线程为单位进行独立机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。

而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。

(4)线程和进程一样,都有自己的状态和相应的同步机制。

但是,由于线程没有自己单独的程序数据空间,因而不能像进程的程序和数据那样交换到外存去。

(5)进程的调度和控制大多由操作系统的内核完成,而线程的控制既可以由操作系统的内核完成,也可以由用户控制完成。

3.进程之间存在哪几种相互制约的关系?

各是什么原因引起的?

下列活动分别属于哪种制约关系?

(1)若干同学去图书借书;

(2)两队举行篮球比赛;

(3)流水线生产的各道工序;

(4)商品生产和社会消费;

[解答]进程之间的制约关系分为直接制约(即同步)和间接制约关系(即互斥)。

同步是因合作进程之间协调彼此的工作而控制自己的执行速度,即因相互合作、相互等待而产生的制约关系;

而互斥是进程之间竞争临界资源而禁止两个以上的进程同时进入临界区所发生的制约关系。

(1)属于互斥关系,因为一本书只能借给一个同学。

(2)属于互斥关系,篮球只有一个,两队都要争夺。

(3)属于同步关系,各道工序的开始都依赖前一道工序的完成。

(4)属于同步关系,商品没有生产出来则消费无法进行,商品没有消费完则无须再生产。

4进程基本状态变迁如图3-8所示。

问:

(1)在什么情况下将发生下述状态的因果变迁?

a.21b.32c.41d..31

(2)在什么情况下,下述状态变迁不会立即引起其他变迁?

a.1b.2c.3d.4

123

4

图3-8进程基本状态变迁图

[解答]

(1)各种状态因果变迁发生的情况如下:

a.正运行的进程因时间片到变为就绪状态的变迁2,必然引起一个就绪进程被调度执行的变迁1。

b.

32不可能产生。

c.当一进程从等待状态变为就绪状态的变迁4,在该进程的优先级最高且系统采用抢占式调度时,就会引起该进程又被调度执行的变迁1。

d.正在运行的进程因请求资源未得到满足而变为等待状态的变迁3,必然引起一个就绪进程被调度执行的变迁1。

(2)不引起其他变迁的情况如下:

a.由就绪状态变为运行状态的变迁1不会引起其他变迁。

b.变迁2必然引起变迁1。

c.仅当无就绪进程时,变迁3不会引起变迁1。

非抢占式调度下或从等待状态变为就绪状态时的进程优先级较低,则不引起变迁1,

d.非抢占式调度下或从等待状态变为就绪状态时的进程优先级较低,则不引起变迁1,当然也不引起其他变迁。

5产生死锁的必要条件是什么?

解决死锁问题常用哪几种措施?

【解答】产生死锁的必要条件如下:

(1)互斥条件:

进程对所需要的资源进行排它性控制,即在一段时间内某资源为一进程所独占。

(2)请求和保持条件:

进程因请求资源阻塞时,对已分配它的资源保持不放。

(3)不剥夺条件:

进程所获得的资源在未使用完之前,不能被其他进程强占,而只能由该进程自己释放。

(4)环路条件:

在发生死锁时,进程――资源图必构成一环路,即前一个进程保持着后一个进程所需要的资源。

 解决死锁问题常用的措施有:

(1)死锁的预防;

(2)死锁的检测与解除。

四、解答题

1.有3个并发进程R、M、P,它们共享同一缓冲区。

进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区中;

进程M在缓冲区中加工读入的记录;

进程P把加工后的记录打印输出。

读入的记录经加工输出后,缓冲区又可以存放下一个记录。

试写出它们能够正确执行的并发程序。

【解答】  这是一个简单的生产者――消费者问题。

由于3个并发进程R、M和P共享一个缓冲区,因此它们之前存在如图3-14所示的制约关系。

c

b

图3-14R、M和P的制约关系图

R、M和P的同步关系如下:

Begin

a:

=0;

b:

c:

cobegin

R:

begin

Repeat

P(c);

从输入设备读入一记录到缓冲区;

V(a);

4untilfalse

End;

M:

P(a);

在缓冲区中加工读入的记录;

v(b);

untilfalse

end;

p:

begin

repeat

p(b);

打印加工后的记录;

v(c)

untilfalse

end

coend

注意:

为了保证首先执行,所以信号量C的初植应设为“1”。

此外,由制约关系图3-4可以看出来,R,M和P不会竞争缓冲区资源,故无须设置用于互斥的公用信号量。

 

2.多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。

读者可以同时读,但是写者只能独立地写。

(1)说明进程间的相互制约关系,应设哪些信号量?

(2)用P、V操作写出其同步算法。

(3)修改上述的同步算法,使得它对写者优先,即一旦有写者到达,后续的读者都必须等待,而无论是否有读者在读文件。

count:

=0

cobegin

readeri(i=1,2,…m):

P(rmutex);

count:

=count+1;

ifcount=1thenP(wmutex);

/*第一个读者开始访问则禁止写者访问*/

V(rmutex);

读文件;

P(rmutex);

=count-1;

ifcount=0thenV(wmutex);

/*没有读者访问则允许写者访问*/

V(rmutex)

end;

writerj(j=1,2,…n):

begin

P(wmutex);

写文件;

V(wmutex)

end

coend

(3)在

(2)中,当有读者在读而使写者阻塞时,如果仍有其他读者不断地请求读则写者就难以有机会执行。

在实际系统中则希望让写者优先,即当有读者正在读文件时,有写者请求访问,这时应禁止后续读者的读请求,待到已在读文件的读者执行完毕则立即让写者运行;

只有在无写者写文件的情况下才允许读者投入运行。

为了提高写者的优先级,可以增加一个信号量W,即当有写者担出写请求时通过信号量W封锁后续读者的读请求。

写者优先的算法描述如下:

rmutex:

=1;

wmutex:

=0;

w:

=1;

cobegin

P(w)/*在无写者请求时进入*/

V(rmutex);

V(w)

读文件;

ifcount=1thenV(wmutex);

V(rmutex)

Writerj(j=1,2,…,n):

P(w);

P(wmutex);

V(wmutex);

end

3.设有P1、P2、P33个进程共享某一资源F,P1对F只读不写,P2对F只写不读,P3对F先读后写。

当一个进程写F时,其他进程对F不能进行读写,但多个进程同时读F是允许的。

试用P、V操作正确实现P1、P2、P3的同步与互斥。

要求:

(1)正常运行时不产生死锁;

(2)使用F的并发度要高。

本题仍是一个读者一写者问题,不过进程P3既是读者又是写者。

由于写者与写者之间互斥、读者与写者之间互斥,所以只能通过读者之间可以同时读来提高使用F的并发度,即昼让读者优先。

实现P1、P2、P3同步与互斥的算法如下:

cobegin

P1:

begin

regeat

ifcount=1thenP(wmutex);

读F;

ifcount=0thenV(wmutex);

untilfalse

end;

P2:

repeat

写F;

P3:

读F;

P(wmutex);

写F;

V(wmutex);

coend

由于本题实际上是一个标准和读者——写者问题解法的重复,因此正常运行时不会产生死锁。

4.设系统仅有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求为W。

当M、N、W分别取下列值时,试判断下列哪些情形会发生死锁?

为什么?

(1)M=2;

N=2,W=1;

(2)M=3;

N=2,W=2;

(3)M=3;

N=2,W=3;

(4)M=5;

N=3,W=2;

(5)M=6;

N=3,W=3;

【解答】

如果资源数为M,进程个数为N,则每个进程对该资源的最大需求不超过下面公式的X值时,系统不会发生死锁:

1当M≤N时

X=1+∟(M-1)/N」当M>

N时

(注:

“∟」”表示对结果取下界,即去掉小数部分。

由此得到:

(1)X=1,X=W,即系统不会出现死锁。

(2)X=2,X=W,即系统不会出现死锁。

(3)X=2,X<

W,即系统可能出现死锁。

(4)X=2,X=W,即系统不会出现死锁。

(5)X=2,X<

对于(3),资源个数为3,进程个数为2且每个进程对资源的最大需求是3。

如果这两个进程一个获得了2个资源,另一个获得了1个资源,则它们都因再无资源可以得到而死锁。

对于(5)资源个数为6,进程个数为3且每个进程对资源的最大需求是3;

如果这3个进程中的每一个都已获得了2个资源,则它们都将因无资源可得到而死锁。

5.生产围棋的工人不小心把相等数量的黑子和白子混装在一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,系统功能如下:

(1)进程A专门拣黑子,进程B专门拣白子:

(2)每个进程每次只拣一个子,当一个进程在拣子时不允许另一进程去拣子;

(3)当一个进程拣了一子(黑子或白子)以后,必让另一个进程拣一个子(白子或黑子)。

请用PV操作管理这两个并发进程,使其能正确实现上述功能。

解:

属于进程同步问题。

程序如下:

VarS1,S2:

semaphore:

=1,0;

parbegin

A:

beginB:

repeatrepeat

wait(S1);

wait(S2);

拣黑子;

拣白子;

signal(S2);

signal(S1);

untilfalseuntilfalse

endend

parend

end

6.用P、V操作实现下述问题的解。

桌上有一个盘子,可以存放一个水果,父亲总是放苹果到盘子中,而母亲则总是放香蕉到盘子中;

一个儿专等吃盘中的香蕉,而一个女儿专等吃盘中的苹果。

由于父亲和母亲可以同时向盘子放水果,所以盘子是临界资源,应设置一互斥信号量mutex来实现放水果的互斥,其初值为1。

此外,父亲的女儿、母亲和儿子之间存在同步关系,即分别设置信号量apple和banana来分别实现这种同步关系,其初值均为0。

父亲、母亲、女儿和儿子4个进程的同步示意如图3-26所示。

进程father进程mother进程daughter进程son

P(mutex)P(mutex)P(apple)P(banana)

向盘中放苹果向盘中放香蕉取盘中的苹果取盘中的香蕉

V(apple)V(banana)V(mutex)V(mutex)

图3-264个进程的并发程序如下:

4个进程的并发程序如下:

mutex:

=1;

apple:

=0;

banana:

father:

P(mutex);

向盘中放苹果;

V(apple)

end;

mother:

向盘中放香蕉;

V(banana)

daugbter:

P(apple);

取盘中苹果;

V(mutex)

son:

P(banana);

取盘中香蕉;

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

当前位置:首页 > 法律文书 > 调解书

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

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