电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第三章-作业参考答案

第三章-作业参考答案_第1页
1/12
第三章-作业参考答案_第2页
2/12
第三章-作业参考答案_第3页
3/12
精品文档---下载后可任意编辑第三章 作业参考答案P181 第 3 题:答:现对进程语句进行编号,以方便描述。P1: P2:begin begin y:=1; ① x:=1; ⑤ y:=y+3; ② x:=x+5; ⑥ V(S1); P(S1); z:=y+1; ③ x:=x+y; ⑦ P(S2); V(S2); y:=z+y ④ z:=z+x; ⑧ end. end.①、②、⑤和⑥是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系统如何调度进程并发执行,当执行到语句⑦时,可以得到 x=10,y=4。按Bernstein 条件,语句③的执行结果不受语句⑦的影响,故语句③执行后得到 z=5。最后,语句④和⑧并发执行,这时得到了两种结果为:语句④先执行:x=10,y=9,z=15。语句⑧先执行:x=10,y=19,z=15。 此外,还有第三种情况,语句③被推迟,直至语句⑧后再执行,于是依次执行以下三个语句:z:=z+x;z:=y+1;精品文档---下载后可任意编辑 y:=z+y;这时 z 的值只可能是 y+1=5,故 y=z+y=5+4=9,而 x=10。第三种情况为:x=10,y=9,z=5。P181 第 5 题:解:设信号量 empty,mutex;empty:=100;mutex:=1;parbegin读者进入:beginP(empty);P(mutex);登记;P(mutex);End;读者离开:begin P(mutex);撤消登记;V(mutex);V(empty);End;Parend;精品文档---下载后可任意编辑P181 第 6 题:答:实质上是两个进程的同步问题,设信号量 S1 和 S2 分别表示可拣白子和黑子,不失一般性,若令先拣白子。Main( ){ int S1=1, S2=0; CobeginP1( );P2( ); Coend}P182 第 15 题:Dijkstra 临界区软件算法描述如下:var flag:array[0…n] of (idle,want-in,in_cs);turn:integer;tune:0 or 1 or…or,n-1;process Pi(i=0,1,…,n-1)var j;integer; begin repeatrepeat flag[i]:=want_in; while turn≠i do P1( ){ while(拣子工作没完成) { P(S1); 拣白子 V(S2); } }P2( ){ while(拣子工作没完成) { P(S2); 拣黑子 V(S1); } }精品文档---下载后可任意编辑 if flag[turn]==idle then turn:=i; flag[i]:=in_cs; j:=0; while (j

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第三章-作业参考答案

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群