资源描述:
《操作系统二版徐宗元OS-附加习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第二章一.用信号量机制实现进程同步2.1.1.解:var(信号量)﹎﹎S,S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin妈:beginrepeat準備﹎﹎P(S)﹎﹎向盒内放桔子﹎﹎V(S1)﹎﹎準備﹎﹎P(S)﹎﹎向盒内放苹果﹎﹎V(S2)﹎﹎untilfalseend儿:beginrepeat﹎﹎P(S1)﹎﹎拿盒中的桔子﹎﹎V(S)﹎﹎吃桔子untilfalseend女:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的苹果﹎﹎V(S)﹎﹎吃苹果
2、untilfalseendparendend2.1.2.解:var(信号量)﹎﹎S,S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin爸:beginrepeat準備﹎﹎P(S)﹎﹎向盒内放苹果﹎﹎V(S1)﹎﹎untilfalseend妈:beginrepeat準備﹎﹎P(S)﹎﹎向盒内放桔子﹎﹎V(S2)﹎﹎untilfalseend儿:beginrepeat﹎﹎P(S1)﹎﹎拿盒中的桔子﹎﹎V(S)﹎﹎吃桔子untilfalseend女:beginr
3、epeat﹎﹎P(S2)﹎﹎拿盒中的苹果﹎﹎V(S)﹎﹎吃苹果untilfalseendparendend2.1.3.解:var(信号量)﹎﹎S,S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin妈:beginrepeat準備﹎﹎P(S)﹎﹎向盒内放水果(苹果或桔子)if水果==桔子then﹎﹎V(S1)﹎﹎else﹎﹎V(S2)﹎﹎ untilfalseend儿:beginrepeat﹎﹎P(S1)﹎﹎拿盒中的桔子﹎﹎V(S)﹎﹎吃桔子untilfa
4、lseend女:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的苹果﹎﹎V(S)﹎﹎吃苹果 untilfalseendparendend2.1.4.解:var(信号量)﹎﹎S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin妈:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放水果﹎﹎V(S2)﹎﹎untilfalse end儿:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的水果﹎﹎V(S1)﹎﹎吃水果untilfalse end女:beginrepeat
5、﹎﹎P(S2)﹎﹎拿盒中的水果﹎﹎V(S1)﹎﹎吃水果 untilfalseendparendend2.1.5.解:var(信号量)﹎﹎S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin爸:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放苹果﹎﹎V(S2)﹎﹎ untilfalseend妈:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放桔子﹎﹎V(S2)﹎﹎untilfalseend儿:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的水果(苹果或桔
6、子)﹎﹎V(S1)﹎﹎吃水果(苹果或桔子) untilfalseendparendend2.1.6.解:var(信号量)﹎﹎S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin爸:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放苹果﹎﹎V(S2)﹎﹎ untilfalseend妈:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放桔子﹎﹎V(S2)﹎﹎untilfalseend儿:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的水果(苹果或桔子)﹎﹎V(
7、S1)﹎﹎吃水果(苹果或桔子) untilfalseend女:beginrepeat﹎﹎P(S2)﹎﹎拿盒中的水果(苹果或桔子)﹎﹎V(S1)﹎﹎吃水果(苹果或桔子) untilfalseendparendend2.1.7.解:var(信号量)﹎﹎S1,S2,S3﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:=(信号量初值)﹎﹎1,0,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;;beginparbegin爸:beginrepeat準備﹎﹎P(S1)﹎﹎向盒内放苹果﹎﹎V(S2)﹎﹎ untilfalseend妈:beginrepeat﹎﹎P(S2)﹎﹎为
8、盒内苹果削皮﹎﹎V(S3)﹎﹎untilfalseend儿:beginrepeat﹎﹎P(S3)﹎﹎拿盒中削了皮的苹果﹎﹎V(S1)﹎﹎吃苹果 untilfalseendpare