操作系統(tǒng)作業(yè)答案_第1頁(yè)
操作系統(tǒng)作業(yè)答案_第2頁(yè)
操作系統(tǒng)作業(yè)答案_第3頁(yè)
操作系統(tǒng)作業(yè)答案_第4頁(yè)
操作系統(tǒng)作業(yè)答案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上習(xí)題一1、舉例說明為什么對(duì)并發(fā)執(zhí)行的程序不加控制會(huì)產(chǎn)生與執(zhí)行時(shí)間有關(guān)的錯(cuò)誤?解:程序在并發(fā)執(zhí)行時(shí)由于資源是共享的,而且常常資源數(shù)少于程序?qū)@些資源的需求數(shù),致使這些并發(fā)執(zhí)行的程序之間因?yàn)楦?jìng)爭(zhēng)資源導(dǎo)致存在間接制約關(guān)系,這種間接制約使得并發(fā)執(zhí)行的程序具有隨機(jī)性(異步性),即“執(zhí)行暫停執(zhí)行”,它們何時(shí)啟動(dòng)、何時(shí)停止是未知的。例如:飛機(jī)售票系統(tǒng)、堆棧的存數(shù)與取數(shù)過程等(示例說明略)。2、程序并發(fā)執(zhí)行為什么會(huì)失去順序執(zhí)行時(shí)的封閉性和可再現(xiàn)性?解:所謂“封閉性”是指程序執(zhí)行得到的最終結(jié)果由給定的初始條件決定,不受外界因素的影響。在程序并發(fā)執(zhí)行時(shí)由于資源共享,導(dǎo)致這些資源的狀態(tài)將由

2、多個(gè)程序來改變,又由于存在程序執(zhí)行的隨機(jī)性,所以程序的運(yùn)行失去封閉性。由于失去了封閉性,也將導(dǎo)致其失去可再現(xiàn)性。即雖然它們執(zhí)行時(shí)的環(huán)境和初始條件相同,但得到的結(jié)果卻可能各不相同。習(xí)題二1、試用加鎖的方法解決飛機(jī)售票系統(tǒng)的問題。例:民航售票系統(tǒng),n個(gè)售票處2、用機(jī)器指令(testAndset)解決飛機(jī)售票系統(tǒng)中任一進(jìn)程的算法。習(xí)題三1、進(jìn)程在做P、V操作時(shí)對(duì)自己和其他進(jìn)程有何影響?進(jìn)程在信號(hào)量上執(zhí)行P操作后,若信號(hào)量的值為正,當(dāng)前進(jìn)程繼續(xù)執(zhí)行;若信號(hào)量的值為負(fù),當(dāng)前進(jìn)程變?yōu)榈却隣顟B(tài)、放棄處理機(jī),其它進(jìn)程則有機(jī)會(huì)獲得CPU。 進(jìn)程在信號(hào)量上執(zhí)行V操作后,不會(huì)對(duì)自己有任何影響,但當(dāng)信號(hào)量的值不大于0

3、時(shí),需要喚醒在該信號(hào)量上所對(duì)應(yīng)的等待隊(duì)列中的進(jìn)程。2、設(shè)課程的前驅(qū)、后繼關(guān)系如下,若每修一門課程看作進(jìn)程Px(x1.6)試用P、V操作算法描述這種前驅(qū)與后繼關(guān)系。答:Semaphore:S1:=S2:=S3:=S4:=S5:=S6:=0;Begin Cobegin P1、P2、P3、P4、P5、P6 coend; end.P1() P2() P3()Begin begin begin 修計(jì)算機(jī)導(dǎo)論; P(S1); P(S2); V(S1); 修高級(jí)語(yǔ)言程序設(shè)計(jì) 修計(jì)算機(jī)組成原理; V(S2); V(S3) V(S4);End; End; End;P4() P5() P6()Begin begi

4、n begin P(S3); P(S4); P(S5); 修數(shù)據(jù)結(jié)構(gòu); 修86匯編語(yǔ)言; P(S6); V(S5); V(S6); 修操作系統(tǒng);End; End; End;習(xí)題四1、有三個(gè)進(jìn)程 R、W1、W2,進(jìn)程 R 從輸入設(shè)備上讀數(shù)據(jù)送緩沖區(qū) B,若是奇數(shù)由 W1 進(jìn)程從 B 取數(shù)輸出;若是偶數(shù)則由 W2 進(jìn)程從 B 取數(shù)輸出。設(shè)緩沖區(qū) B 只有一個(gè)單元,試用信號(hào)量機(jī)制設(shè)計(jì)實(shí)現(xiàn)算法。1、se,sf1,sf2:semaphore;se:=1;sf1:=sf2:=0; R()、W1()、W2()并發(fā)執(zhí)行Process R process W1 process W2repeat repeat r

5、epeat 讀數(shù); P(sf1); P(sf2); P(se); 從B中取數(shù); 從B中取數(shù); 送數(shù)到B; V(se); V(se); if B mod 2!=0 then until false until false V(sf1); else V(sf2);until false2、設(shè)有一臺(tái)計(jì)算機(jī),掛有一臺(tái)輸入機(jī)和一臺(tái)打印機(jī)?,F(xiàn)在從輸入機(jī)上把數(shù)據(jù)輸入到緩沖區(qū) B 中,處理程序處理后再把結(jié)果送到緩沖區(qū)B中,(設(shè)B只能放1個(gè)數(shù)據(jù))然后在打印機(jī)上輸出。問: (1)系統(tǒng)可設(shè)哪些進(jìn)程來完成這一任務(wù)? (2)這些進(jìn)程之間有什么樣的制約關(guān)系? (3)用 PV 操作寫出這些進(jìn)程的同步算法. 答:(1) 輸入

6、進(jìn)程、處理進(jìn)程、輸出進(jìn)程 (2) 處理進(jìn)程不能在輸入進(jìn)程之前執(zhí)行、輸出進(jìn)程不能在處理進(jìn)程之前執(zhí)行;輸入進(jìn)程在未得到處理進(jìn)程、輸出進(jìn)程的消息前不能運(yùn)行。 (3) 輸入()、處理()、輸出()進(jìn)程并發(fā)執(zhí)行Semaphore:s1、s2、s3;S1:=1;S2:=S3:=0; process 輸入() process 處理() process 輸出() L1: 讀數(shù) L2: P(S2) L3: P(S3) P(S1) 從B取數(shù)處理后再送B 從B取數(shù)輸出 送數(shù)到B V(S3) V(S1) V(S2) Goto L2 Goto L3 Goto L1 習(xí)題五1、設(shè)系統(tǒng)中有 M 個(gè)資源,N 個(gè)進(jìn)程,每個(gè)進(jìn)程

7、都要求 K 個(gè)資源;若 M=5、N=5、K=2,問:(1)如何分配會(huì)導(dǎo)致死鎖?(2)要不死鎖應(yīng)該如何分配? 如果對(duì)每個(gè)進(jìn)程平均分配1個(gè)資源,則系統(tǒng)中的可用資源為 0,而每個(gè)進(jìn)程都還需要1個(gè)資源,才能向前推進(jìn);因此、系統(tǒng)發(fā)生死鎖。 只要保證有1個(gè)進(jìn)程能獲得2個(gè)資源,則它在有限的時(shí)間內(nèi)就可以運(yùn)行完成并釋放資源,這樣系統(tǒng)就不會(huì)死鎖。例如、先給4個(gè)進(jìn)程各分配1個(gè)資源,讓它們先運(yùn)行,通過安全性算法測(cè)試可以知道第5個(gè)進(jìn)程的資源申請(qǐng)將被拒絕;再把最后1個(gè)資源分配給這4個(gè)進(jìn)程中的1個(gè)即可。2、假設(shè)甲、乙、丙三個(gè)并發(fā)進(jìn)程間的PV操作同步算法如下所示, 信號(hào)量S1,S2,S3 的初值都為1,問這些算法在什么情況下

8、發(fā)生死鎖?如何防止死鎖? 甲 乙 丙 . . .L1:P(S1) L2:P(S2) L3:P(S3) P(S2) P(S3) P(S1) . . . V(S2) V(S3) V(S1) V(S1) V(S2) V(S3) . . . goto L1 goto L2 goto L3答:甲P(S1)后暫停、乙P(S2) 后暫停、丙P(S3) 后暫停 采用按序分配,丙改為P(S1)、P(S3)。也可以改甲或乙進(jìn)程的P、V操作次序,以限制進(jìn)程的并發(fā)執(zhí)行。習(xí)題六1.設(shè)有5個(gè)哲學(xué)家,共享一張放有五把椅子的桌子,每人分得一把椅子。但是,桌子上總共只有5支筷子,在每人兩邊分開各放一支。哲學(xué)家們?cè)诙亲羽囸I時(shí)才試

9、圖分兩次從兩邊拾起筷子就餐。條件:(1) 只有拿到兩支筷子時(shí),哲學(xué)家才能吃飯。(2) 如果筷子已在他人手上,則該哲學(xué)家必須等待到他人吃完之后才能拿到筷子。(3) 任一哲學(xué)家在自己未拿到兩支筷子吃飯之前,決不放下自己手中的筷子。試:(1)描述一個(gè)保證不會(huì)出現(xiàn)兩個(gè)鄰座同時(shí)要求吃飯的通信算法。(2)描述一個(gè)既沒有兩鄰座同時(shí)吃飯,又沒有人餓死(永遠(yuǎn)拿不到筷子)的算法。(3) 在什么情況下,5 個(gè)哲學(xué)家全部吃不上飯? 答:使用非對(duì)稱解決 即奇數(shù)號(hào)的哲學(xué)家先拿起他左邊的筷子,接著拿起他右邊的筷子,而偶數(shù)號(hào)的哲學(xué)家先拿起他右邊的筷子,接著再拿他左邊的筷子。(1)設(shè)信號(hào)量c0c4,初始值均為1,分別表示i號(hào)筷

10、子被拿(i=0,1,2,3,4),send(i):第i個(gè)哲學(xué)家要吃飯beginthink;P(ci); P(ci+1 mod 5);eat;V(ci+1 mod 5); V(ci);End;該過程能保證兩鄰座不同時(shí)吃飯,但會(huì)出現(xiàn)5個(gè)哲學(xué)家一人拿一只筷子,誰(shuí)也吃不上飯的死鎖情況(2)解決的思路:讓奇數(shù)號(hào)的哲學(xué)家先取右手邊的筷子,讓偶數(shù)號(hào)的哲學(xué)家先取左手邊的筷子.這樣,任何一個(gè)哲學(xué)家拿到一只筷子之后,就已經(jīng)阻止了他鄰座的一個(gè)哲學(xué)家吃飯的企圖,除非某個(gè)哲學(xué)家一直吃下去,否則不會(huì)有人會(huì)餓死.send(i): 第i個(gè)哲學(xué)家要吃飯Beginthink;If i mod 2=0 then P(ci); P(

11、ci+1mod 5)eat;V(ci; ci+1 mod 5) else P(ci+1 mod 5)P(ci)EatV(ci+1 mod 5)V(ci) End(3)非對(duì)稱解決,并發(fā)主程序略Program diningphilosophers; Var chopstick:array0.4 of semaphore(:=1),i:integer;Procedure philosopher(i:integer);BeginRepeatThink;If(i mod 2!=0) thenBeginP(chopsticki);P(chopstick(i+1) mod 5);吃面;V(chopstick

12、(i+1) mod 5);V(chopsticki);EndElseBeginP(chopstick(i+1) mod 5);P(chopsticki);吃面;V(chopstick(i+1) mod 5);V(chopsticki);EndForeverEnd習(xí)題七1、某程序在虛擬(邏輯)地址100處有一條取數(shù)指令LOAD 1,500 而500單元存放數(shù)據(jù)51888。若程序分配到的內(nèi)存地址為5000,試畫出下列方式下的該指令及數(shù)據(jù)的物理地址和變換過程。(1)靜態(tài)重定位(2)動(dòng)態(tài)重定位2、若一個(gè)虛擬地址空間占8頁(yè),每個(gè)頁(yè)大小為1024,需要映射到32個(gè)內(nèi)存塊上,試問:(1)虛擬地址要用多少位表

13、示?(2)物理地址要用多少位表示?答(1)邏輯地址需要的位數(shù):8*1024=23*210=213所以需要13位。(2)物理地址需要的位數(shù):32*1024=25*210=215所以需要15位。習(xí)題八1、在頁(yè)式存儲(chǔ)管理系統(tǒng)中某個(gè)時(shí)刻某個(gè)進(jìn)程的頁(yè)表如下,設(shè)地址結(jié)構(gòu)為32位,頁(yè)號(hào)占據(jù)22位,試把邏輯地址0A5CH轉(zhuǎn)換成物理地址(以十六進(jìn)制表示)。2、在靜態(tài)頁(yè)式下,內(nèi)存總量為65536字節(jié),每個(gè)存儲(chǔ)塊為4KB,一程序代碼段長(zhǎng)32768字節(jié),數(shù)據(jù)段長(zhǎng)16386字節(jié),堆棧段長(zhǎng)15870字節(jié),規(guī)定不允許一個(gè)塊內(nèi)包含兩個(gè)段的內(nèi)容,請(qǐng)問能為該程序分配空間嗎?如果塊長(zhǎng)為512字節(jié)呢? 答:習(xí)題九1.在某頁(yè)式虛擬存儲(chǔ)系統(tǒng)中,頁(yè)面大小為100個(gè)單元,某作業(yè)占有內(nèi)存塊數(shù)m=2,若它的訪問虛存邏輯地址序列為:55、135、96、227、42、156、330、169、11、252、253假設(shè)各個(gè)內(nèi)存塊初始為空,試問:(1)按OPT置換算法

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論