操作系統(tǒng)所有作業(yè)答案_最新版__第1頁
操作系統(tǒng)所有作業(yè)答案_最新版__第2頁
操作系統(tǒng)所有作業(yè)答案_最新版__第3頁
操作系統(tǒng)所有作業(yè)答案_最新版__第4頁
操作系統(tǒng)所有作業(yè)答案_最新版__第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、注意:此答案僅供參考,不作為考試的依據(jù),不表示完全正確;使用不當(dāng),后果自負。習(xí)題7.12 1)頁的大小為: 212Bytes2)能分配的最多頁面?zhèn)€數(shù)為: 220個。3)邏輯地址空間最大為:232Byte4)物理內(nèi)存的大小為: 232Byte習(xí)題7.14a)段0開始于位置660,隨著偏移量,我們有一個物理地址: 段0開始于位置660,660 + 198 = 858b) 第2個段起始地址為222,長度為198 所以,物理地址為222+156=378c) 段1為422字節(jié)的長度,所以這個地址觸發(fā)段錯誤d) 996 + 444 = 1440e. 660 + 222 = 882復(fù)習(xí)題8.3可以根據(jù)局部性

2、原理設(shè)計算法來避免抖動??偟膩碚f,局部性原理允許算法預(yù)測哪一個當(dāng)前頁在最近的未來是最少可能被使用的,并由此就決定候選的替換出的頁。復(fù)習(xí)題8.8CLOCK算法和FIFO策略一樣都把分配給進程的頁框看做是一個循環(huán)緩沖區(qū),按循環(huán)方式移動頁。時鐘算法與FIFO算法很接近,只在時鐘算法中給每一頁框關(guān)聯(lián)一個附加位,稱為使用位,任何一個使用位為1的頁不能被替換,并且將其使用位置為0。習(xí)題8.2A)虛擬內(nèi)存可以容納(232字節(jié)的主內(nèi)存)/ ( 210字節(jié)/頁) = 222頁,因此22位來在虛擬存儲器中指定的頁面。每一頁表包含(每頁面表210字節(jié)) / (4字節(jié)/項) = 28項。因此,每個頁表可以處理所需要的

3、22位/8。因此, 所以需要3級頁表。B)有兩級頁表是28,一級是26(8+8+6=22)C)當(dāng)26為第一級時:分配為6,8,8 ,第一級頁數(shù)為1,第二級頁數(shù)為26,第三級為28,1+26+214= 16,449頁;26為第二級時:分配為8,6,8,第一級頁數(shù)為1,第二級頁數(shù)為28,第三級頁數(shù)為214,總的為1+28+214=16,641 頁26為第三極時:分配為8,8,6,第一級頁數(shù)為1,第二級頁數(shù)為28,第三級頁數(shù)為216,總的為1+28+216= 65,973 頁所以分配為6,8,8時使用頁數(shù)最小。習(xí)題8.4 A) FIFO算法時,置換頁框3,因為頁框3在時間為20的時候被加載進來,是最

4、早被加載的頁框。b) LRU算法,置換頁框1,因為頁框1的訪問時間是160,是最早被訪問的。c) 時鐘算法,清除頁框3的R位因為它最早加載,清除頁框2的R位因為它次最早加載,換出的是頁框0因為它的R位為0。d) 最佳算法,置換頁框3,因為它將最晚被訪問到。e)習(xí)題8.6(1)頁面訪問順序為:0, 0, 1, 1, 0, 3, 1, 2, 2, 4, 4, 3(2)頁大小為100Bytes,有200Bytes的物理內(nèi)存可用,所以頁框個數(shù)為2個。a)LRU缺頁次數(shù)為70011031224430000001114441113322223FFFFFFFb)FIFO缺頁次數(shù)600110312244300

5、00033334441111122223FFFFFFc)OPT缺頁次數(shù)50011031224430000033333341111122443ffFFF習(xí)題8.10a)虛擬地址空間: 264個地址.b)如果要實現(xiàn)一個簡單的一級頁表,頁表中有264/212=252個表項c)如果簡單的使用一級頁表,操作系統(tǒng)需要維護巨大的頁表,并且這個頁表的一部分可能不在內(nèi)存中,則如果訪問這些頁表中的數(shù)據(jù),需要進行兩次缺頁等待。可以采用多級頁表的方式緩解這個問題。習(xí)題8.11此問題分為四種情況討論,分別如下:1) TLB檢查(20ns)并命中(0.95概率),直接訪問內(nèi)存中的頁面(80ns),總時間是:(20 + 8

6、0)* 0.95 = 95ns2) TLB檢查(20ns)未命中(0.05概率),直接訪問內(nèi)存中的一級頁表(80ns),通過一級頁表訪問二級 頁表(80ns),頁面保存在內(nèi)存中(0.90概率,缺頁率是10%,則不缺頁概率為90%),直接訪問內(nèi)存中的頁面(80ns)。 總時間是:(20 + (80 + 80 + 80) * 0.9)* 0.05 = 11.8ns 3)TLB檢查(20ns)未命中(0.05概率),直接訪問內(nèi)存中的一級頁表(80ns),通過一級頁表訪問二級 頁表(80ns),然后發(fā)生缺頁中斷(0.10概率),被替換的頁面無內(nèi)容更改(0.80概率,頁面內(nèi)容被更改的概率是20%,則頁面

7、內(nèi)容無更改的概率是80%),執(zhí)行一次頁面交換(5000ns),最后直接訪問內(nèi)存中的頁面(80ns)。總時間是:(20 + (80 + 80 +0.8*5000+80 ) * 0.1)* 0.05 =22.2ns4) 與3)類似,如果頁面置換被修改了總時間是:(20 + (80 + 80 +0.2*(5000+5000)+80 ) * 0.1)* 0.05 =12.2ns綜上所述,訪問一個數(shù)據(jù)項平均需要 95ns+11.8ns+22.2ns+12.2ns=141.2ns復(fù)習(xí)題9.11) 長程調(diào)度:決定哪一個程序可以進入到系統(tǒng)中處理,因此,它控制系統(tǒng)并發(fā)度。2) 中程調(diào)度:是交換功能的一部分,換入

8、決定取決于取決于管理系統(tǒng)并發(fā)度需求。3) 短程調(diào)度:也稱作分派程序,執(zhí)行得最頻繁,并且精確地決定下一次執(zhí)行哪一個進程。4)復(fù)習(xí)題9.51) 非搶占式:在這種情況下,一旦進程處于運行狀態(tài),它就不斷執(zhí)行直到終止,或者因為等待I/O或者請求某些操作系統(tǒng)服務(wù)而阻塞自己。2) 搶占式:當(dāng)前正在運行的進程可能被操作系統(tǒng)中斷,并轉(zhuǎn)移到就緒態(tài)。關(guān)于搶占的決策可能是在一個新進程到達時,或者在一個中斷發(fā)生后把一個被阻塞的進程置為就緒狀態(tài)時,或者基于周期性的時間中斷。3)習(xí)題9.1每格代表一個時間單位,方框中的字母表示當(dāng)前運行的進程號1234567891011121314151617181920FCFSAAABBB

9、BBCCDDDDDEEEEERR q=1ABABCABCBDBDEDEDEDEERR q=4AAABBBBCCBDDDDEEEEDESPNAAACCBBBBBDDDDDEEEEESRTAAACCBBBBBDDDDDEEEEEHRRNAAABBBBBCCDDDDDEEEEEFB q=1ABACBCABBDBDEDEDEDEEFB q=2ABAACBBCBBDDEDDEEDEE調(diào)度策略的比較進程 A B C D E到達時間 0 1 3 9 12服務(wù)時間(Ts) 3 5 2 5 5FCFS完成時間 3 8 10 15 20周轉(zhuǎn)時間(Tr) 3.00 7.00 7.00 6.00 8.00 6.20T

10、r/Ts 1.00 1.40 3.50 1.20 1.60 1.74RR q=1完成時間 6.00 11.00 8.00 18.00 20.00周轉(zhuǎn)時間(Tr) 6.00 10.00 5.00 9.00 8.00 7.60Tr/Ts 2.00 2.00 2.50 1.80 1.60 1.98RR q=4完成時間 3.00 10.00 9.00 19.00 20.00周轉(zhuǎn)時間(Tr) 3.00 9.00 6.00 10.00 8.00 7.20Tr/Ts 1.00 1.80 3.00 2.00 1.60 1.88SPN完成時間 3.00 10.00 5.00 15.00 20.00周轉(zhuǎn)時間(Tr

11、) 3.00 9.00 2.00 6.00 8.00 5.60Tr/Ts 1.00 1.80 1.00 1.20 1.60 1.32SRT完成時間 3.00 10.00 5.00 15.00 20.00周轉(zhuǎn)時間(Tr) 3.00 9.00 2.00 6.00 8.00 5.60Tr/Ts 1.00 1.80 1.00 1.20 1.60 1.32HRRN完成時間 3.00 8.00 10.00 15.00 20.00周轉(zhuǎn)時間(Tr) 3.00 7.00 7.00 6.00 8.00 6.20Tr/Ts 1.00 1.40 3.50 1.20 1.60 1.74FB q=1完成時間 7.00 1

12、1.00 6.00 18.00 20.00周轉(zhuǎn)時間(Tr) 7.00 10.00 3.00 9.00 8.00 7.40Tr/Ts 2.33 2.00 1.50 1.80 1.60 1.85FB q=2完成時間 4.00 10.00 8.00 18.00 20.00周轉(zhuǎn)時間(Tr) 4.00 9.00 5.00 9.00 8.00 7.00Tr/Ts 1.33 1.80 2.50 1.80 1.60 1.81習(xí)題9.141) 對CPU密集型不利,如果進程運行時間過長,進程會被降低優(yōu)先級,可能會面臨長時間的等待。2)對IO密集型進程有好處,進程可以向IO設(shè)備提交申請然后被掛起,等到下一次獲得時間

13、片時繼續(xù)工作。3)可能會發(fā)生饑餓現(xiàn)象。習(xí)題9.161 2345Elapsed timeA BCDE5A BCDE10A BCDE15A BDE19A B DE23A B DE27A B E30A B E33A B E36A E38AE40AE42A43A45每個進程的周轉(zhuǎn)時間:A=45 min , B=35 min , C=13 min , D=26 min , E=42 min平均周轉(zhuǎn)時間是 (45+35+14+26+42)/5=32.2 minb. 優(yōu)先級 作業(yè) 周轉(zhuǎn)時間3B94E9 + 12 = 216A21 + 15 = 367C36 + 3 = 399D39 + 6 = 45平均周轉(zhuǎn)

14、時間是 (9+21+36+39+45)/5=30 min c. 作業(yè) 周轉(zhuǎn)時間A15B15 + 9 = 24C24 + 3 = 27D27 + 6 = 33E33 + 12 = 45平均周轉(zhuǎn)時間是 (15+24+27+33+45)/5 = 28.8 min d. 運行時間 作業(yè) 周轉(zhuǎn)時間3C36D3 + 6 = 99B9 + 9 = 1812 E18 + 12 = 3015A30 + 15 = 45平均周轉(zhuǎn)時間是: (3+9+18+30+45) / 5 = 21 min復(fù)習(xí)題10.2(1)負載共享:進程不是分配到一個特定的處理器。系統(tǒng)維護一個就緒進程的全局隊列,每個處理器只要空閑就從隊列中選擇

15、一個線程。 (2)組調(diào)度:一組相關(guān)的線程基于一對一的原則,同時調(diào)度到一組處理器上運行。 (3)專用處理器分配:通過把線程指定到處理器來定義隱式的調(diào)度。 (4)動態(tài)調(diào)度:在執(zhí)行期間,進程中線程的數(shù)目可以改變。復(fù)習(xí)題10.4硬實時任務(wù)指必須滿足最后期限的限制,否則會給系統(tǒng)帶來不可接受的破壞或者致命錯誤。 軟實時任務(wù)也有一個與之關(guān)聯(lián)的最后期限,并希望能滿足這個期限的要求,但這并不是強制的,即使超過了最后期限,調(diào)度和完成這個任務(wù)仍然是有意義的。復(fù)習(xí)題10.6(1)可確定性:在某種程度上指他可以按照固定的、預(yù)先確定的時間或者時間間隔執(zhí)行操作。 (2)可響應(yīng)性:響應(yīng)性關(guān)注的是在知道中斷之后操作系統(tǒng)為中斷提

16、供服務(wù)的時間。 (3)用戶控制:允許用戶細粒度地控制任務(wù)優(yōu)先級。 (4)可靠性:實時系統(tǒng)是實時地響應(yīng)和控制事件,對可靠性要求高。 (5)故障弱化操作:指在系統(tǒng)故障時盡可能多地保存其性能和數(shù)據(jù)的能力。復(fù)習(xí)題11.2邏輯I/O:邏輯I/O模塊把設(shè)備當(dāng)做一個邏輯資源來處理,它不關(guān)心實際控制設(shè)備的細節(jié)。邏輯I/O模塊代表用戶進程管理的一般的I/O功能,允許用戶進程根據(jù)設(shè)備標(biāo)識符以及諸如打開、關(guān)閉、讀、寫之類的簡單命令與設(shè)備打交道設(shè)備I/O:請求的操作和數(shù)據(jù)(緩沖的數(shù)據(jù)、記錄等)被轉(zhuǎn)換成適當(dāng)?shù)腎/O指令序列、通道命令和控制命令。可以使用緩沖技術(shù)來提高使用率。復(fù)習(xí)題11.5延遲因素:尋道時間,旋轉(zhuǎn)延遲,訪

17、問時間復(fù)習(xí)題 12.5堆是最簡單的文件組織形式。數(shù)據(jù)按它們到達的順序被采集,每個記錄由一串?dāng)?shù)據(jù)組成。順序文件:每個記錄都使用一種固定的格式。所有記錄都具有相同的長度,并且由相同數(shù)目、長度固定的域按特定的順序組成。由于每個域的長度和位置已知,因此只需要保存各個域的值,每個域的域名和長度是該文件結(jié)構(gòu)的屬性。索引順序文件:索引順序文件保留了順序文件的關(guān)鍵特征:記錄按照關(guān)鍵域的順序組織起來。但它還增加了兩個特征:用于支持隨機訪問的文件索引和溢出文件。索引提供了快速接近目標(biāo)記錄的查找能力。溢出文件類似于順序文件中使用的日志文件,但是溢出文件中的記錄可以根據(jù)它前面記錄的指針進行定位。索引文件:只能通過索引

18、來訪問記錄。其結(jié)果是對記錄的放置位置不再有限制,只要至少有一個索引的指針指向這個記錄即可。直接文件或散列文件:使用基于關(guān)鍵字的散列復(fù)習(xí)題12.6在一個順序文件,搜索可能涉及依次測試每一條記錄,直到一個具有匹配的被發(fā)現(xiàn)。該索引順序文件提供了一個結(jié)構(gòu),它執(zhí)行更少的搜索復(fù)習(xí)題12.11連續(xù)分配是指在創(chuàng)建文件時,給文件分配一組連續(xù)的塊。鏈接分配基于單個的塊,鏈中的每一塊都包含指向下一塊的指針。索引分配:每個文件在文件分配表中一個一級索引,分配給該文件的每個分區(qū)在索引中都有一個表項。第三章(復(fù)習(xí)題)3.10 為什么需要兩種模式(用戶態(tài)和內(nèi)核態(tài))(課本90頁)在用戶模式下,限制某些指令的執(zhí)行和內(nèi)存的訪問,

19、這是為了保護操作系統(tǒng)不被破壞或更改。在內(nèi)核模式中,操作系統(tǒng)不受這些限制,使得它可以執(zhí)行它的任務(wù)。使用兩種模式的原因是它可以保護操作系統(tǒng)和重要的操作系統(tǒng)表不受用戶程序的干涉。在內(nèi)核態(tài)下,軟件具有對處理器以及所有指令、寄存器和內(nèi)存的控制能力,這一級的控制對用戶程序不是必須的,并且為了安全起見也不是用戶程序可訪問的。3.11 操作系統(tǒng)創(chuàng)建一個新進程所執(zhí)行的步驟是什么?(課本91頁)1.為新進程分配一個唯一的進程標(biāo)識符。 2為進程分配空間 3初始化進程控制塊。 4 設(shè)置正確的連接。 5創(chuàng)建或擴展其他數(shù)據(jù)結(jié)構(gòu)3.14 模式切換和進程切換有什么區(qū)別?(具體課本93頁)模式切換可以不改變正處于運行態(tài)的進程的

20、狀態(tài)。進程切換涉及狀態(tài)變化,進程切換需要保存更多的狀態(tài)信息第五章(復(fù)習(xí)題)5.11 什么是管程?管程是一個程序設(shè)計語言結(jié)構(gòu)提供了抽象數(shù)據(jù)類型和互斥訪問的一組程序。5.13 通常與讀者-寫者問題相關(guān)聯(lián)的有哪些條件?(課本164頁)1任意多的讀進程可以同時讀這個文件2. 一次只有一個寫進程可以寫文件3. 如果一個寫進程正在寫文件,禁止任何讀進程讀文件第六章(習(xí)題)6.2 根據(jù)圖6.1,寫出可以用于本圖的預(yù)防、避免和檢測技術(shù)預(yù)防:保持和等待的方法:要求車請求它需要的兩個象限,直到兩個象限都被授予才執(zhí)行,否則就阻塞。無搶占方式:釋放已經(jīng)分配的象限循環(huán)等待方法:指定一個線性排序的方法。避免:死鎖避免,通

21、過不授予那些也許會導(dǎo)致死鎖的請求檢測:死鎖檢測(先分配路段,若可能導(dǎo)致死鎖,則選擇其中一輛車后退,若死鎖仍存在,繼續(xù)選擇車輛后退,直到死鎖解除。6.11 假設(shè)在系統(tǒng)中有四個進程和四種類型的資源,系統(tǒng)使用銀行家算法來避免死鎖。最大資源需求矩陣是Claim=其中claimij(1=i=4且1=j=4)表示進程i對于資源j的最大需求。系統(tǒng)中每一種類型的資源總量由向量16,5,2,8給出。當(dāng)前的資源分配情況由下面的矩陣給出:Allocation=其中Allocationij表示當(dāng)前分配給進程i的資源j的數(shù)量。a) 說明這個狀態(tài)是安全的。b) 說明進程1申請1個單位的資源2是否允許。c) 說明進程3申請

22、6個單位的資源1是否允許。(這個問題和問題b是獨立的)d) 說明進程2申請2個單位的資源4是否允許。(這個問題和問題b、c是獨立的)解:a)可用資源=7,1,0,5需求矩陣(C-A)=(1)可先執(zhí)行進程2,進程2釋放資源后,可用資源=8,3,1,5(2)執(zhí)行進程4,進程4釋放資源后,可用資源=11,4,2,5(3)執(zhí)行進程1,進程1釋放資源后,可用資源=15,4,2,6(4)執(zhí)行進程3,進程3釋放資源。所以存在一個安全序列。該狀態(tài)是安全的。b)進程1申請一個單位的資源2后,可用資源變?yōu)?,0,0,5Allocation=需求矩陣(C-A)=1) 可執(zhí)行進程4,釋放資源后可用資源變?yōu)?0,1,1

23、,52) 執(zhí)行進程2,釋放資源后可以資源變?yōu)?1,3,2,53) 執(zhí)行進程1,釋放資源后可用資源變?yōu)?5,4,2,64) 執(zhí)行進程3,可完成。所以進程1申請1個單位的資源2是允許的。C)進程3申請6個單位的資源1后,可用資源為1,1,0,5Allocation=需求矩陣(C-A)=可用資源不能滿足任何進程,所以該分配是不允許的。d)進程2申請兩個單位資源4后,可用資源為7,1,0,3因進程2對資源4的最大需求量為1,會造成一個單位的資源浪費需求矩陣(C-A)=可分別執(zhí)行進程2,4,1,3來完成。該申請允許,但是會造成資源浪費,一般情況下不這樣做。第七章(復(fù)習(xí)題)7.2 為什么需要重定位進程的能

24、力?(課本210頁)通常情況下,程序員并不能事先知道在某個程序執(zhí)行期間會有哪些程序駐留在內(nèi)存中。此外還希望通過提供一個巨大的就緒進程池,能夠把活動進程換入或換出內(nèi)存,以便使處理器的利用率最大化。在這兩種情況下,該過程中的特定位置主內(nèi)存是不可預(yù)測的。7.6 內(nèi)部碎片和外部碎片有什么區(qū)別?內(nèi)部碎片:被裝入的數(shù)據(jù)塊小于分區(qū)大小,從而導(dǎo)致分區(qū)內(nèi)部有空間浪費。它是指已經(jīng)被分配出去,卻不能被利用的內(nèi)存空間。外部碎片:與動態(tài)分區(qū)相關(guān)聯(lián)的現(xiàn)象,指在所有分區(qū)外的存儲空間變成越來越多的碎片。它指的是還沒有被分配出去,但由于空間太小了無法分配給申請內(nèi)存空間的新進程的內(nèi)存空閑區(qū)域。7.7 邏輯地址、相對地址和物理地址

25、間有什么區(qū)別?邏輯地址是指與當(dāng)前數(shù)據(jù)在內(nèi)存中的物理分配地址無關(guān)的訪問地址,在執(zhí)行對內(nèi)存的訪問之前必須把它轉(zhuǎn)換成物理地址。相對地址是邏輯地址的一個特例,是相對于某些已知點(通常是程序的開始處)的存儲單元。物理地址(絕對地址)是數(shù)據(jù)在內(nèi)存中的實際位置。第八章(習(xí)題)8.1 考慮這樣一個系統(tǒng),該系統(tǒng)用3位表示頁面編號,用5位表示偏移量。在該系統(tǒng)中內(nèi)存以字節(jié)為單位進行存取?,F(xiàn)在假設(shè)一個進程有6頁,其頁表如下:有效位頁框號修改位 1 4 1 1 7 0 0 1 0 1 0 1 0 2 0 0 1 0在下面的問題中,如果發(fā)生頁面失效而不進行處理。a) 虛擬地址158進行物理地址轉(zhuǎn)換后是多少?b) 虛擬地址

26、53進行物理地址轉(zhuǎn)換后是多少?c) 虛擬地址195進行物理地址轉(zhuǎn)換后是多少?解:a)(158)10=(10011110)2 ,虛頁號為100=4,通過查頁表可知有效位為0不在內(nèi)存中,所以頁面失效。b)(53)10=(00110101)2,虛頁號為001=1,通過查頁表可知頁號為7,物理地址為(11110101)2=245c)(195)10=(11000011)2,虛頁號為110=6,地址越界,頁面失效。8.17 假設(shè)一個任務(wù)被劃分成4個大小相等的段,并且系統(tǒng)為每個段建立了一個有8項的頁描述符表。因此,該系統(tǒng)是分段與分頁的組合。假設(shè)頁大小為2KB。a)每段的最大尺寸為多少?b)該任務(wù)的邏輯地址空

27、間最大為多少?c)假設(shè)該任務(wù)訪問到物理單元00021ABC中的一個元素,那么為它產(chǎn)生的邏輯地址的格式是什么?該系統(tǒng)的物理地址空間最大為多少?解:a) 因每個段有一個8項的頁描述符表,每個頁大小為2KB,所以每段的最大尺寸為8*2K=16Kb) 每個任務(wù)被劃分為4個大小相等的段,由a)得每段最大尺寸為16k,所以該任務(wù)的邏輯地址空間最大為16K*4=64K。c) 邏輯地址:分段號(2位)分頁號(3位)偏移量(11位) 物理地址空間最大為232=4GB已知一個進程的頁面執(zhí)行序列分別為其分配4個內(nèi)存頁面,參照教材圖8.15 畫出四種置換策略的頁面執(zhí)行行為圖,并求出缺頁次數(shù)。1,5,1,2,3,1,4

28、,3,5,1,3,11. OPT(所選擇的被淘汰頁面將是以后永不使用的,或者是在最長時間內(nèi)不再被訪問的頁面,這樣可以保證獲得最低的缺頁率。)1 5 1 2 3 1 4 3 5 1 3 11111111111115555555555522244444433333333 置換2.FIFO(優(yōu)先淘汰最早進入的頁面,亦即在內(nèi)存中駐留時間最久的頁面。)1 5 1 2 3 1 4 3 5 1 3 11111114444445555555511122222222233333333 置換 置換3.LRU(選擇最近最長時間未訪問過的頁面予以淘汰)1 5 1 2 3 1 4 3 5 1 3 11111111111

29、115555544444422222555533333333 置換 置換4.CLOCK(LRU算法的近似實現(xiàn)):給每一幀關(guān)聯(lián)一個附加位,稱為使用位。(課本247)1 5 1 2 3 1 4 3 5 1 3 11*1*1*1*1*1*4*4*4*4*4*4*5*5*5*5*5*555*5*5*5*2*2*2*2221*1*1*3*3*33*3*3*3*3* 置換 置換桌上有一個空盤,允許存放一只水果。進程A可向盤中放蘋果,也可向盤中放橘子,進程B專等吃盤中的橘子,進程C專等吃盤中的蘋果。規(guī)定當(dāng)盤空時一次放一只水果供吃者取用,請用P、V原語實現(xiàn)進程A、進程B、進程C三個并發(fā)進程的同步。分析:本題是

30、檢查對P、V原語掌握情況。本題的題意是:. 進程A、進程B、進程C共用一個盤子,且盤中一次只能放一個水果。. 當(dāng)盤空時,進程A可將一個水果放入果盤中;. 若放入盤中的是橘子,允許進程B吃,進程C必須等待。. 若放入盤中的是蘋果,允許進程C吃,進程B必須等待。因此實際上是一個生產(chǎn)者-消費者問題的一種變形。這里生產(chǎn)者放入緩沖區(qū)的產(chǎn)品有兩類,消費者也有兩類,每類消費者只消費其中固定的一類產(chǎn)品。解:設(shè)置三個信號量:S 初值為1,用于進程A、進程B、進程C三個進程間的互斥,表示盤中是否為空SO 初值為0,用于進程A、進程B兩個進程間的同步,表示盤中是否有橘子SA 初值為0,用于進程A、進程C兩個進程間的

31、同步,表示盤中是否有蘋果三個進程之間的同步描述如下:進程AL1:P(S)將水果放入盤中If(放入是橘子) V(SO)else V(SA) goto L1進程BL2:P(SO)從盤中取出橘子V(S)吃橘子goto L2進程CL3:P(SA)從盤中取出蘋果V(S)吃蘋果goto L3 10 bits10bits12bits虛擬地址:20 bits12bits物理地址:頁表項一共32位,包括20位的物理地址和os bookkeeping bitsa) 頁表有多大?b) 單個虛擬內(nèi)存空間有多大?c) 所支持的最大物理內(nèi)存是多大?d) 畫一個兩級頁表的圖,然后描述一下地址轉(zhuǎn)換過程,第一級頁表包含1024項,二級頁表的每一項也是1024項。解:a) 頁的大小為2(#offset bits)bytes=212 bytes=4KBb) 虛擬內(nèi)存空間大小為2(#of total virtual address bits)bytes=232 bytes=4GBc) 2(#of total physical address bits)bytes=232 bytes=4GBd) 參考課本237頁(畫出二級頁表)第一章(復(fù)習(xí)題)1.9 空間局部性和時間局部性的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論