湖南大學(xué)操作系統(tǒng)作業(yè)_第1頁
湖南大學(xué)操作系統(tǒng)作業(yè)_第2頁
湖南大學(xué)操作系統(tǒng)作業(yè)_第3頁
湖南大學(xué)操作系統(tǒng)作業(yè)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

操作系統(tǒng)第二次作業(yè)第七章Considerthedeadlocksituationthatcouldoccurinthedining-philosophersproblemwhenthephilosophersobtainthechopsticksoneatatime.Discusshowthefournecessaryconditionsfordeadlockindeedholdinthissetting.Discusshowdeadlockscouldbeavoidedbyeliminatinganyoneofthefourconditions.考慮哲學(xué)家進餐問題中可能出現(xiàn)死鎖的情況,即當哲學(xué)家一次拿一只筷子時,討論4個死鎖必要條件的存在性,討論如何通過避免四種情況之一來消除死鎖答死鎖的4個必要條件為:互斥、占有等待、非搶占、循環(huán)等待考慮互斥性,A哲學(xué)家拿了筷子C1后該C1筷子在未被釋放資源前無法被其他哲學(xué)家B實現(xiàn)。哲學(xué)家必須先占有左手筷子C2,而C2可能為其他哲學(xué)家所占有。這個問題可以通過設(shè)置哲學(xué)家在申請更多筷子筷子,即預(yù)先靜態(tài)分配。哲學(xué)家占有筷子C1時不能被B哲學(xué)家搶占。這個問題其現(xiàn)已擁有的筷子均可被搶占,即自己剝奪自己??紤]循環(huán)等待,出現(xiàn)循環(huán)等待的可能性為:每個哲學(xué)家同時只擁有左手請順序由低到高來實現(xiàn)。Considerasystemconsistingoffourresourcesofthesametypethataresharedbythreeprocesses,eachofwhichneedsatmosttwothatthesystemisdeadlock-free.考慮一個由4個共享進程,每個需要2個該資源的系統(tǒng),試證明這個系統(tǒng)不會出現(xiàn)死鎖答:這個問題比較簡單,“抽屜原理”表明,4個資源分配給3個進程,則至少有一個進程分配到2會釋放已分配的24個資源分配給2個進程,不會出現(xiàn)死鎖。Considerasystemconsistingofmresourcesofthesametype,beingsharedbynprocesses.Resourcescanberequestedandreleasedbyprocessesonlyoneatatime.Showthatthesystemisdeadlockfreeifthefollowingtwoconditionshold:a.Themaximumneedofeachprocessisbetween1andmresourcesb.Thesumofallmaximumneedsislessthanm+n考慮一個系統(tǒng)由m個同種資源被n個進程共享,某一資源一次只能被請求或釋放,證明這個系統(tǒng)如滿足下面2個條件則不會死鎖A每個進程最大需求資源為1-m之間B最大資源需求之和<m+n答:每個進程占有資源Allocation[]并申請資源Need[],如果發(fā)生了死鎖,說明m個資源全部被分配,即而由題設(shè),而Max[i]=Allocation[i]+Need[i],這說明,即這說明nNeed[i]=0,釋放資源的數(shù)目為1~m果再在某時刻出現(xiàn)的情況,一樣可以通過這個過程推導(dǎo),得到某進程不再需要申請資源,進而說明該系統(tǒng)不會死鎖。Considerthedining-philosophersproblemwherethechopsticksareplacedatthecenterofthetableandanytwoofthemcouldbeusedbyaphilosopher.Assumethatrequestsforchopsticksaremadeoneatatime.Describeasimplerulefordeterminingwhetheraparticularrequestcouldbesatisfiedwithoutcausingdeadlockgiventhecurrentallocationofchopstickstophilosophers.考慮哲學(xué)家進餐問題,如果所有筷子放在桌子中間,且一個哲學(xué)家可以用任意兩只筷子,假設(shè)一次只能請求一只筷子。描述一個簡單的規(guī)則來確定在當前哲學(xué)家進餐的筷子分配情況下,是否一個特殊請求可以在不會觸發(fā)死鎖的情況下完成答:這個題目的描述很模糊…子的時候,判斷兩個條件條件有并等待)條件2:是否桌上只剩一根筷子子只能分配給申請第二根筷子的哲學(xué)家,而不能分配給申請第一根筷子的哲學(xué)家)如果以上兩個條件均為是,則不給該哲學(xué)家分配筷子,否則,分配給該哲學(xué)家筷子Considerthefollowingsnapshotofasystem:AllocationABCDAnswerthefollowingquestionsusingthebanker’salgorithm:a.WhatisthecontentofthematrixNeedb.Isthesysteminasafestatec.IfarequestfromprocessP1arrivesfor(0,4,2,0),cantherequestbegrantedimmediately使用銀行家算法回答下列問題ANeed矩陣的內(nèi)容B這是個安全狀態(tài)的系統(tǒng)嗎CP1的某個請求需要[0420],這個需求能立即被滿足嗎答:(A)Need矩陣的內(nèi)容,公式為Need[i]=Max[i]-Allocation[i],所以把Max矩陣和Allocation矩陣各項對應(yīng)相減即可得到Need矩陣的內(nèi)容。(B)安全狀態(tài)判斷:首先設(shè)置所有進程finish=false,從第一個finish=falseNeed矩陣全小于等于Available矩陣,則說明該進程可以得到資源分配,系統(tǒng)可以將資源分配給該進程并等待進程結(jié)束釋放資源,同樣將其Allocation加到Available矩陣上。將該進程finish設(shè)置為true。下面開始分析:P0Need矩陣全為finish設(shè)置為Allocation加到AvailableAvailable矩陣為[1532]P1進程,Need矩陣不小于Available矩陣,故不分配資源,考慮下一進程P2進程,其need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到AvailableAvailable矩陣為[2886]下面兩種策略均可:一是從頭循環(huán),第二種是繼續(xù)按順序判斷,我在此處采取第二種。P3進程,其need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到AvailableAvailable矩陣為[214118]P4進程,其need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到AvailableAvailable矩陣為[2141212]P1進程,其need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到AvailableAvailable矩陣為[3141212]最終所有進程的finish均為true,說明系統(tǒng)安全(C)資源請求算法:如果request[i]<need[i],再判斷request[i]<avaiable,如果可以的話,更新矩陣的值為:Available-=request[i]allocation[i]+=request[i],need[i]-=request[i],然后再重新進行一次安全性判斷,如果仍安全,說明可以立即分配,反之則不能立即分配request下面用這種方法來判斷能否立即分配給request首先request[1]<need[1],且request[1]<avaiable,分配給P1資源,并修正矩陣值當前available=[1100],need[1]=[1330],allocation[1]=[1420]下面按B的方法判斷當前安全性首先選need矩陣全小于等于Availablefinish設(shè)置為Allocation加到AvailableAvailable矩陣為[1112]P1need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到Available矩陣上,此時Available矩陣為[2466]選擇P3,其need矩陣全小于等于Available矩陣,將該進程finish設(shè)置為Allocation加到AvailableAvailable矩陣為[21098]選擇P4,其need矩陣全小于等于Av

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論