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

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)第三章答案【篇一:操作系統(tǒng)第三章練習(xí)及答案】度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?2. 何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?3. 有一個(gè)具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進(jìn)程調(diào)度采用以搶占式優(yōu)先權(quán)調(diào)度算法,有如下表所示的作業(yè)序列,表中所第三章 答案1高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度? 解答:高級(jí)調(diào)度是用于決定把外存上處于后備隊(duì)列中的哪些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程、分配必要的資源,然后再將新創(chuàng)建的進(jìn)程排在就緒隊(duì)列上,準(zhǔn)備報(bào)告。低級(jí)調(diào)度是決定就緒隊(duì)列中哪個(gè)進(jìn)程將獲得處理機(jī),然后由分派程序執(zhí)行把處理機(jī)分配給該進(jìn)程的操作

2、。引入中級(jí)調(diào)度的目的是為了提高內(nèi)存的利用率和系統(tǒng)吞吐量。為使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用內(nèi)存空間,而將它們調(diào)至外存上去等待;當(dāng)這些進(jìn)程重又具備運(yùn)行條件,且內(nèi)存又稍有空閑時(shí),由中級(jí)調(diào)度決定,將外存上那些重又具備運(yùn)行條件的就緒進(jìn)程重新調(diào)入內(nèi)存,并修改其狀態(tài)為就緒狀態(tài),掛在就緒隊(duì)列上,等待進(jìn)程調(diào)度。2何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?解答:產(chǎn)生死鎖的原因可歸結(jié)為兩點(diǎn): 1、競(jìng)爭(zhēng)資源; 2、進(jìn)程推進(jìn)順序非法。 在同時(shí)具備以下四個(gè)必要條件時(shí),就會(huì)產(chǎn)生死鎖: 1、互斥條件,指在一段時(shí)間內(nèi)某資源只能由一個(gè)進(jìn)程占有。 2、請(qǐng)求和保持條件,指進(jìn)程已經(jīng)保持了至少一個(gè)資源,又提出了新的資源要求,而該資源又

3、被其它進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程阻塞,但不釋放已持有的資源。3、不剝奪條件,指進(jìn)程已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時(shí)由自己釋放。 4、環(huán)路等待條件,指存在一個(gè)進(jìn)程 資源的環(huán)形鏈。3在銀行家算法中,把 p0 發(fā)出的請(qǐng)求向量改為 requst0(0 ,1,0),系統(tǒng)是否能將資源分配給它?解答:當(dāng) p0 發(fā)出請(qǐng)求向量 requst0(0 ,1,0)后,系統(tǒng)按銀行家算法進(jìn)行檢查:(1) requst0(0 ,1,0)=need(7,4,3)(2) requst0(0 ,1,0)=available(2,3,0)(3) 系統(tǒng)暫時(shí)先假定可為 p0 分配資源,并修改有關(guān)數(shù)據(jù),如下所示:al

4、location needavailablea b cab c a b cp0 : 0 207 3 3 22 0p1 : 3 020 2 0 p2 : 3 026 0 0 p3 : 2 110 1 1 p4 : 0 024 3 1(4) 進(jìn)行安全性檢查work need allocation work+allocation finish a b c a b c a b c a b c true p1 2 2 0 0 20 3 0 25 2 2 truep3 5 2 2 0 1 12 1 1 7 3 3 true p4 7 3 3 4 3 1 0 0 2 7 35true p2 7 3 5 6

5、0 0 3 0 2 1 0 3 7 true p0 1 0 3 7 3 3 0 20 1 0 5 7 true5有一個(gè)具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進(jìn)程調(diào)度采用以搶占式優(yōu)先權(quán)調(diào)度算法,有如下表所示的作業(yè)序列,表中所1)、列出所有作業(yè)進(jìn)入內(nèi)存時(shí)間及結(jié)束時(shí)間2)、計(jì)算平均周轉(zhuǎn)時(shí)間解答:本題中的系統(tǒng)是兩道作業(yè)系統(tǒng),因此每次只能有兩個(gè)作業(yè)進(jìn)入系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先算法,只有調(diào)度進(jìn)入系統(tǒng)的進(jìn)程方能參與進(jìn)程調(diào)度;進(jìn)程調(diào)度采用基于優(yōu)先數(shù)的搶占式調(diào)度算法,高優(yōu)先級(jí)的進(jìn)程可以搶占系統(tǒng)處理機(jī)。 本題的作業(yè)和進(jìn)程的推進(jìn)過(guò)程如下:10:00 a 作業(yè)到達(dá),被作業(yè)調(diào)度程序調(diào)度進(jìn)入系統(tǒng)

6、被進(jìn)程調(diào)度程序調(diào)度開(kāi)始運(yùn)行10:20 a 作業(yè)運(yùn)行 20 分鐘,剩余 20 分鐘由于優(yōu)先級(jí)低,被進(jìn)程調(diào)度程序調(diào)度處于就緒狀態(tài)b 作業(yè)到達(dá),被作業(yè)調(diào)度程序調(diào)度進(jìn)入系統(tǒng) 由于優(yōu)先級(jí)高,被進(jìn)程調(diào)度程序調(diào)度處于開(kāi)始運(yùn)行狀態(tài) 10:30 a作業(yè)等待 10 分鐘,剩余 20 分鐘繼續(xù)等待b 作業(yè)運(yùn)行 10 分鐘,剩余 20 分鐘繼續(xù)運(yùn)行c 作業(yè)到達(dá),等待被作業(yè)調(diào)度程序調(diào)度10:50 a 作業(yè)等待 30 分鐘,剩余 20 分鐘由于優(yōu)先級(jí)高,被進(jìn)程調(diào)度程序調(diào)度處于開(kāi)始運(yùn)行狀態(tài)11:1012:0012:20 b 作業(yè)運(yùn)行 30 分鐘,作業(yè)完成,結(jié)束運(yùn)行 c 作業(yè)等待 20 分鐘 由于估計(jì)運(yùn)行時(shí)間較長(zhǎng),仍未被調(diào)入

7、系統(tǒng)中運(yùn)行 d 作業(yè)到達(dá),被進(jìn)程調(diào)度程序調(diào)度處于就緒狀態(tài) a 作業(yè)運(yùn)行 40 分鐘,作業(yè)完成,結(jié)束運(yùn)行c 作業(yè)等待 30 分鐘,被作業(yè)調(diào)度程序調(diào)度進(jìn)入系統(tǒng) 由于優(yōu)先級(jí)高,被進(jìn)程調(diào)度程序調(diào)度處于開(kāi)始運(yùn)行狀態(tài) d 作業(yè)等待 10 分鐘 由于優(yōu) 先級(jí)低,被進(jìn)程調(diào)度程序調(diào)度處于就緒狀態(tài) c 作業(yè)運(yùn)行 50 分鐘,作業(yè)完成,結(jié)束運(yùn)行 d 作業(yè)等待 60 分鐘,被進(jìn)程調(diào)度程序調(diào)度處于開(kāi)始運(yùn)行狀態(tài) d 作業(yè)運(yùn)行 20 分鐘,作業(yè)完成,結(jié)束運(yùn)行【篇二:操作系統(tǒng)第三章作業(yè)答案】進(jìn)程之間存在相互制約關(guān)系嗎?若存在,是什么制約關(guān)系?為什么?幾個(gè)同學(xué)去圖書(shū)館借同一本書(shū)。答:互斥,只能有一個(gè)借到籃球比賽中兩隊(duì)同學(xué)爭(zhēng)搶籃

8、板球。答:互斥,只能有一個(gè)搶到果汁流水線生產(chǎn)中搗碎、消毒、灌裝、裝箱等各道工序。答:同步時(shí)進(jìn)行,相互不影響商品的入庫(kù)出庫(kù)。答:同步時(shí)進(jìn)行,相互無(wú)影響工人做工與農(nóng)民種糧。答:同步進(jìn)行,相互無(wú)影響2.在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?答:引入管城是為了實(shí)現(xiàn)進(jìn)程的同步和互斥。條件變量的作用是:設(shè)置多個(gè)信號(hào)量,使用大量的 p、v 操作,還要仔細(xì)安排多個(gè) p 操作的排列次序,否則會(huì)出現(xiàn)錯(cuò)誤的結(jié)果或出現(xiàn)死鎖現(xiàn)象。3.說(shuō)明 p、v 操作為什么要設(shè)計(jì)成原語(yǔ)。 答:用信號(hào)量 s 表示共享資源,其初值為 1 表示有一個(gè)資源。設(shè)有兩個(gè)進(jìn)程申請(qǐng)?jiān)撡Y源,若其中一個(gè)進(jìn)程先執(zhí)行 p 操作。 p 操作中

9、的減1 操作有 3 條指令組成:去 s 送寄存器 r;r-1 送 s。若 p 操作不用原語(yǔ)實(shí)現(xiàn),在執(zhí)行了前述三條指令中的 2 條,即還未執(zhí)行 r 送 s 時(shí)(此 時(shí) s 值仍為 1),進(jìn)程被剝奪 cpu ,另一個(gè)進(jìn)程執(zhí)行也要執(zhí)行 p 操作,執(zhí)行后 s 的值為 0,導(dǎo)致信號(hào)量的值錯(cuò)誤。正確的結(jié)果是兩個(gè)進(jìn)程執(zhí)行完 p 操作后,信號(hào)量 s 的值為 -1,進(jìn)程阻塞。4.設(shè)有一個(gè)售票大廳,可容納 200 人購(gòu)票。如果廳內(nèi)不足 200 人則允許進(jìn)入,超過(guò)則在廳外等候;售票員某時(shí)只能給一個(gè)購(gòu)票者服務(wù),購(gòu)票者買完票后就離開(kāi)。試問(wèn): 購(gòu)票者之間是同步關(guān)系還是互斥關(guān)系?答:互斥關(guān)系 用 p、v 操作描述購(gòu)票者的工

10、作過(guò)程。如下:semaphoremutex=1; semaphorefull=200; void customer() p(metux); p(full); buying v(mutex); v(full);5.進(jìn)程之間的關(guān)系如圖 3-16 所示,試用 p、v 操作描述它們之間的同步。如下: 設(shè):s1s2 為 a s1 s3為 b s2 s6 為 c s3 s4 為 d s3 s5為 e s4 s6 為 fs5s6 為 gsemaphorea,b,c,d,g,f,g=0,0,0,0,0,0,0; s1;v(a);v(b); p(a);s2;v(a); p(b);s3;v(b); p(d);s4

11、;v(d); p(e);s5;v(e); p(c);s6; p(f);p(g);s6 6.有 4 個(gè)進(jìn)程 p1、p2、p3、p4 共享一個(gè)緩沖區(qū),進(jìn)程 p1 向緩沖區(qū)存入消息,進(jìn)程 p2、p3、p4 從緩沖區(qū)中去消息,要求發(fā)送者必須 等三個(gè)進(jìn)程都去過(guò)本消息后才能發(fā)送下調(diào)消息。緩沖區(qū)內(nèi)每次只能 容納一個(gè)消息,用 p、v 操作描述四個(gè)進(jìn)程存取消息的情況。如下:semaphore: metux=0; p1;v(metux); p(metux); p(metux); p(metux); p2; p3; p4;v(metux); v(metux); v(metux); 7.分析生產(chǎn)者 消費(fèi)者問(wèn)題中多個(gè)

12、p 操作顛倒引起的后果。semaphore mutex=1 ;semaphore empty=n ;semaphore full=0 ;int i,j ; item buffern;item data_p,data_c; void producer() while(ture)produce an item in data_p;p(empty); p(mutex); bufferi=data_p;i=(i+1)%n; v(empty); v(full);void consumer() while(ture) p(full); p(mutex); data_c= bufferj;j=(j+1)%n

13、; v(metux);v(empty);coumer the item in data_c; 8.讀者 寫(xiě)者問(wèn)題中寫(xiě)者優(yōu)先算法的實(shí)現(xiàn)。semaphore wmutex ,rmutex=1 ;int rcount=0 ; semaphore mutex=1 void reader () while(true)p(mutex); p(mutex); p(rmutex); p(wmutex); if(rcount=0) p(wmutex);rcount=rcount+1 ; v(rmutex); v(mutex); v(wmutex);v(mutex); 讀; void writer()while(

14、true) 寫(xiě); p(rmutex) ;rcount=rcount-1 ;if (rcount=0 ) v(wmutex );v(rmutex ); 9.寫(xiě)一個(gè)用信號(hào)量解決哲學(xué)家進(jìn)餐問(wèn)題不產(chǎn)生鎖死的算法。如下:semaphore chopstick5=1,1,1,1,1; semaphore mutex; void profession(int n)while (ture) p(chopsticki;p(chopstick(i+1)%5 ); p(metux); 進(jìn)餐; v(chopsticki;v(chopstick(i+1)%5 );思考;v(metux) ;10.一個(gè)文件可有若干個(gè)不同的

15、進(jìn)程所共享,每個(gè)進(jìn)程具有唯一的編號(hào)。假定文件可有滿足下列限制的若干個(gè)不同的進(jìn)程同時(shí)訪問(wèn),并發(fā)訪問(wèn)該文件的哪些進(jìn)程的編號(hào)的總和不得大于 n,設(shè)計(jì)一個(gè)協(xié)調(diào)對(duì)該文件訪問(wèn)的管程。不會(huì)做這道題11.用管程解決讀者 寫(xiě)者問(wèn)題,并采用公平原則。不會(huì)做這道題【篇三:操作系統(tǒng) 第三章部分答案】ass=txt7 設(shè)單處理器系統(tǒng)中有 5 個(gè)進(jìn)程 p1、p2、p3、p4、p5并發(fā)執(zhí)行,其運(yùn)行時(shí)間分別為 10、1、2、1、5,優(yōu)先權(quán)分別為 3、1、3、4、2,這些進(jìn)程幾乎同時(shí)到達(dá),在就緒隊(duì)列中的次序依次為 p1、p2、p3 、p4 、p5,試計(jì)算采用時(shí)間片輪轉(zhuǎn)(時(shí)間片為 2),短進(jìn)程優(yōu)先、非搶占式優(yōu)先權(quán)算法進(jìn)行調(diào)度時(shí)的

16、平均周轉(zhuǎn)時(shí)間和平均等待時(shí)間。 解:(1)時(shí)間片輪轉(zhuǎn)調(diào)度算法,時(shí)間片大小為 2min采用時(shí)間片輪轉(zhuǎn)調(diào)度算法進(jìn)行調(diào)度時(shí)的平均周轉(zhuǎn)時(shí)間為,平均帶權(quán)周轉(zhuǎn)時(shí)間為,平均等待時(shí)間為。 (2)短進(jìn)程優(yōu)先調(diào)度算法采用短進(jìn)程優(yōu)先調(diào)度算法進(jìn)行調(diào)度時(shí)的的平均周轉(zhuǎn)時(shí)間為,平均帶權(quán)周轉(zhuǎn)時(shí)間為,平均等待時(shí)間為。(3.1)非搶占式優(yōu)先權(quán)算法(假設(shè)值越大,優(yōu)先級(jí)越高)采用非搶占式優(yōu)先權(quán)算法(假設(shè)值越大,優(yōu)先級(jí)越高)進(jìn)行調(diào)度時(shí)的的平均周轉(zhuǎn)時(shí)間為,平均帶權(quán)周轉(zhuǎn)時(shí)間為,平均等待時(shí)間為。(3.2)非搶占式優(yōu)先權(quán)算法(假設(shè)值越小,優(yōu)先級(jí)越高)采用非搶占式優(yōu)先權(quán)算法(假設(shè)值越小,優(yōu)先級(jí)越高)進(jìn)行調(diào)度時(shí)的的平均周轉(zhuǎn)時(shí)間為,平均帶權(quán)周轉(zhuǎn)時(shí)間為

17、,平均等待時(shí)間為。8有 4 個(gè)作業(yè) j1、j2 、j3、j4 ,它們達(dá)到的時(shí)間分別為 9:00 、9:40 、9:50 、10:10 ,所需的 cpu 時(shí)間分別為70min 、30min 、10min 、5min ,分別采用先來(lái)先服務(wù)調(diào)度算法和短作業(yè)優(yōu)先調(diào)度算法進(jìn)行調(diào)度,試問(wèn)它們的調(diào)度順序、作業(yè)的周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間各是多少? 解:(1)先來(lái)先服務(wù)調(diào)度算法(2)短作業(yè)優(yōu)先調(diào)度算法9一個(gè)能容納兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先 調(diào)度算法,進(jìn)程調(diào)度采用搶占式優(yōu)先權(quán)算法。表 3-11 列出了先后到達(dá)的幾個(gè)作業(yè)的相關(guān)時(shí)間和優(yōu)先級(jí)(值越小,優(yōu)先級(jí)越高),試計(jì)算:各作業(yè)進(jìn)入內(nèi)存的時(shí)間和完成時(shí)間

18、;平均周轉(zhuǎn)時(shí)間。表 3-11 一個(gè)調(diào)度的例子解:本題中的批處理系統(tǒng)能容納兩道作業(yè),即內(nèi)存中最多允許存在兩道作業(yè)。分析:(1)8:00 時(shí),作業(yè) job1 到達(dá)并投入運(yùn)行。(2)8:20 時(shí),作業(yè) job2 到達(dá),且它的優(yōu)先級(jí)高于作業(yè) job1 ,所以作業(yè) job1 進(jìn)入就緒隊(duì)列,作業(yè) job2 投入運(yùn)行。(3)8:30 時(shí),作業(yè) job3 到達(dá),因?yàn)閮?nèi)存中已經(jīng)存在兩道作業(yè):job1 和 job2 ,所以作業(yè) job3 進(jìn)入后備隊(duì)列等待高級(jí)調(diào)度。 (4)8:50 時(shí),作業(yè) job2 運(yùn)行結(jié)束,作業(yè) job4 到達(dá)系統(tǒng)。因?yàn)槭前炊套鳂I(yè)優(yōu)先的原則進(jìn)行高級(jí)調(diào)度,加上作業(yè) job4 的運(yùn)行時(shí)間比job3 少,所以作業(yè) job4 被裝入內(nèi)存就緒隊(duì)列,而作業(yè) job1 的優(yōu)先級(jí)比作業(yè) job4 的優(yōu)先級(jí)高,所以作業(yè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論