操作系统习题集 - 2 - 进程管理(4)

2019-03-05 22:50

nonel none2

输入进程 Buf1 加工进程 Buf2 输出进程 nonel none2

18. 三个进程如下,试补充完整:

初值:nonel=none2=0;nonfl=nl,nonf2=n2, 输入进程: while(1){ (1) P(s1); 输入一个字符到bufl; V(s1);

(2) ;

} 加工进程: while(1){ P(nonel); (3) ;

从buf1中取一个字符到ch; (4) ; V(nonfl);

,s2=1。 16

sl=1 P(nonf2);

P(s2);

ch送bur2; V(s2); V(none2); } 输出进程:

while(1){

(5) ; (6) ;

从bur2取一个字符到打印口;

(7) ; (8) ; }

解:通过分析程序可知,信号量s1和s2分别用于实现对缓冲区buf1,buf2的互斥访问;nonel和nonfl用于实现输入进程与加工进程之间的同步,none2和nonf2用于实现加工进程与输出进程之间的同步。 (1) P(nonfl) (2) V(nonel) (3) P(s1) (4) V(s1) (5) P(none2) (6) P(s2) (7) V(s2) (8) V(nonf2)

19. 一个仓库,可以存放A和B两种产品,但要求: (1)每次只能存人一种产品(A或B); (2)A产品数量—B产品数量

17

其中,M、N是正整数,试用P、V操作描述产品A与产品B的入库过程。 解:条件(1)说明产品A与产品B必须互斥地放入仓库。

条件(2)和(3)说明每放入一个产品B,就可以多放入一个产品A;反之亦然。 设置信号量mutex控制产品A与产品B互斥地放入仓库。初值:mutex=1。 设置信号量Sa表示可以放入仓库的产品A的数目。初值:Sa=M-1。 设置信号量Sb表示可以放入仓库的产品B的数目。初值:Sb=N-1。 产品A与产品B的入库过程如下: Semaphore: Sa, Sb, mutex;

Sa = m-1; Sb= n-1; mutex = 1; process_A ( ) { while(1){

P(Sa);

P(mutex); A产品入库; V(mutex); V(Sb); } }

process_B ( ) { while(1){

P(Sb);

P(mutex); B产品入库; V(mutex);

18

V(Sa); } }

20. 今有A、B两组进程共享文件P,规定同组进程可以同时读文件P,但当有A组(或B组)进程在读文件P时,就不允许B组(或A组)进程读文件P。现定义两个计数器C1和C2,分别记录A组和B组中读文件P的进程数。当用P、V操作进行管理时,需要三个信号量S1、S2和SAB才能保证正确地并发执行。程序结构如下: begin

S1, S2, SAB: semaphore; C1, C2: integer;

S1: = 1;S2: = 1;SAB: = 1;C1: =0;C2: =0; cobegin

process Ai(i = 1,2,··· ) begin ( ); /*(1)*/ C1: =C1+1;

If Cl=l then( ); /*(2)*/

( ); /*(3) */

read P; ( ); /*(4)*/ C1:=C1-1;

if C1 =0 then( ); /* (5) */ ( ); /*(6)*/ end;

19

process Bj(j = 1,2, ···) begin ( ); /*(7)*/

C2: =C2+1;

If C2=l then( ); /*(8)*/

( ); /*(9)*/

read P; ( ); /*(l0) / C2: = C2 - 1;

if C2 = 0 then( ); /*(11) */

( ); /* (12)*/

end; eoend; end; 请回答:

(1)说明信号量S1,S2,SAB的作用:

(2)在上述程序的填空处填上适当的P、V操作,以保证它们能够正确地并发执行。

解: S1的作用是控制计数器C1的互斥使用。

S2的作用是控制计数器C2的互斥使用。

SAB 的作用是控制A组和B组对文件的互斥使用。

(1) P(S1) (2) P(SAB) (3) V(S1) (4) P(S1) (5) V(SAB) (6) V(S1) (7) P(S2) (8) P(SAB) (9) V(S2) (10) P(S2) (11) V(SAB) (12) V(S2)

20


操作系统习题集 - 2 - 进程管理(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:监火人培训教材

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: