题目内容
若有一个文件F,供进程共享。现把进程分成A、B两组,规定同组的进程可以同时读文件F,但当有A组(或B组)的进程在读文件F时不允许B组(或A组)的进程读文件F。现定义两个计数器C1和C2分别记录A组和B组中读文件F的进程数。当用P、V操作进行管理时需要三个信号量Sl、S2和SAB才能保证正确的并发执行。程序结构如下:Begin Sl,S2,SAB:semaphore;C1,C2:integer;S1:=1;S2:=1 ;SAB:=1;C1:=0;C2:=0;cobeginprocess Ai(i=1,2,…)begin(( 1 ));C1:=C1十1;if Cl=1 then(( 2 ));(( 3 ));read file F(( 4 ))C1:=C1-1;if Cl=0 then(( 5 ))(( 6 ));end;process Bj(j=1,2,…)begin(( 7 ));C2:=C2十1;if C2=1 then(( 8 ));(( 9 ));read file F;(( 10 ));C2:=C2-1;if C2=0 then(( 11 ));(( 12 ));end;coend;end;【回答】:1.说明信号量S1,S2,SAB的作用2. 在上述程序的括号内填入适当的P、V操作,完善该程序。
查看答案
搜索结果不匹配?点我反馈