《操作系統(tǒng) 習題課-死鎖、內(nèi)存管理FF》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng) 習題課-死鎖、內(nèi)存管理FF(48頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,操作系統(tǒng)概念習題課,-,死鎖與內(nèi)存管理,2016.5.12,死鎖,概念:,多道程序環(huán)境下,多個進程可能競爭一定數(shù)量的資源。進程所申請的資源被其他等待進程占有,該進程可能無法改變其狀態(tài),成為死鎖。,必要條件:,資源互斥,占有并等待,非搶占,循環(huán)等待,死鎖,明確死鎖產(chǎn)生的四個必要條件,明確死鎖的處理方法,明確死鎖預防的處理方法,明確死鎖避免的處理方法(包括安全狀態(tài)、死鎖狀態(tài)關(guān)系等),死鎖,處理方法,死鎖預防,死鎖避免,死鎖檢
2、測,忽略,互斥,-,通常無計可施,占有并等待,-,靜態(tài)分配,非搶占,-,允許搶占,循環(huán)等待,-,有序申請資源,安全狀態(tài)和安全隊列,資源分配圖算法,銀行家算法,死鎖恢復,終止進程,資源搶占,單實例,等待圖,多實例,類似銀行家,檢測算法的應用問題,選擇題,某系統(tǒng)中有三個并發(fā)進程,都需要同類資源,4,個,試問該系統(tǒng)不會發(fā)生死鎖的最少資源數(shù)是,_,A.9 B.10 C.11 D.12,答案:,B,【,例,】,某系統(tǒng)采用了銀行家算法,則下列敘述正確的是(),A,系統(tǒng)處于不安全狀態(tài)時一定會發(fā)生死鎖,B,系統(tǒng)處于不安全狀態(tài)時可能會發(fā)生死鎖,C,系統(tǒng)處于安全狀態(tài)時,可能會發(fā)生死鎖,D,系統(tǒng)處于安全狀態(tài)時,一定
3、會發(fā)生死鎖,【,解答,】B,【,例,】,在下列選項中,屬于解除死鎖的方法是(),A,剝奪資源法,B,資源分配圖算法,C,銀行家算法,D,資源靜態(tài)分配法,【,解答,】A,另一種方法是,終止進程,=,資源搶占,【,例,】,資源靜態(tài)分配法可以預防死鎖的發(fā)生,因它使死鎖四個條件中的()不成立,A,互斥條件,B,占有并等待,C,非搶占,D,循環(huán)等待,【,解答,】B,【,例,】,下面,4,個選項中,屬于處理死鎖的基本方法是,(),A,資源獨占,B,資源共享,C,進程并發(fā),D,預防死鎖,【,答案,】D,【,例,】,在銀行家算法的數(shù)據(jù)結(jié)構(gòu)中,其中最大需求矩陣,Max,分配矩陣,Allocation,和需求矩陣
4、,Need,三者之間的關(guān)系是,(),A Needi,j=Allocationi,j-Maxi,j,B Needi,j=Maxi,j+Allocationi,j,C Needi,j=Maxi,j-Allocationi,j,D Needi,j=Maxi,j*Allocationi,j,【,答案,】C,【,例,】,系統(tǒng)死鎖可利用()來描述。,A,進程,B,程序,C,系統(tǒng)流程圖,D,資源分配圖,【,答案,】D,【,例,】,按序分配資源是為了(),A,死鎖的檢測,B,死鎖的防止,C,死鎖的避免,D,死鎖的解除,【,答案,】B,【,例,】,死鎖的預防是根據(jù)()而采取措施實現(xiàn)的,A,配置足夠的系統(tǒng)資源,B
5、,使進程的推進順序合理,C,破壞死鎖的四個必要條件之一,D,防止系統(tǒng)進入不安全狀態(tài),【,解答,】C,【,例,】,在下列解決死鎖的辦法中,屬于死鎖預防策略的是(),A,化簡進程的資源分配圖,B,銀行家算法,C,資源的有序分配法,D,死鎖檢測法,【,解答,】C,【,例,】,死鎖產(chǎn)生的必要條件有,4,個,要預防死鎖發(fā)生,必須破壞死鎖的四個必要條件之一,但破壞()條件是不太實際的。,實現(xiàn)起來最簡單的條件是(),A,請求和保持,B,互斥,C,不剝奪,D,環(huán)路等待,【,解答,】B,。因為這是由設備的固有特性決定的,A,采用靜態(tài)分配方法實現(xiàn),在進程開始運行前,將它需要的全部資源分配給它。在運行過程中,不再請
6、求。這是早期操作系統(tǒng)采用的方法,但資源的利用率不高。,【,例,】,通過撤消進程可進行死鎖恢復,還可以采用()方法解除死鎖,A,阻塞進程,B,資源剝奪,C,提高進程優(yōu)先級,D,降低進程優(yōu)先級,【,解答,】B,采用資源剝奪法,將剝奪的資源分配給死鎖進程,以解決死鎖。,【,例,】,以下關(guān)于資源分配圖的描述中正確的是(),A,有向邊包含進程指向資源類的分配邊和資源類指向進程申請邊兩類,B,矩陣框表示進程,其中的原點表示申請同一類資源的各個進程,C,圓圈結(jié)點表示資源類,D,資源分配圖是一個有向圖,用于表示某時刻系統(tǒng)資源與進程之間的狀態(tài),【,答案,】D,【,例,】,死鎖的,4,個必要條件中,無法破壞的是(
7、),A,環(huán)路等待資源,B,互斥使用資源,C,占有且等待資源,D,非搶奪式分配,【,答案,】B,【,例,】,從下面關(guān)于安全狀態(tài)和非安全狀態(tài)的論述中,正確的論述是(),A,安全狀態(tài)是沒有死鎖的狀態(tài),非安全狀態(tài)是有死鎖的狀態(tài),B,安全狀態(tài)是可能有死鎖的狀態(tài),非安全狀態(tài)也是可能有死鎖的狀態(tài),C,安全狀態(tài)是可能沒有死鎖的狀態(tài),非安全狀態(tài)是有死鎖的狀態(tài),D,安全狀態(tài)是沒有死鎖的狀態(tài),非安全狀態(tài)是可能有死鎖的狀態(tài),【,解答,】D,【,例,】,關(guān)于產(chǎn)生死鎖的現(xiàn)象,下面的描述最準確的是(),A,每個進程共享某一個資源,B,每個進程競爭某一個資源,C,每個進程等待著某一個不能得到且不可釋放的資源,D,某個進程因等
8、待著某一個資源而無法進行下去,【,解答,】C,【,例,】,銀行家算法是一種()算法,A,死鎖解除,B,死鎖避免,C,死鎖預防,D,死鎖檢測,【,解答,】B,【,例,】,下列說法正確的是(),A,死鎖是指系統(tǒng)的全部進程都處于阻塞狀態(tài),B,操作系統(tǒng)處理死鎖,只要采用預防,解除,檢測,避免等方法中的一種就足夠了,C,如果系統(tǒng)在所有進程運行前,一次性地將其在整個運行過程所需的全部資料分配給進程,即所謂”靜態(tài)分配“,是預防死鎖發(fā)生的。,D,多個進程競爭比進程數(shù)目少的資源分配情況進行安全分析,如果該時刻狀態(tài)是安全的,則存在一個安全序列,且這個安全序列是唯一的。,【,解答,】C,【,例,】,下列說法錯誤的是
9、(),A,產(chǎn)生死鎖的原因可以歸結(jié)為兩點:競爭資源和進程推進順序非法,B,用于處理死鎖的方法可歸結(jié)為以下四種:預防死鎖;避免死鎖;檢測死鎖;解除死鎖,C,在死鎖的預防中,摒棄”請求和保持“條件的方法的缺點是資源嚴重浪費;進程延遲運行,D,當由于為進程分配資源而使系統(tǒng)處于不安全狀態(tài)時,系統(tǒng)一定會導致死鎖,【,解答,】AD,【,例,】,正確的是,(),A,預防死鎖的方法,優(yōu)點是簡單,易于實現(xiàn)且很安全,而且資源利用率高,進程也能較快地進行,B,檢測死鎖能夠有效地解除進程的死鎖狀態(tài)解,C,當由于為進程分配資源使系統(tǒng)處于不安全狀態(tài)時,系統(tǒng)一定會導致死鎖,D,采用資源靜態(tài)分配算法可以預防死鎖的發(fā)生,【,答案
10、,】D,【,例,】,假設現(xiàn)在有,p,個進程,每個進程最多需要,m,個資源,并且有,r,個資源可用,什么樣的條件可以保證死鎖不會發(fā)生。,【,解答,】,如果一個進程有,m,個資源它就能夠結(jié)束,不會使自己陷入死鎖中。因此,最差的情況是每個進程有,m-1,個資源并且需要另外一個資源。如果留下有一個資源可用,那么其中某一個進程就能夠結(jié)束并釋放它所有的資源,使其他進程也能結(jié)束。所以避免死鎖的條件是:,r=p(m-1)+1,【,例,】,一臺計算機有,6,臺磁帶機,由,n,個進程競爭使用,每個進程可能需要兩臺磁帶機,那么,n,是多少時,系統(tǒng)才沒有死鎖的危險?,【,解答,】,對于三個進程,每個進程能夠有兩個驅(qū)動
11、器。對于,4,個進程,驅(qū)動器可以按照(,2,,,2,,,1,,,1,)的方法進行分配,使前面兩個進程先結(jié)束。,對于,5,個進程,可以按照(,2,,,1,,,1,,,1,,,1,)的方法進行分發(fā),使一個進程先結(jié)束。,對于六個進程,每個進程都擁有一個磁帶驅(qū)動器同時需要另外一個驅(qū)動器,產(chǎn)生了死鎖。因此,對于,n6,的系統(tǒng)來說是無鎖的。,【,例,】,設系統(tǒng)中僅有一個資源類,其中共有,3,個資源實例,使用此類資源的進程共有,3,個,每個進程至少請求一個資源,它們所需資源最大量的總和為,X,,則發(fā)生死鎖的必要條件是(,X,的取值),【,解答,】,假設,3,個進程所需該類資源數(shù)分別是,a,b,c,個,因此有
12、:,a+b+c=X,假設發(fā)生了死鎖,也即當每個進程都申請了部分資源,還需最后一個資源,而此時系統(tǒng)中已經(jīng)沒有了剩余資源,即:,(a-1)+(b-1)+(c-1)3,X=a+b+c 6,因此,如果發(fā)生死鎖,則必須滿足的必要條件是(,X 6,),【,例,】,假設某系統(tǒng)中有,4,種資源,(R1,R2,R3,R4),,在某時刻系統(tǒng)中共有,5,個進程,進程,P1,,,P2,,,P3,,,P4,,,P5,的最大資源需求數(shù)量和此刻已分配到資源數(shù)向量分別如下,系統(tǒng)中當前可用資源向量為,(2,1,0,0),問,1,當前系統(tǒng)是否是安全的?,2,如果進程,P3,發(fā)出資源請求向量,(0,1,0,0),,系統(tǒng)能否將資源分
13、配給它?,【,分析,】(1),進程的最大資源需求數(shù)減去當前進程已獲得的資源數(shù)就是進程仍需要的資源數(shù),此刻各個進行的仍需要資源數(shù)向量為:,P1,(0,0,0,0);P2(0,7,5,0);P3(6,6,2,2);P4(2,0,0,2);P5(0,3,2,0),而系統(tǒng)的可用資源向量為,(2,1,0,0),這時存在如下執(zhí)行序列,使進程順序執(zhí)行完畢,狀態(tài)安全,進程 可用資源數(shù),P1,完成后,(2,1,1,2),P4,完成后,(4,4,6,6),P5,完成后,(4,7,9,8),P2,完成后,(6,7,9,8),P3,完成后,(6,7,1,12),滿足資源需求的進程執(zhí)行序列為:,進程名 可用資源數(shù),P1
14、,完成后,(2,0,1,2),P4,完成后,(4,3,6,6),P5,完成后,(4,6,9,8),此時可用資源不能滿足,P2,P3,的需求,即此時系統(tǒng)狀態(tài)是不安全的,將拒絕資源請求,此時系統(tǒng)可用資源為,(2,0,0,0),,各進程仍需要資源向量為:,P1(0,0,0,0);,P2(0,7,5,0);,P3(6,5,2,2);,P4(2,0,0,2);,P5(0,3,2,0),在,P3,發(fā)出資源請求,(0,1,0,0),后,假設系統(tǒng)把資源分配給,P3,則各進程已分配資源數(shù)為:,P1 (0,0,1,2);,P2 (2,0,0,0);,P3 (0,1,3,4);,P4 (2,3,5,4);,P5 (
15、0,3,3,2),1,2,內(nèi)存管理,背景,交換,連續(xù),內(nèi)存分配,分頁,分段,頁表結(jié)構(gòu),基本硬件,地址綁定,動態(tài)加載和動態(tài)鏈接,CPU,和內(nèi)存,,cache,用戶空間和內(nèi)核空間,基址寄存器,界限寄存器,首次適應算法,最佳適應算法,最差適應算法,循環(huán)首次適應算法,碎片問題,外部,頁表映射方法,保護,-,有效無效位,只存在,內(nèi)部碎片,內(nèi)部,硬件支持,TLB,基本思想,段表映射方法,邏輯地址和物理地址,非連續(xù),內(nèi)存分配,1.,下面關(guān)于存儲管理的敘述中正確的是(),A.,現(xiàn)在操作系統(tǒng)中,允許用戶干預內(nèi)存的分配,B.,固定分區(qū)存儲管理是針對單道系統(tǒng)的內(nèi)存管理方案,C.,可變分區(qū)存儲管理可以對作業(yè)分配不連續(xù)
16、的內(nèi)存單元,D.,頁式存儲管理中,頁面大小是在硬件設計時確定的,【,解答,】D,選擇題,2.,在存儲管理中,把目標程序中的邏輯地址轉(zhuǎn)換成主存空間的物理地址的過程稱為,。,A.,存儲分配,B.,地址重定位,C.,地址保護,D.,程序移動,B,3.,作業(yè)在執(zhí)行中發(fā)生了缺頁中斷,經(jīng)操作系統(tǒng)處理后,應讓其執(zhí)行,指令。,A,被中斷的前一條,B,被中斷的,C,被中斷的后一條,D,啟動時的第一條,B,4.,下面最有可能使得高地址空間成為大的空閑區(qū)的分配算法是(,)。,A,首次適應算法,B,最佳適應法,C,最壞適應法,D,循環(huán)首次適應法,A,5.,在幾種基本的放置策略中,空白區(qū)是按大小遞增的順序鏈接在一起的是()策略。,A,首次匹配,B,最佳匹配,C,最壞匹配,D,以上三者,B,6.,虛擬內(nèi)存的可行性的基礎是()。,A,程序執(zhí)行的離散性,B,程序執(zhí)行的順序性,C,程序執(zhí)行的局部性,D,程序執(zhí)行的并發(fā)性,C,7.,分區(qū)管理要求對每一個作業(yè)都分配()的內(nèi)存單元。,A,地址連續(xù),B,若干地址不連續(xù),C,若干連續(xù)的幀,D,若干不連續(xù)的幀,A,8.,分區(qū)管理和分頁管理的主要區(qū)別是(,)。,A,分區(qū)管理中的塊比分