操作系統(tǒng)復(fù)習(xí)應(yīng)用題_第1頁(yè)
操作系統(tǒng)復(fù)習(xí)應(yīng)用題_第2頁(yè)
操作系統(tǒng)復(fù)習(xí)應(yīng)用題_第3頁(yè)
操作系統(tǒng)復(fù)習(xí)應(yīng)用題_第4頁(yè)
操作系統(tǒng)復(fù)習(xí)應(yīng)用題_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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.若程序A和B單獨(dú)執(zhí)行時(shí)分別需要1小時(shí)和1.5小時(shí),其中CPU工作時(shí)間分別為18分鐘和27分鐘。若采用多道程序設(shè)計(jì)方法,讓A和B并行工作,假定CPU利用率達(dá)到50%,另加15分鐘系統(tǒng)開銷,請(qǐng)問系統(tǒng)效率能提高多少?解:在多道系統(tǒng)中,程序A和B共用的CPU時(shí)間為:<18十27>/50%=90分鐘系統(tǒng)效率提高=<A和B單獨(dú)執(zhí)行的時(shí)間總和-多道方式下總時(shí)間>/A和B單獨(dú)執(zhí)行的時(shí)間總和,即<<60十90>-<90十15>>/<60十90>=45/150=30%1.假定在單CPU條件下有下列要執(zhí)行的作業(yè):作業(yè)運(yùn)行時(shí)間優(yōu)先級(jí)1102243330作業(yè)到來(lái)的時(shí)間是按作業(yè)編號(hào)順序進(jìn)行的<即后面作業(yè)依次比前一個(gè)作業(yè)遲到一個(gè)時(shí)間單位>。<1>用一個(gè)執(zhí)行時(shí)間圖描述在采用非搶占式優(yōu)先級(jí)算法時(shí)執(zhí)行這些作業(yè)的情況。<2>對(duì)于上述算法,各個(gè)作業(yè)的周轉(zhuǎn)時(shí)間是多少?平均周轉(zhuǎn)時(shí)間是多少?<3>對(duì)于上述算法,各個(gè)作業(yè)的帶權(quán)周轉(zhuǎn)時(shí)間是多少?平均帶權(quán)周轉(zhuǎn)時(shí)間是多少?解:<1>非搶占式優(yōu)先級(jí)算法作業(yè)的執(zhí)行情況如下:作業(yè)到達(dá)時(shí)間運(yùn)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間101010101.021417164.032313113.7平均周轉(zhuǎn)時(shí)間12.3平均帶權(quán)周轉(zhuǎn)時(shí)間2.92.若在后備作業(yè)隊(duì)列中等待運(yùn)行的同時(shí)有三個(gè)作業(yè)1、2、3,已知它們各自的運(yùn)行時(shí)間為a、b、c,且滿足關(guān)系a<b<c,試證明采用短作業(yè)優(yōu)先調(diào)度算法能獲得最小平均周轉(zhuǎn)時(shí)間。證明:由于短作業(yè)優(yōu)先調(diào)度算法總是在后備作業(yè)隊(duì)列中選擇運(yùn)行時(shí)間最短的作業(yè)作為調(diào)度對(duì)象,因此對(duì)短作業(yè)優(yōu)先調(diào)度算法而言,這三個(gè)作業(yè)的總周轉(zhuǎn)時(shí)間為T1=a+<a+b>+<a+b+c>=3a+2b+c……<1>若不按短作業(yè)優(yōu)先調(diào)度算法來(lái)調(diào)度這三個(gè)作業(yè),不失一般性,假定調(diào)度順序?yàn)?、l、3,則其周轉(zhuǎn)時(shí)間為T2=b+<b+a>+<b+a+c>=3b+2a+c……<2>由<1>、<2>兩式可得:T2-T1=b-a>0由此可見,短作業(yè)優(yōu)先調(diào)度算法能獲得最小平均周轉(zhuǎn)時(shí)間。3.設(shè)有4道作業(yè),它們的提交時(shí)間及執(zhí)行時(shí)間如下:試計(jì)算在單道程序環(huán)境下,采用先來(lái)先服務(wù)調(diào)度算法和最短作業(yè)優(yōu)先調(diào)度算法時(shí)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間,并指出它們的調(diào)度順序。<時(shí)間單位:小時(shí),以十進(jìn)制進(jìn)行計(jì)算。>解:若采用先來(lái)先服務(wù)調(diào)度算法,則其調(diào)度順序?yàn)?、2、3、4。平均周轉(zhuǎn)時(shí)間T=<2.0十2.8十3.1十3.3>/4=2.8平均帶權(quán)周轉(zhuǎn)時(shí)間W=<1十2.8十6.2十11>/4=5.25若采用短作業(yè)優(yōu)先調(diào)度算法,則其調(diào)度順序?yàn)?、4、3、2平均周轉(zhuǎn)時(shí)間為T=<2.0+1.8+2.4+3.6>/4=2.45平均帶權(quán)周轉(zhuǎn)時(shí)間W=<1十6十4.8十3.6>/4=3.854.假設(shè)有四個(gè)作業(yè),它們的提交、運(yùn)行時(shí)間如下表所示。若采用高響應(yīng)比優(yōu)先調(diào)度算法,試問平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間為多少?<時(shí)間單位小時(shí),以十進(jìn)制進(jìn)行計(jì)算。>解:根據(jù)響應(yīng)比的定義每次調(diào)度前計(jì)算出各作業(yè)的響應(yīng)比,得到四個(gè)作業(yè)的調(diào)度次序?yàn)椋鹤鳂I(yè)1、作業(yè)3、作業(yè)2、作業(yè)4。平均周轉(zhuǎn)時(shí)間為T=<2.0十2.3十1.6十2.O>/4=1.975平均帶權(quán)周轉(zhuǎn)時(shí)間W=<1十4.6十16十5>/4=6.655.有一個(gè)具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進(jìn)程調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法。在下表所示的作業(yè)序列,作業(yè)優(yōu)先數(shù)即為進(jìn)程優(yōu)先數(shù),且優(yōu)先數(shù)越小優(yōu)先級(jí)越高。<1>列出所有作業(yè)進(jìn)入內(nèi)存時(shí)間及結(jié)束時(shí)間<2>計(jì)算平均周轉(zhuǎn)時(shí)間。分析:在本題中,每個(gè)作業(yè)的運(yùn)行將經(jīng)歷兩級(jí)調(diào)度:作業(yè)調(diào)度和進(jìn)程調(diào)度。作業(yè)調(diào)度采用短作業(yè)優(yōu)先調(diào)度算法,進(jìn)程調(diào)度采用基于優(yōu)先數(shù)的搶占式調(diào)度算法,高優(yōu)先級(jí)的進(jìn)程可以搶占系統(tǒng)處理機(jī)。只有當(dāng)作業(yè)調(diào)度程序?qū)⒆鳂I(yè)裝入內(nèi)存后,方能參與進(jìn)程調(diào)度。本題中的批處理系統(tǒng)是兩道作業(yè)系統(tǒng),因此每次只能有兩道作業(yè)進(jìn)入系統(tǒng)內(nèi)存。本題中的作業(yè)和進(jìn)程推進(jìn)順序如下:10:00時(shí),A作業(yè)到達(dá)。因系統(tǒng)的后備作業(yè)隊(duì)列中沒有其他作業(yè),進(jìn)程就緒隊(duì)列中也沒有進(jìn)程,故作業(yè)調(diào)度程序?qū)⒆鳂I(yè)A調(diào)入內(nèi)存并將它排在就緒隊(duì)列上,進(jìn)程調(diào)度程序調(diào)度它運(yùn)行。10:20時(shí),B作業(yè)到達(dá)。因系統(tǒng)的后備作業(yè)隊(duì)列中沒有其他作業(yè),故作業(yè)調(diào)度程序?qū)⒆鳂I(yè)B調(diào)入內(nèi)存并將它排在就緒隊(duì)列上。而作業(yè)B的優(yōu)先級(jí)高于作業(yè)A的優(yōu)先級(jí),進(jìn)程調(diào)度程序停止作業(yè)A的運(yùn)行,將作業(yè)A放入就緒隊(duì)列,調(diào)度作業(yè)B運(yùn)行。此時(shí),系統(tǒng)中已有兩道作業(yè)在內(nèi)存中運(yùn)行,作業(yè)A已運(yùn)行20分鐘,還需運(yùn)行20分鐘才能完成。10:30時(shí),C作業(yè)到達(dá)。因系統(tǒng)中已有兩道作業(yè)在內(nèi)存中運(yùn)行,故作業(yè)C只能在后備作業(yè)隊(duì)列中等待作業(yè)調(diào)度。此時(shí),作業(yè)B已運(yùn)行了10分針并將繼續(xù)運(yùn)行,還需運(yùn)行20分鐘才能完成,作業(yè)A已等待10分針并將繼續(xù)等待、還需運(yùn)行20分鐘才能完成。10:50時(shí),B作業(yè)運(yùn)行30分鐘結(jié)束運(yùn)行,D作業(yè)到達(dá)。因系統(tǒng)中只有作業(yè)A在內(nèi)存中運(yùn)行,作業(yè)后備隊(duì)列中有C、D兩道作業(yè),按短作業(yè)優(yōu)先的作業(yè)調(diào)度策略,作業(yè)D被作業(yè)調(diào)度程序選中,裝入內(nèi)存運(yùn)行,作業(yè)C仍在后備作業(yè)隊(duì)列中等待作業(yè)調(diào)度。在內(nèi)存中,作業(yè)A的優(yōu)先級(jí)高于作業(yè)D,進(jìn)程調(diào)度程序調(diào)度作業(yè)A運(yùn)行,作業(yè)D在就緒隊(duì)列中等待進(jìn)程調(diào)度。此時(shí),作業(yè)A已運(yùn)行了20分鐘,在就緒隊(duì)列中等待了30分鐘,還需運(yùn)行20分鐘才能完成;作業(yè)C已在后備隊(duì)列中等待了20分鐘并將繼續(xù)等待.11:10時(shí),A作業(yè)運(yùn)行40分針結(jié)束運(yùn)行。因系統(tǒng)中只有作業(yè)D在內(nèi)存中運(yùn)行,作業(yè)后備隊(duì)列中只有作業(yè)C在等待,作業(yè)調(diào)度程序?qū)⒆鳂I(yè)C裝入內(nèi)存運(yùn)行。因作業(yè)C的優(yōu)先級(jí)高于作業(yè)D,進(jìn)程調(diào)度程序調(diào)度作業(yè)C運(yùn)行,作業(yè)D仍在就緒隊(duì)列中等待進(jìn)程調(diào)度。此時(shí)作業(yè)D已在就緒隊(duì)列中等待了20分鐘并將繼續(xù)等待。12:00時(shí),C作業(yè)運(yùn)行50分針結(jié)束運(yùn)行。因系統(tǒng)中只有作業(yè)D在內(nèi)存,進(jìn)程調(diào)度程序調(diào)度作業(yè)D運(yùn)行。12:20時(shí),D作業(yè)運(yùn)行20分鐘結(jié)束運(yùn)行。解:<1>由上述分析可得出所有作業(yè)的進(jìn)入內(nèi)存時(shí)間和結(jié)束時(shí)間:〔2各作業(yè)執(zhí)行時(shí)的周轉(zhuǎn)時(shí)間為:作業(yè)A:70分鐘作業(yè)B:30分鐘作業(yè)c:90分鐘作業(yè)D:90分鐘作業(yè)的平均周轉(zhuǎn)時(shí)間為:<70十30十90十90>/4=70分鐘。6.已知3個(gè)批處理作業(yè)中:第一個(gè)作業(yè)10.00時(shí)到達(dá),需要執(zhí)行2小時(shí);第二個(gè)作業(yè)在10.1時(shí)到達(dá),需要執(zhí)行1小時(shí);第三個(gè)作業(yè)在10.5小時(shí)到達(dá),需要執(zhí)行0.5小時(shí)。如果分別采用如下的表1和表2所示的兩種作業(yè)調(diào)度算法。計(jì)算各調(diào)度算法下的作業(yè)平均周轉(zhuǎn)時(shí)間:<2>這兩種調(diào)度算法各可能是什么作業(yè)調(diào)度算法?表1調(diào)度算法1表2調(diào)度算法2解:<1>采用調(diào)度算法1的作業(yè)運(yùn)行情況如下表3所示:表3采用調(diào)度算法1的作業(yè)運(yùn)行情況表采用調(diào)度算法2的作業(yè)運(yùn)行情況如下表4所示:表4采用調(diào)度算法2的作業(yè)運(yùn)行情況表調(diào)度算法1是按照作業(yè)到達(dá)的先后次序執(zhí)行的,所以它是先來(lái)先服務(wù)調(diào)度算法。調(diào)度算法2滿足短作業(yè)優(yōu)先的調(diào)度原則,所以它屬于短作業(yè)優(yōu)先調(diào)度算法。此外,從響應(yīng)比高者優(yōu)先調(diào)度算法來(lái)看,當(dāng)作業(yè)1在12.0完成時(shí),作業(yè)2和作業(yè)3的響應(yīng)比如下:作業(yè)2的響應(yīng)比=1+1.9/1=2.9,作業(yè)3的響應(yīng)比=1+1.5/0.5=4也即,調(diào)度算法2也可能是響應(yīng)比高者優(yōu)先調(diào)度算法。7.有三個(gè)進(jìn)程P1,P2和P3并發(fā)工作。進(jìn)程P1需用資源S3和S1;進(jìn)程P2需用資源S1和S2;進(jìn)程P3需用資源S2和S3。回答:<1>若對(duì)資源分配不加限制,會(huì)發(fā)生什么情況?為什么?<2>為保證進(jìn)程正確工作,應(yīng)采用怎樣的資源分配策略?為什么?答:<1>可能會(huì)發(fā)生死鎖例如:進(jìn)程P1,P2和P3分別獲得資源S3,S1和S2后再繼續(xù)申請(qǐng)資源時(shí)都要等待,這是循環(huán)等待。<或進(jìn)程在等待新源時(shí)均不釋放已占資源><2>可有幾種答案:A.采用靜態(tài)分配由于執(zhí)行前已獲得所需的全部資源,故不會(huì)出現(xiàn)占有資源又等待別的資源的現(xiàn)象<或不會(huì)出現(xiàn)循環(huán)等待資源現(xiàn)象>?;駼.采用按序分配不會(huì)出現(xiàn)循環(huán)等待資源現(xiàn)象?;駽.采用銀行家算法因?yàn)樵诜峙鋾r(shí),保證了系統(tǒng)處于安全狀態(tài)。8.設(shè)系統(tǒng)有三種類型的資源,數(shù)量為<4,2,2>,系統(tǒng)中有進(jìn)程A,B,C按如下順序請(qǐng)求資源:進(jìn)程A申請(qǐng)<3,2,1>進(jìn)程B申請(qǐng)<1,0,1>進(jìn)程A申請(qǐng)<0,1,0>進(jìn)程C申請(qǐng)<2,0,0>請(qǐng)你給出一種防止死鎖的資源剝奪分配策略,完成上述請(qǐng)求序列,并列出資源分配過(guò)程,指明哪些進(jìn)程需要等待,哪些資源被剝奪。解:①分配策略為:當(dāng)進(jìn)程Pi申請(qǐng)ri類資源時(shí),檢查ri中有無(wú)可分配的資源,有則分配給Pi;否則將Pi占有的資源全部釋放而進(jìn)入等待狀態(tài)。<Pi等待原占有的所有資源和新申請(qǐng)的資源>②資源分配過(guò)程:剩余資源進(jìn)程A:<3,2,1><1,0,1>進(jìn)程B:<1,0,1><0,0,0>

進(jìn)程C:<2,0,0><1,2,1>進(jìn)程A:<0,1,0><不滿足><3,2,1>,A的所有資源被剝奪,A處于等待,C,B完成之后,A可完成。9.某系統(tǒng)中有10臺(tái)打印機(jī),有三個(gè)進(jìn)程P1,P2,P3分別需要8臺(tái),7臺(tái)和4臺(tái)。若P1,P2,P3已申請(qǐng)到4臺(tái),2臺(tái)和2臺(tái)。試問:按銀行家算法能安全分配嗎?請(qǐng)說(shuō)明分配過(guò)程。答:系統(tǒng)能為進(jìn)程P3分配二臺(tái)打印機(jī)。因?yàn)楸M管此時(shí)10臺(tái)打印機(jī)已分配給進(jìn)程P14臺(tái),P22臺(tái)和P34臺(tái),全部分配完,但P3已分配到所需要的全部4臺(tái)打印機(jī),它不會(huì)對(duì)打印機(jī)再提出申請(qǐng),所以它能順利運(yùn)行下去,能釋放占用的4臺(tái)打印機(jī),使進(jìn)程P1,P2均可能獲得乘余的要求4臺(tái)和5臺(tái),按銀行家算法是安全的。10.在生產(chǎn)者—消費(fèi)者問題中,如果對(duì)調(diào)生產(chǎn)者進(jìn)程中的兩個(gè)P操作和兩個(gè)V操作,則可能發(fā)生什么情況?解:如果對(duì)調(diào)生產(chǎn)者進(jìn)程中的兩個(gè)P操作和兩個(gè)v操作,則生產(chǎn)者—消費(fèi)者問題的同步描述為:intfull=0;intempty=n;intmutex=1;main<>{cobeginproducer<>;consumer<>;coend}producer<>{while<生產(chǎn)未完成>{生產(chǎn)一個(gè)產(chǎn)品;p<mutex>;p<empty>;送一個(gè)產(chǎn)品到有界緩沖區(qū);v<full>;v<mutex>;}}consumer<>{while<還要繼續(xù)消費(fèi)>{p<full>;p<mutex>;從有界緩沖區(qū)中取產(chǎn)品;v<mutex>;v<empty>;消費(fèi)一個(gè)產(chǎn)品;}}由于V操作是釋放資源,因此對(duì)調(diào)V操作的次序無(wú)關(guān)緊要。而對(duì)調(diào)P操作的次序則可能導(dǎo)致死鎖。這是因?yàn)閷?duì)調(diào)P操作后,有可能出現(xiàn)這樣一種特殊情況:在某一時(shí)刻緩沖區(qū)中己裝滿了產(chǎn)品且緩沖區(qū)中無(wú)進(jìn)程工作<這時(shí)信號(hào)量full的值為n,信號(hào)量empty的值為0,信號(hào)量mutex的值為1>,若系統(tǒng)此時(shí)調(diào)度生產(chǎn)者進(jìn)程運(yùn)行,生產(chǎn)者進(jìn)程又生產(chǎn)了一個(gè)產(chǎn)品,它執(zhí)行P<mutex>并順利進(jìn)入臨界區(qū)<這時(shí)mutex值為0>,隨后它執(zhí)行p<empty>時(shí)因沒有空閑緩沖單元而受阻等待,等待消費(fèi)者進(jìn)程進(jìn)入緩沖區(qū)取走產(chǎn)品以釋放出緩沖單元;消費(fèi)者進(jìn)程執(zhí)行p<full>后再執(zhí)行p<mutex>時(shí),因緩沖區(qū)被生產(chǎn)者進(jìn)程占據(jù)而無(wú)法進(jìn)入。這樣就形成了生產(chǎn)者進(jìn)程在占有臨界資源的情況下,等待消費(fèi)者進(jìn)程取走產(chǎn)品,而消費(fèi)者進(jìn)程又無(wú)法進(jìn)入臨界區(qū)取走產(chǎn)品的僵局,此時(shí)兩進(jìn)程陷入死鎖。11.n個(gè)進(jìn)程共享某種資源R,該資源共有m個(gè)可分配單位,每個(gè)進(jìn)程一次一個(gè)地申請(qǐng)或釋放資源單位。假設(shè)每個(gè)進(jìn)程對(duì)該資源的最大需求量均小于m,且各進(jìn)程最大需求量之和小于m十n,試證明在這個(gè)系統(tǒng)中不可能發(fā)生死鎖。解:設(shè)max<i>表示第i個(gè)進(jìn)程的最大資源需求量,need<i>表示第i個(gè)進(jìn)程還需要的資源量,alloc<i>表示第i個(gè)進(jìn)程己分配的資源量。由題中所給條件可知:max<1>+max<2>+…+max<n>=<need<1>+…+need<n>>+<alloc<1>+…+alloc<n>><m+n如果在這個(gè)系統(tǒng)中發(fā)生了死鎖,那么一方面m個(gè)資源應(yīng)該全部分配出去,即alloc<1>+…+alloc<n>=m另一方面所有進(jìn)程將陷入無(wú)限等待狀態(tài)。由上述兩式可得:need<1>+…+need<n><n上式表示死鎖發(fā)生后,n個(gè)進(jìn)程還需要的資源量之和小于n,這意味著此刻至少存在一個(gè)進(jìn)程i,need<i>=0,即它己獲得了所需要的全部資源。既然該進(jìn)程已獲得了它所需要的全部資源,那么它就能執(zhí)行完成并釋放它占有的資源,這與前面的假設(shè)矛盾,從而證明在這個(gè)系統(tǒng)中不可能發(fā)生死鎖。12.在銀行家算法中,若出現(xiàn)下述資源分配情況:試問:<1>該狀態(tài)是否安全?<2>如果進(jìn)程P2提出請(qǐng)求Request2<1,2,2,2>后,系統(tǒng)能否將資源分配給它?解:<1>利用銀行家算法對(duì)此時(shí)刻的資源分配情況進(jìn)行分析,可得此時(shí)刻的安全性分析情況:從上述分析中可以看出,此時(shí)存在一個(gè)安全序列{P0,P3,P4,P1,P2},故該狀態(tài)是安全的。<2>P2提出請(qǐng)求Request2<1,2,2,2>,按銀行家算法進(jìn)行檢查:Request2<1,2,2,2>≤Need2<2,3,5,6>Request2<1,2,2,2>≤Available<1,6,2,2>試分配并修改相應(yīng)的數(shù)據(jù)結(jié)構(gòu),資源分配情況如下:再利用安全性算法檢查系統(tǒng)是否安全,可用資源Available<0,4,0,0>己不能滿足任何進(jìn)程的需要,故系統(tǒng)進(jìn)入不安全狀態(tài),此時(shí)系統(tǒng)不能將資源分配給P2。13.有相同類型的5個(gè)資源被4個(gè)進(jìn)程所共享,且每個(gè)進(jìn)程最多需要2個(gè)這樣的資源就可以運(yùn)行完畢。試問該系統(tǒng)是否會(huì)由于對(duì)這種資源的競(jìng)爭(zhēng)而產(chǎn)生死鎖。答:該系統(tǒng)不會(huì)由于對(duì)這種資源的競(jìng)爭(zhēng)而產(chǎn)生死鎖。因?yàn)樵谧顗那闆r下,每個(gè)進(jìn)程都需要2個(gè)這樣的資源,且每個(gè)進(jìn)程都已申請(qǐng)到了1個(gè)資源,那么系統(tǒng)中還剩下1個(gè)可用資源。無(wú)論系統(tǒng)為了滿足哪個(gè)進(jìn)程的資源申請(qǐng)而將資源分配給該進(jìn)程,都會(huì)因?yàn)樵撨M(jìn)程已獲得了它所需要的全部資源而確保它運(yùn)行完畢,從而可將它占有的2個(gè)資源歸還給系統(tǒng),這就保證了其余三個(gè)進(jìn)程能順利運(yùn)行。由此可知,該系統(tǒng)不會(huì)由于對(duì)這種資源的競(jìng)爭(zhēng)而產(chǎn)生死鎖。14.考慮下列資源分配策略:對(duì)資源的申請(qǐng)和釋放可以在任何時(shí)候進(jìn)行。如果一個(gè)進(jìn)程提出資源請(qǐng)求時(shí)得不到滿足,若此時(shí)無(wú)由于等待資源而被阻塞的進(jìn)程,則自己就被阻塞;若此時(shí)已有等待資源而被阻塞的進(jìn)程,則檢查所有由于等待資源而被阻塞的進(jìn)程。如果它們有申請(qǐng)進(jìn)程所需要的資源,則將這些資源取出分配給申請(qǐng)進(jìn)程。例如,考慮一個(gè)有3類資源的系統(tǒng),系統(tǒng)所有可用資源為<4,2,2>,進(jìn)程A申請(qǐng)<2,2,1>,可滿足;進(jìn)程B申請(qǐng)<1,0,1>,可滿足;若A再申請(qǐng)<0,0,1>,則被阻塞。此時(shí),若C請(qǐng)求<2,0,0>,它可以分到剩余資源<1,0,0>,并從A已分到的資源中獲得一個(gè)資源,于是進(jìn)程A的分配向量變成<1,2,1>而需求向量變成<1,0,1>。①這種分配策略會(huì)導(dǎo)致死鎖嗎?如果會(huì),請(qǐng)舉一個(gè)例子;如果不會(huì),請(qǐng)說(shuō)明產(chǎn)生死鎖的哪一個(gè)必要條件不成立。②這種分配方式會(huì)導(dǎo)致某些進(jìn)程的無(wú)限等待嗎?為什么?解:①本題所給的資源分配策略不會(huì)產(chǎn)生死鎖。因?yàn)楸绢}給出的分配策略規(guī)定若一進(jìn)程的資源得不到滿足,則檢查所有由于等待資源而被阻塞的進(jìn)程,如果它們有申請(qǐng)進(jìn)程所需要的資源,則將這些資源取出分配給申請(qǐng)進(jìn)程。從而破壞了產(chǎn)生死鎖必要條件中的不剝奪條件,這樣系統(tǒng)就不會(huì)產(chǎn)生死鎖。②這種方法會(huì)導(dǎo)致某些進(jìn)程無(wú)限期的等待。因?yàn)楸蛔枞M(jìn)程的資源可以被剝奪,所以被阻塞進(jìn)程所擁有的資源數(shù)量在其被喚醒之前只可能減少。若系統(tǒng)中不斷出現(xiàn)其他進(jìn)程申請(qǐng)資源,這些進(jìn)程申請(qǐng)的資源與被阻塞進(jìn)程申請(qǐng)或擁有的資源類型相同且不被阻塞,則系統(tǒng)無(wú)法保證被阻塞進(jìn)程一定能獲得所需要的全部資源。例如,本題中的進(jìn)程A申請(qǐng)<2,2,1>后再申請(qǐng)<0,0,1>被阻塞。此后,進(jìn)程C又剝奪了進(jìn)程A的一個(gè)資源,使得進(jìn)程A擁有的資源變?yōu)?lt;1,2,1>,其需求向量為<1,0,1>。之后,若再創(chuàng)建的進(jìn)程總是只申請(qǐng)第1和第3類資源,總是占有系統(tǒng)所剩下的第1和第3類資源的全部且不阻塞,那么進(jìn)程A將會(huì)無(wú)限期地等待。15.一臺(tái)計(jì)算機(jī)有8臺(tái)磁帶機(jī)。它們由N個(gè)進(jìn)程競(jìng)爭(zhēng)使用,每個(gè)進(jìn)程可能需要3臺(tái)磁帶機(jī)。請(qǐng)問N為多少時(shí),系統(tǒng)沒有死鎖危險(xiǎn),并說(shuō)明原因。解:當(dāng)N為1,2,3時(shí),系統(tǒng)沒有產(chǎn)生死鎖的危險(xiǎn)。因?yàn)?當(dāng)系統(tǒng)中只有1個(gè)進(jìn)程時(shí),它最多需要3臺(tái)磁帶機(jī),而系統(tǒng)有8臺(tái)磁帶機(jī),其資源數(shù)目足夠系統(tǒng)內(nèi)的1個(gè)進(jìn)程使用,因此絕不可能發(fā)生死鎖:當(dāng)系統(tǒng)中有2個(gè)進(jìn)程時(shí),最多需要6臺(tái)磁帶機(jī),而系統(tǒng)有8臺(tái)磁帶機(jī),其資源數(shù)目也足夠系統(tǒng)內(nèi)的2個(gè)進(jìn)程使用,因此也不可能發(fā)生死鎖;當(dāng)系統(tǒng)中有3個(gè)進(jìn)程時(shí),在最壞情況下,每個(gè)進(jìn)程都需要3個(gè)這樣的資源,且假定每個(gè)進(jìn)程都已申請(qǐng)到了2個(gè)資源,那么系統(tǒng)中還剩下2個(gè)可用資源,無(wú)論系統(tǒng)為了滿足哪個(gè)進(jìn)程的資源申請(qǐng)而將資源分配給該進(jìn)程,都會(huì)因?yàn)樵撨M(jìn)程已獲得了它所需要的全部資源而確保它運(yùn)行完畢,從而可將它占有的3個(gè)資源歸還給系統(tǒng),這就保證了其余進(jìn)程能順利運(yùn)行完畢。由此可知,當(dāng)N為1,2,3時(shí),該系統(tǒng)不會(huì)由于對(duì)這種資源的競(jìng)爭(zhēng)而產(chǎn)生死鎖。16.假設(shè)就緒隊(duì)列中有10個(gè)進(jìn)程,系統(tǒng)將時(shí)間片設(shè)為200ms,CPU進(jìn)行進(jìn)程切換要花費(fèi)10ms,試問系統(tǒng)開銷所占的比率約為多少?解:因就緒隊(duì)列中有10個(gè)進(jìn)程,它們以時(shí)間片輪轉(zhuǎn)的方式使用CPU,時(shí)間片長(zhǎng)度為200ms。當(dāng)一個(gè)時(shí)間片用完時(shí).調(diào)度進(jìn)程將當(dāng)前運(yùn)行進(jìn)程設(shè)置為就緒狀態(tài)并放入就緒隊(duì)列尾,再?gòu)木途w隊(duì)列隊(duì)首選擇進(jìn)程投入運(yùn)行,這一過(guò)程<進(jìn)程切換>要花費(fèi)時(shí)間l0ms。因此系統(tǒng)開銷所占比率為:10/<200+10>=4.8%17.如果P、V操作設(shè)計(jì)不當(dāng),則有可能產(chǎn)生死鎖。假如系統(tǒng)中有輸入機(jī)和打印機(jī)兩類資源各一臺(tái),有兩個(gè)進(jìn)程P1和P2都要求使用輸入機(jī)和打印機(jī)。我們可以利用P、V操作來(lái)實(shí)現(xiàn)互斥:定義s1、s2分別為代表輸入機(jī)和打印機(jī)能否被使用的信號(hào)量,初值均為1,并且按如下方法請(qǐng)求使用和歸還資源:ProcessP1beginP<s1>;使用輸入機(jī);P<s2>;使用打印機(jī);V<s2>;V<s1>;End;ProcessP2BeginP<s2>;使用打印機(jī);P<s1>;使用輸入機(jī);V<s2>;V<s1>;End;結(jié)合死鎖產(chǎn)生的必要條件,分析此種方法是否會(huì)造成死鎖,若不會(huì),給出理由;若會(huì)產(chǎn)生死鎖,則修改上面程序,使P1、P2兩進(jìn)程能夠互斥的使用資源,并且能夠順利完成。解:此種方法可能會(huì)出現(xiàn)P1得到輸入機(jī)而P2得到打印機(jī),雙方在不釋放已有資源的情況下,又去申請(qǐng)新的資源,從而造成死鎖??梢圆捎脼橘Y源編號(hào)的方法,讓進(jìn)程按序申請(qǐng)資源,來(lái)避免死鎖。程序可修改如下:ProcessP2BeginP<s2>;使用輸入機(jī);P<s1>;使用打印機(jī);V<s2>;V<s1>;End;18.假定某計(jì)算機(jī)系統(tǒng)有R1和R2兩類可再使用資源<其中R1有兩個(gè)單位,R2有一個(gè)單位>.它們被進(jìn)程P1和P2所共享,且已知兩個(gè)進(jìn)程均以申請(qǐng)R1申請(qǐng)R2申請(qǐng)R1釋放R1釋放R2釋放R所示的順序使用兩類資源。試求出系統(tǒng)運(yùn)行過(guò)程中可能到達(dá)的死鎖點(diǎn).并畫出死鎖點(diǎn)的資源分配圖<或稱進(jìn)程一資源圖>。解:該題答案不惟一。從已知條件可知,P1、P2兩進(jìn)程都是各自按順序申請(qǐng)系統(tǒng)中所有資源,并在全部得到滿足之后才會(huì)依次釋放;由此可得,只要讓Pl、P2分別占有其中某個(gè)資源,即不把全部資源都交給一個(gè)進(jìn)程,則會(huì)發(fā)生死鎖。進(jìn)程一資源圖如下:19.某系統(tǒng)有R1、R2和R3共3種資源.在T0時(shí)刻P1、P2、P3和P4這4個(gè)進(jìn)程對(duì)資源的占用和需求情況見下表,此刻系統(tǒng)的可用資源向量為<2,1,2>,問題:<1>將系統(tǒng)中各種資源總數(shù)和此刻各進(jìn)程對(duì)各資源的需求數(shù)目用向量或矩陣表示出來(lái);<2>如果此時(shí)P1和P2均發(fā)出資源請(qǐng)求向量Request<1,0,1>,為了保持系統(tǒng)安全性,應(yīng)該如何分配資源給這兩個(gè)進(jìn)程?說(shuō)明你所采用策略的原因;<3>如果<2>中兩個(gè)請(qǐng)求立刻得到滿足后,系統(tǒng)此刻是否處于死鎖狀態(tài)?解:〔1系統(tǒng)資源總數(shù)為<9,3,6>。各進(jìn)程對(duì)資源需求矩陣為:222202103420<2>采用銀行家算法進(jìn)行計(jì)算得:系統(tǒng)不可以將資源分配給進(jìn)程P1,雖然剩余資源還可以滿足進(jìn)程P1現(xiàn)在的需求,但是一旦分配給進(jìn)程P1后,就找不到一個(gè)安全執(zhí)行的序列保證各個(gè)進(jìn)程能夠正常運(yùn)行下去。因此進(jìn)程P1進(jìn)入等待狀態(tài)。系統(tǒng)可以滿足P2的請(qǐng)求,因?yàn)榉峙渫瓿珊?至少還可以找到一個(gè)安全序列,如<P2P1P3P4>,使各進(jìn)程可以運(yùn)行至結(jié)束。<3>系統(tǒng)滿足進(jìn)程P1和P2的請(qǐng)求后,沒有立即進(jìn)入死鎖狀態(tài),因?yàn)榇藭r(shí)所有進(jìn)程還處于運(yùn)行狀態(tài),沒有被阻塞;只有等到進(jìn)程繼續(xù)申請(qǐng)資源井因得不到滿足而全部進(jìn)人阻塞狀態(tài),死鎖才真正發(fā)生了。1.在一個(gè)請(qǐng)求分頁(yè)存儲(chǔ)管理系統(tǒng)中,一個(gè)作業(yè)的頁(yè)面走向?yàn)?、3、2、1、4、3、5、4、3、2、1、5,當(dāng)分配給該作業(yè)的物理塊數(shù)分別為3、4時(shí),試計(jì)算采用下述頁(yè)面淘汰算法時(shí)的缺頁(yè)次數(shù)<假設(shè)開始執(zhí)行時(shí)主存中沒有頁(yè)面>,并比較所得結(jié)果。<1>最佳置換法<OPT><2>先進(jìn)先出法<FIFO>解:<1>根據(jù)所給頁(yè)面走向,使用最佳頁(yè)面置換算法時(shí),頁(yè)面置換情況如下:<略>物理塊為3時(shí),缺頁(yè)次數(shù)為7;物理塊為4時(shí),缺頁(yè)次數(shù)為6。由上述結(jié)果可以看出,增加分配給作業(yè)的內(nèi)存塊數(shù)可以降低缺頁(yè)次數(shù)。<2>根據(jù)所給頁(yè)面走向,使用先進(jìn)先出頁(yè)面置換算法時(shí),頁(yè)面置換情況如下:〔略物理塊為3時(shí),缺頁(yè)次數(shù)為9;物理塊為4時(shí),缺頁(yè)次數(shù)為10。由上述結(jié)果可以看出,對(duì)先進(jìn)先出算法而言,增加分配給作業(yè)的內(nèi)存塊數(shù)反而出現(xiàn)缺頁(yè)次數(shù)增加的異?,F(xiàn)象。2.某采用頁(yè)式存儲(chǔ)管理的系統(tǒng),接收了一個(gè)共7頁(yè)的作業(yè),作業(yè)執(zhí)行時(shí)依次訪問的頁(yè)為:1、2、3、4、2、1、5、6、2、1、2、3、7。當(dāng)內(nèi)存塊數(shù)量為4時(shí),請(qǐng)分別用先進(jìn)先出<FIFO>調(diào)度算法和最近最少使用<LRU>調(diào)度算法,計(jì)算作業(yè)執(zhí)行過(guò)程中會(huì)產(chǎn)生多少次缺頁(yè)中斷?寫出依次產(chǎn)生缺頁(yè)中斷后應(yīng)淘汰的頁(yè)。<所有內(nèi)存開始時(shí)都是空的,凡第一次用到的頁(yè)面都產(chǎn)生一次缺頁(yè)中斷。要求寫出計(jì)算過(guò)程>答:采用先進(jìn)先出<FIFO>調(diào)度算法,共產(chǎn)生10次缺頁(yè)中斷,依次淘汰的頁(yè)是1、2、3、4、5、6,〔頁(yè)面調(diào)度過(guò)程略;采用最近最少使用<LRU>調(diào)度算法,共產(chǎn)生8次缺頁(yè)中斷,依次淘汰的頁(yè)是3、4、5、6,〔頁(yè)面調(diào)度過(guò)程略。3.在一個(gè)多道程序系統(tǒng)中,設(shè)用戶空間為200K,主存空間管理采用最先適應(yīng)分配算法,并采用先來(lái)先服務(wù)算法管理作業(yè)。今有如下所示的作業(yè)序列,請(qǐng)列出各個(gè)作業(yè)開始執(zhí)行時(shí)間、完成時(shí)間和周轉(zhuǎn)時(shí)間?!沧⒁猓汉雎韵到y(tǒng)開銷,時(shí)間用10進(jìn)制。作為名進(jìn)入輸入井時(shí)間需計(jì)算時(shí)間主存需求量JOB18.0時(shí)1小時(shí)20KJOB28.2時(shí)0.6小時(shí)60KJOB38.4時(shí)0.5小時(shí)25KJOB48.6時(shí)1小時(shí)20K答:作業(yè)開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間JOB1891JOB299.61.4JOB39.610.11.7JOB410.111.12.54.設(shè)某作業(yè)的程序部分占一頁(yè),A是該作業(yè)的一個(gè)100×100的數(shù)組,在虛空間中按行主秩序存放〔即按如下順序存放:A〔1,1,A〔1,2,…A〔l,100,A〔2,1,…A〔2,100…A〔100,1…A〔100,100,頁(yè)面大小為100個(gè)字,駐留集為2個(gè)頁(yè)幀。若采用LRU替換算法,則下列兩種對(duì)A進(jìn)行初始化的程序段引起的缺頁(yè)中斷次數(shù)各是多少?并說(shuō)明原因。<aforj:=1to100dofori:=1to100doA〔i,j:=0<bfori:=1to100doforj:=1to100doA〔i,j:=0答:由于程序占1頁(yè),故放入一個(gè)頁(yè)幀中。只發(fā)生1次缺頁(yè)中斷。<a>種情況是按A〔1,1、A〔2,l…A〔100,1A〔1,2,A〔2,2…,A〔100,2,A〔1,100、A〔2,100…A〔100,100次序初始化,而數(shù)組的存放為A〔1,1,A〔1,2…A〔1,100…………1頁(yè)A〔2,1,A〔2,2…A〔2,100…………2頁(yè)………A〔100,1A〔100,2…A〔100,100……100頁(yè)故對(duì)數(shù)組中每個(gè)元素初始化時(shí),均要發(fā)生缺頁(yè)中斷,共發(fā)生100×100次再加上程序加載所發(fā)生的一次,共計(jì)10001次缺頁(yè)中斷?!瞓種情況是按:A〔1,1、A〔1,2…A〔1,100,A〔2,1,A〔2,2…,A〔2,100………A〔100,1A〔100,2…A〔100,100次序進(jìn)行初始化,則每初始化一頁(yè)發(fā)一次缺頁(yè)中斷,所以共101次。5.在一個(gè)采用頁(yè)式虛擬存儲(chǔ)管理的系統(tǒng)中,有一用戶作業(yè),它依次要訪問的字地址序列是:115,228,120,88,446,102,321,432,260,167,若該作業(yè)的第0頁(yè)已經(jīng)裝入主存,現(xiàn)分配給該作業(yè)的主存共300字,頁(yè)的大小為100字,請(qǐng)回答下列問題:按〔1FIFO調(diào)度算法〔2LRU調(diào)度算法將產(chǎn)生多少次缺頁(yè)中斷,缺頁(yè)中斷率為多少,依次淘汰的頁(yè)號(hào)是什么。答:〔1按FIFO調(diào)度算法將產(chǎn)生5次缺頁(yè)中斷;依次淘汰的頁(yè)號(hào)為:0,1,2;缺頁(yè)中斷率為:5/10=50%。〔2按LRU調(diào)度算法將產(chǎn)生6次缺頁(yè)中斷;依次淘汰的頁(yè)號(hào)為:2,0,1,3;缺頁(yè)中斷率為:6/10=60%。6.己知頁(yè)面走向?yàn)?、2、1、3、1、2、4、2、1、3、4,且開始執(zhí)行時(shí)主存中沒有頁(yè)面。若只給該作業(yè)分配2個(gè)物理塊,當(dāng)采用FIFO頁(yè)面淘汰算法時(shí)缺頁(yè)率為多少?假定現(xiàn)有一種淘汰算法,該算法淘汰頁(yè)面的策略為當(dāng)需要淘汰頁(yè)面時(shí),就把剛使用過(guò)的頁(yè)面作為淘汰對(duì)象,試問就相同的頁(yè)面走向,其缺頁(yè)率又為多少?解:根據(jù)所給的頁(yè)面走向,采用FIFO置換算法的頁(yè)面置換情況如下:從上述頁(yè)面置換中可以看出:頁(yè)面引用次數(shù)為11次,缺頁(yè)次數(shù)為9次,所以缺頁(yè)率為9/11。若采用后一種置換算法:其頁(yè)面置換情況如下:從上述頁(yè)面置換圖可以看出:頁(yè)面引用次數(shù)為11次,缺頁(yè)次數(shù)為8次,所以缺頁(yè)率為8/11。7.在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,假定系統(tǒng)分配給一個(gè)作業(yè)的物理塊數(shù)為3,并且此作業(yè)的頁(yè)面走向?yàn)?、3、2、1、5、2、4、5、3、2、5、2。試用FIFO和LRU兩種算法分別計(jì)算出程序訪問過(guò)程中所發(fā)生的缺頁(yè)次數(shù)。解:在本題中,分配給作業(yè)的物理塊數(shù)為3。根據(jù)所給頁(yè)面走向,使用FIFO算法時(shí),頁(yè)面置換情況如下:缺頁(yè)次數(shù)為9。根據(jù)所給頁(yè)面走向,使用LRU算法時(shí),頁(yè)面置換情況如下:缺頁(yè)次數(shù)為7。8.有一頁(yè)式系統(tǒng),其頁(yè)表存放在主存中,<1>如果對(duì)主存的一次存取需要1.5微秒,試問實(shí)現(xiàn)一次頁(yè)面訪問的存取時(shí)間是多少?<2>如果系統(tǒng)加有快表,平均命中率為85%,當(dāng)頁(yè)表項(xiàng)在快表中時(shí),其查找時(shí)間忽略為0,試問此時(shí)的存取時(shí)間為多少?解:若頁(yè)表存放在主存中,則要實(shí)現(xiàn)一次頁(yè)面訪問需兩次訪問主存,一次是訪問頁(yè)表,確定所存取頁(yè)面的物理地址,第二次才根據(jù)該地址存取頁(yè)面數(shù)據(jù)。<1>由于頁(yè)表存放在主存,因此CPU必須兩次訪問主存才能獲得所需數(shù)據(jù),所以實(shí)現(xiàn)一次頁(yè)面訪問的存取時(shí)間是1.5×2=3微秒<2>在系統(tǒng)增加了快表后,在快表中找到頁(yè)表項(xiàng)的概率為85%,所以實(shí)現(xiàn)一次頁(yè)面訪問的存取時(shí)間為0.85×1.5十<1—0.85>×2×1.5=1.725微秒9.在一個(gè)段式存儲(chǔ)管理系統(tǒng)中,段表內(nèi)容如下:試求下述邏輯地址對(duì)應(yīng)的物理地址是什么?解:<1>由于第0段的內(nèi)存始址為210,段長(zhǎng)為500,故邏輯地址[O,430]是合法地址。邏輯地址[0,430]對(duì)應(yīng)的物理地址為210十430=640。<2>由于第1段的內(nèi)存始址為2350,段長(zhǎng)為20,故邏輯地址[1,10]是合法地址。邏輯地址[1,10]對(duì)應(yīng)的物理地址為2350+10=2360。<3>由于第2段起始地址為100,段長(zhǎng)為90,所給邏輯地址[2,500]非法。<4>由于第3段的內(nèi)存始址為1350,段長(zhǎng)為590,故邏輯地址[3,400]是合法地址。邏輯地址[3,400]對(duì)應(yīng)的物理地址為1350十400=1750。<5>由于第4段的內(nèi)存始址為1938,段長(zhǎng)為95,所給邏輯地址[4,l12]非法。<6>由于系統(tǒng)中不存在第5段,所給邏輯地址[5,32]非法。10.在某系統(tǒng)中,采用固定分區(qū)分配管理方式,內(nèi)存分區(qū)<單位字節(jié)>情況如圖a所示?,F(xiàn)有大小為lK、9K、33K、121K的多個(gè)作業(yè)要求進(jìn)入內(nèi)存,試畫出它們進(jìn)入內(nèi)存后的空間分配俏況,并說(shuō)明主存浪費(fèi)有多大?解:從圖a可以看出,該系統(tǒng)中共有四個(gè)分區(qū),第一分區(qū)的大小為8k,第二分區(qū)的大小為32K,第三分區(qū)的大小為120K,第四分區(qū)的大小為332K。作業(yè)進(jìn)入系統(tǒng)后的內(nèi)存分配情況,如圖b所示<每個(gè)分區(qū)中未被利用的那部分空間用陰影表示>:〔圖a某系統(tǒng)內(nèi)存分配情況〔圖b作業(yè)進(jìn)入系統(tǒng)后的分配情況從圖b可以看出,作業(yè)進(jìn)入系統(tǒng)后,第一分區(qū)剩余空間為7K,第二分區(qū)剩余空間為23K,第三分區(qū)剩余空間為87K,第四分區(qū)剩余空間為211K。主存空間浪費(fèi)328K。11.下表給出了某系統(tǒng)中的空閑分區(qū)表,系統(tǒng)采用可變式分區(qū)存儲(chǔ)管理策略。現(xiàn)有以下作業(yè)序列:96k、20K、200k。若用首次適應(yīng)算法和最佳適應(yīng)算法來(lái)處理這些作業(yè)序列,試問哪一種算法可以滿足該作業(yè)序列的請(qǐng)求,為什么?空閑分區(qū)表:解:若采用最佳適應(yīng)算法,在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是5號(hào)分區(qū),5號(hào)分區(qū)大小與申請(qǐng)空間大小一致,應(yīng)從空閑分區(qū)表中刪去該表項(xiàng);接著申請(qǐng)20K時(shí),選中1號(hào)分區(qū),分配后l號(hào)分區(qū)還剩下12K;最后申請(qǐng)200K,選中4號(hào)分區(qū),分配后剩下18K。顯然采用最佳適應(yīng)算法進(jìn)行內(nèi)存分配,可以滿足該作業(yè)序列的需求。為作業(yè)序列分配了內(nèi)存空間后,空閑分區(qū)表如表a所示。若采用首次適應(yīng)算法,在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是4號(hào)分區(qū),進(jìn)行分配后4號(hào)分區(qū)還剩下122K;接著申請(qǐng)20K,選中1號(hào)分區(qū),分配后剩下12K;最后申請(qǐng)200K,現(xiàn)有的五個(gè)分區(qū)都無(wú)法滿足要求,該作業(yè)等待。顯然采用首次適應(yīng)算法進(jìn)行內(nèi)存分配,無(wú)法滿足該作業(yè)序列的需求。這時(shí)的空閱分區(qū)表如表b所示。<分配后的空閑分區(qū)表a><分配后的空閑分區(qū)表b>12.在某個(gè)采用頁(yè)式存儲(chǔ)管理的系統(tǒng)中,現(xiàn)有J1,J2,J3共3個(gè)作業(yè)同駐主存。其中J2有4個(gè)頁(yè)面,被分別裝入到主存的第3,4,6,8塊中。假定頁(yè)面和存儲(chǔ)塊的大小均為1024字節(jié),主存容量為10K字節(jié)。<1>寫出J2的頁(yè)面映像表;<2>當(dāng)J2在CPU上運(yùn)行時(shí),執(zhí)行到其地址空間第500號(hào)處遇到一條傳指令MOV2100,3100請(qǐng)用地址變換圖計(jì)算出MOV指令中兩個(gè)操作數(shù)的物理地址。解:該題已知條件很多,但實(shí)質(zhì)還是給出邏輯地址,要求轉(zhuǎn)換成物理地址。首先得出頁(yè)表項(xiàng)如圖1所示,頁(yè)面大小為1024字節(jié),可得頁(yè)內(nèi)位移為10位。邏輯地址2100頁(yè)號(hào)為2,頁(yè)內(nèi)位移52;3100頁(yè)號(hào)為3.頁(yè)內(nèi)位移28。轉(zhuǎn)換過(guò)程如圖2所示?!矆D1〔圖213.假設(shè)有一臺(tái)計(jì)算機(jī),它有1M內(nèi)存,操作系統(tǒng)占用200K,每個(gè)用戶進(jìn)程也占用200K,用戶進(jìn)程等待I/O的時(shí)間為80%,若增加lM內(nèi)存,則CPU的利用率將提高多少?答:由題目所給條件可知,當(dāng)前IM內(nèi)存可支持4個(gè)用戶進(jìn)程,由于每個(gè)用戶進(jìn)程等待I/O的時(shí)間為80%,故CPU的利用率為:1一<80%>4=1一<0.8>4=59%若增加1M內(nèi)存,則系統(tǒng)中可同時(shí)運(yùn)行9個(gè)進(jìn)程,則CPU的利用率為I一<0.8>9=87%故增加1M內(nèi)存使CPU的利用串提高了87%÷59%=147%147%一100%=47%所以增加1M內(nèi)存使CPU的利用率提高了47%的利用率。1.若干個(gè)等待訪問磁盤者依次要訪問的柱面為20,44,40,4,80,12,76,假設(shè)每移動(dòng)一個(gè)柱面需要3毫秒時(shí)間,移動(dòng)臂當(dāng)前位于40號(hào)柱面,請(qǐng)按下列算法分別計(jì)算為完成上述各次訪問總共花費(fèi)的尋找時(shí)間。〔1先來(lái)先服務(wù)算法;〔2最短尋找時(shí)間優(yōu)先算法。解:〔13毫秒×292=876毫秒〔23毫秒×120=360毫秒〔注:各算法使移動(dòng)臂的移動(dòng)次序和移動(dòng)的柱面數(shù)如下:〔140→20→44→40→4→80→12→76〔20〔24〔4〔36〔76〔68〔64共移動(dòng)292柱面〔240→44→20→12→4→76→80〔4〔24〔8〔8〔72〔4共移動(dòng)120柱面2.有如下請(qǐng)求磁盤服務(wù)的隊(duì)列,要訪問的磁道分別是98、183、37、122、14、124、65、67?,F(xiàn)在磁頭在53道上,若按最短尋道時(shí)間優(yōu)先法,磁頭的移動(dòng)道數(shù)是多少?解:最短尋道時(shí)間優(yōu)先法總是讓查找時(shí)間最短的那個(gè)請(qǐng)求先執(zhí)行,而不考慮請(qǐng)求訪問者到來(lái)的先后時(shí)間。即靠近當(dāng)前移動(dòng)臂位置的請(qǐng)求訪問者將優(yōu)先執(zhí)行。當(dāng)前磁頭在53道上則總的移動(dòng)道為:12+2+30+23+84+24+2+59=2363.若磁頭的當(dāng)前位置為100磁道,磁頭正向磁道號(hào)增加方向移動(dòng)?,F(xiàn)有一磁盤讀寫請(qǐng)求隊(duì)列:23,376,205,132,19,61,190,398,29,4,18,40。若采用先來(lái)先服務(wù)、最短尋道時(shí)間優(yōu)先和掃描算法,試計(jì)算出平均尋道長(zhǎng)度各為多少?解:<1>采用先來(lái)先服務(wù)磁盤調(diào)度算法,進(jìn)行調(diào)度的情況為:〔從100磁道開始移動(dòng)磁道數(shù)總數(shù)為1596,平均尋道長(zhǎng)度為133。<2>采用最短尋道時(shí)間優(yōu)先磁盤調(diào)度算法,進(jìn)行調(diào)度的情況為〔從100磁道開始移動(dòng)磁道總數(shù)為700,平均尋道長(zhǎng)度為58.3?!?采用掃描算法,進(jìn)行調(diào)度的情況為:〔從100磁道開始,磁頭向磁道號(hào)增加方向移動(dòng)移動(dòng)磁道總數(shù)為692,平均尋道長(zhǎng)度為57.7。4.假定在某磁盤上移動(dòng)臂剛從58號(hào)柱上完成任務(wù),目前正在96號(hào)柱面上讀信息,并有下列請(qǐng)求序列等待訪問磁盤:175,52,157,36,159,106,108,72<1>請(qǐng)分別使用先來(lái)先服務(wù)調(diào)度算法、最短尋找時(shí)間優(yōu)先算法、電梯調(diào)度算法,排出實(shí)際處理上述請(qǐng)求的次序。<2>計(jì)算<1>中三種算法下移動(dòng)臂需要移動(dòng)的距離。解:<1>使用先來(lái)先服務(wù)調(diào)度算法,按照訪問者的失后次序進(jìn)行訪問,處理次序依次為:96,175,52,157,36,159,106,108,72。使用最短

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論