操作系统 第二章【记录型信号量机制、独木桥问题】【MOOC答案】
目錄
第1題
第2題
第3題
第4題
第1題
1( 30分 )
簡述生產者消費者問題的解決方案,并說明用記錄型信號量機制解決生產者消費者問題時Wait()操作的次序不當會在什么情況下引發死鎖。
得分指導:
關鍵點:wait(? )次序不當時,mutex.value=1,empty.value=n,full.value=0時,先調度消費者,再調度生產者死鎖;mutex.value=1,empty.value=0,full.value=n時,先調度生產者,再調度消費者死鎖。
問題描述15分;死鎖情況15分。
第2題
2( 30分 )
討論用記錄型信號量機制實現的不會出現死鎖的哲學家進餐問題的解決關鍵,并給出一種解決方案。
得分指導:
答案提示:
問題解決的關鍵在于如何通過直接或間接的方式讓申請并得到第一根筷子的哲學家的人數<=4。
解決關鍵:10分
實現方案:20分
第3題
3( 30分 )? ??
獨木橋問題:有一座東西方向的獨木橋(W-E),若橋有一定的承載能力,允許同方向的行人同時通過橋,如何用信號量機制實現東西兩個方向上兩類行人PWEi(? )和?PEWj(? )對橋的使用?
得分指導:
答案提示:
就是讀者寫者問題的同類問題,每個方向上第一個上橋的人申請橋的使用權,最后一個下橋的人釋放橋的使用權。為了判斷誰是行走方向上的第一個和最后一個,為每個方向設置一個計數器,但對每個方向的行人而言,計數器需要互斥訪問,因此,需要為每個方向的計數器再設置信號量。信號量共有3個。
信號量設置5分,計數器設置3分,每個方向的實現代碼11分。
第4題
4( 10分 )
一個最多可以同時容納N名顧客同時購物的超市有一個出口和一個入口,若出口和入口一次均只能允許一名顧客出入。如何用信號量機制實現顧客進程之間的同步?
得分指導:
答案提示:
三個信號量:進入的名額s,入口in,出口out,初始值分別為n、1、1;
Pi( ){
? ? ?P(s);
? ? ?P(in);
? ? ?通過入口;
? ? V(in);
? ? 購物……;
? ? P(out);
? ? 通過出口;
? ?V(out);
? ?V(s);
}
總結
以上是生活随笔為你收集整理的操作系统 第二章【记录型信号量机制、独木桥问题】【MOOC答案】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GIS创新实践【课堂笔记】
- 下一篇: java信息管理系统总结_java实现科