考研全真试题分类解析(答案).docx

考研全真试题分类解析(答案).docx

ID:61611202

大小:287.98 KB

页数:128页

时间:2021-03-03

考研全真试题分类解析(答案).docx_第1页
考研全真试题分类解析(答案).docx_第2页
考研全真试题分类解析(答案).docx_第3页
考研全真试题分类解析(答案).docx_第4页
考研全真试题分类解析(答案).docx_第5页
资源描述:

《考研全真试题分类解析(答案).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统硕士研究生入学考试全真试题分类解析一、与时间有关错误类二、进程管理及调度类三、同步和互斥类四、死锁问题类五、存储管理类六、文件管理类七、设备管理类一、与时间有关错误类北航2001与时间有关错题有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。试问P1、P2并发执行后,x、y、z的值各为多少P1:P2:beginbeginy:=1;x:=1;y:=y+2;x:=x+1;V(S1);P(S1);z:=y+1;x:=x+y;P(S2);V(S2);y:=z+yz:=z+x;end.end.答:现对进程语句进行编号,以方便描述。P1:beginP2beg

2、in:y:=1;y:=y+2;①②x:=1;x:=x+1;⑤⑥V(S1);P(S1);z:=y+1;③x:=x+y;⑦P(S2);V(S2);y:=z+y④z:=z+x;⑧end.end.①、②、⑤和⑥是不相交句,可以任何次序交行,而果是唯一的。接着无系如何度程并行,当行到句⑦,可以得到x=5,y=3。按Bernstein条件,句③的行果不受句⑦的影响,故句③行后得到z=4。最后,句④和⑧并行,最后果:句④先行,再行⑧:x=5,y=7,z=9。句⑧先行,再行④:x=5,y=12,z=9。中科技大2000、国防科大1999与有关程P0,P1共享量flag和turn。若flag和tu

3、rn单元内容的修改和是互斥的,它如下入界区:varflag:array[0⋯1]ofBoolean;turn:0⋯1;flag[0]:=flag[1]:=false;turn:=0;processi(i=0or1)whiletruedobeginflag[i]:=true;⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.①whileturn≠i⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.②dobeginwhileflag[j]==falsedoskip;turn:=i⋯⋯⋯⋯⋯⋯⋯⋯..③end;界区;flag[i]:=false;出界区;end.算法能正确互斥如何修改解:不能。若P0行到①,flag[0]:=true;这时P0被

4、打断,P1开始行,首先行.①,使得flag[1]的true。接着行②,由于turn的初0,故入内循turn置1。度向P0,P0也入内循,由于flag[1]的己true,故P0再次把turn置0。重复上述两个操作,没有程能界区。修改算法如下:varflag:array[0⋯1]ofBoolean;turn:0⋯1;flag[0]:=flag[1]:=false;turn:=0or1;process0whiletruedobeginflag[0]:=true;turn:=1;whileflag[1]andturn=1doskip;临界区;flag[0]:=false;出临界区;end;pro

5、cess1whiletruedobeginflag[1]:=true;turn:=0;whileflag[0]andturn=0doskip;临界区;flag[1]:=false;出临界区;end;此算法能保证互斥,讨论:1没有进程在临界区,显然,任一进程能进入。2有一个进程己在临界区,另一个必将在whileflag[k]andturn=k(k=0or1)上做空操作等待进入。3进程交叉执行时,有一个也必将在whileflag[k]andturn=k(k=0or1)上做空操作等待进入。复旦大学1999、浙江大学1997与时间有关错题下述流程是解决两进程互斥访问临界区问题的一种方法。试从“互

6、斥”(mutualexclusion)、“空闲让进”(progress)、“有限等待”(boundedwaiting)等三方面讨论它的正确性。如果它是正确的,则证明之;如果它不正确,请说明理由。programattemp;varc1,c2:integer;procedurep1;(/*beginrepeatRemainSection1;repeatc1:=1-c2untilc2<>0;对第一个进程p1*/)CriticalSection;(/*临界区*/)c1:=1untilfalseend;procedurep2;(/*对另一个进程p2*/)beginrepeatRemain

7、Section2;repeatc2:=1-c1untilc1<>0;CriticalSection;(/*临界区*/)c2:=1untilfalseend;begin(/*主程序*/)c1:=1;c2:=1;cobeginp1;p2(/*两进程p1,p2开始执行*/)coendend.答:(1)互斥己知c1和c2的初值为1,若进程P1执行到c1:=1-c2时,进程P2也同时执行c2:=1-c1。这样一来,c1和c2的值都变为0。于是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。