版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——存儲(chǔ)器管理習(xí)題第4章存儲(chǔ)器管理
5.2例題解析
例5.2.1為什么要引入規(guī)律地址?解引入規(guī)律地址有如下原因:
(1)物理地址的程序只有裝入程序所規(guī)定的內(nèi)存空間上才能正確執(zhí)行,假使程序所規(guī)定內(nèi)存空間不空閑或不存在,程序都無法執(zhí)行;(2)使用物理地址編程意味著由程序員分派內(nèi)存空間,這在多道程序系統(tǒng)中,勢必造成程序所占內(nèi)存空間的相互沖突;
(3)在多道程序系統(tǒng)中,程序員門無法事先協(xié)商每個(gè)程序所應(yīng)占的內(nèi)存空間的位置,系統(tǒng)也無法保證程序執(zhí)行時(shí),它所需的內(nèi)存空間都空閑。
(4)基于上述原因,必需引入一個(gè)統(tǒng)一的、在編程時(shí)使用的地址,它能夠在程序執(zhí)行時(shí)根據(jù)所分派的內(nèi)存空間將其轉(zhuǎn)換為對應(yīng)的物理地址,這個(gè)地址就是規(guī)律地址。
(5)規(guī)律地址的引入為內(nèi)存的共享、保護(hù)和擴(kuò)展提供便利。
例5.2.2靜態(tài)重定位的特點(diǎn)有哪些?
(1)實(shí)現(xiàn)簡單,無需增加硬件地址變換機(jī)構(gòu);(2)一般要求為每個(gè)程序分派一個(gè)連續(xù)的存儲(chǔ)區(qū);(3)在重定位過程中,裝入內(nèi)存的代碼發(fā)生了改變;(4)在程序執(zhí)行期間不在發(fā)生地址的變換;
(5)在程序執(zhí)行期間不能移動(dòng),且難以做到程序和數(shù)據(jù)的共享,其內(nèi)存利用率低。
例5.2.3動(dòng)態(tài)重定位的特點(diǎn)有哪些?
(1)動(dòng)態(tài)重定位的實(shí)現(xiàn)要依靠硬件地址變換機(jī)構(gòu),且存儲(chǔ)管理的軟件算法比較繁雜;
(2)程序代碼是按原樣裝入內(nèi)存的,在重定位的過程中也不發(fā)生變化,重定位產(chǎn)生的物理地址存放在內(nèi)存地址寄放器中,因此不會(huì)改變代碼;
(3)同一代碼中的同一規(guī)律地址,每執(zhí)行一次都需要重位一次;
(4)只要改變基地址,就可以很簡單地實(shí)現(xiàn)代碼在內(nèi)存中的移動(dòng);(5)動(dòng)態(tài)重定位可以將程序分派到不連續(xù)的存儲(chǔ)區(qū)中;(6)實(shí)現(xiàn)虛擬存儲(chǔ)器需要?jiǎng)討B(tài)重定位技術(shù)的支持;
83
盡管動(dòng)態(tài)重定位需要硬件支持,但他支持程序浮動(dòng),便于利用零散的內(nèi)存空間,利于實(shí)現(xiàn)信息共享和虛擬存儲(chǔ),所以現(xiàn)代計(jì)算機(jī)大都采用動(dòng)態(tài)重定位。
例5.2.4裝入時(shí)動(dòng)態(tài)鏈接的優(yōu)點(diǎn)有哪些?(1)便于軟件版本的修改和更新在采用裝入時(shí)動(dòng)態(tài)鏈接方式時(shí),要修改或更新各個(gè)目標(biāo)模塊,是件十分簡單的事,但對于經(jīng)靜態(tài)鏈接以裝配在一起的裝入模塊,假使要修改或更新其中的某個(gè)目標(biāo)模塊時(shí),則要求重新開啟裝入模塊,這不僅是低效的,而且對于普通用戶是不可能的。
(2)便于實(shí)現(xiàn)目標(biāo)模塊共享
若采用裝入時(shí)動(dòng)態(tài)鏈接方式,OS能夠?qū)⒁粋€(gè)目標(biāo)模塊鏈接到幾個(gè)應(yīng)用程序中去。即實(shí)現(xiàn)多個(gè)應(yīng)用程序?qū)υ撃K的共享;然而,采用靜態(tài)鏈接方式時(shí)每個(gè)應(yīng)用模塊都必需含有該目標(biāo)模塊的拷貝,則無法實(shí)現(xiàn)共享。
例5.2.5覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)有何本質(zhì)不同?交換技術(shù)與虛存中使用的調(diào)入調(diào)出技術(shù)有何一致和不同之處?
解覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)的本質(zhì)不同是:
(1)虛擬存儲(chǔ)器對于程序員時(shí)透明的,不需要程序員了解程序結(jié)構(gòu)、覆蓋的區(qū)域、時(shí)機(jī),不需要精心的設(shè)計(jì)程序及其數(shù)據(jù)結(jié)構(gòu),所有的操作由操作系統(tǒng)自動(dòng)完成。
(2)覆蓋的程序段的最大長度要受到物理內(nèi)存容量的限制,而虛擬存儲(chǔ)器的最大長度不受物理內(nèi)存容量的限制,只受計(jì)算機(jī)地址結(jié)構(gòu)的限制。
交換技術(shù)與虛存中使用的調(diào)入調(diào)出技術(shù)一致和不同之處:
(1)主要一致點(diǎn)是都要在內(nèi)存與外存之間交換信息;
(2)主要區(qū)別在于交換技術(shù)換出換進(jìn)一般是整個(gè)進(jìn)程(proc結(jié)構(gòu)和共享正文段除外),因此一個(gè)進(jìn)程的大小受物理存儲(chǔ)器的限制;而虛存中使用的調(diào)入調(diào)出技術(shù)在內(nèi)存與外存之間來回傳遞的是存儲(chǔ)頁或存儲(chǔ)段,而不是整個(gè)進(jìn)程,從而使得進(jìn)程映射具有了更大的靈活性,且允許進(jìn)程的大小比可用的物理存儲(chǔ)空間大的多。
例5.2.7有一計(jì)算機(jī)系統(tǒng),內(nèi)存容量為512K,輔存容量為2G,規(guī)律地址形式如下:
段號段內(nèi)地址2920190
求其虛擬存儲(chǔ)器的實(shí)際容量?
解虛擬內(nèi)存的實(shí)際大小由系統(tǒng)的規(guī)律地址結(jié)構(gòu)、主存輔存容量共同決定。虛擬內(nèi)存容量的理論值是210*220=1G;最大段內(nèi)地址為220=1M,遠(yuǎn)大
84
于內(nèi)存容量,其段長超過512K的內(nèi)存容量,故最大實(shí)際段長為512k而不是1M。
所以可計(jì)算虛擬存儲(chǔ)容量為2*512K=2*0.5M=0.5G。0.5G(2)對分段式系統(tǒng),被共享的程序或數(shù)據(jù)可作為單獨(dú)的一段。在物理上它是一段,在不同的進(jìn)程中,可以對應(yīng)不同的規(guī)律段,相對來說比較易于實(shí)現(xiàn)。
(3)對分頁管理,則要困難的多。首先,必需保證被共享的程序或數(shù)據(jù)占有整數(shù)塊,以便與非共享部分分開。其次,由于共享程序或數(shù)據(jù)被多個(gè)進(jìn)程訪問,所以每個(gè)進(jìn)程對共享程序或數(shù)據(jù)的訪問都應(yīng)當(dāng)是有限制條件的。
(4)因此,從共享和保護(hù)的實(shí)現(xiàn)上來看,須共享的程序段或數(shù)據(jù)段是一個(gè)規(guī)律單位,而分段存儲(chǔ)管理中被共享的程序或數(shù)據(jù)作為一個(gè)整體(一段),實(shí)現(xiàn)共享和保護(hù)就要便利得多。
(5)分段系統(tǒng)的共享是通過兩個(gè)(或多個(gè))進(jìn)程的段表之相應(yīng)表目都指向同一個(gè)物理段,并設(shè)置共享計(jì)數(shù)來實(shí)現(xiàn)的。每段設(shè)置訪問方式,就可以實(shí)現(xiàn)段的保護(hù)。
例5.2.16為什么分段管理下的程序共享和保護(hù)比分頁管理更有意義?
解主要是由于段是一個(gè)有意義的規(guī)律整體,如主程序、子程序、數(shù)據(jù)表格、工作空間等,就如書本上的一章或一個(gè)自然段。而頁只是一個(gè)物理尺寸,不一定有完整的意義,如書本上的一頁。程序共享當(dāng)然希望被共享的對象是一個(gè)有意義的整體,如一個(gè)子程序;至于程序保護(hù),指的是每個(gè)進(jìn)程都應(yīng)按所擁有的存取權(quán)訪問不同的程序,而存取權(quán)(R,W,E等)當(dāng)然對一個(gè)有完整意義的對象才更有意義。所以就共享和保護(hù)而言,分段管理比分頁管理更有意義。
例5.2.17虛存與單、多道程序設(shè)計(jì),程序重定位,程序動(dòng)態(tài)鏈接以及覆蓋和交換技術(shù)之間有什么關(guān)系?
解從原理上講,單道程序設(shè)計(jì)系統(tǒng)也可實(shí)現(xiàn)虛存管理,但從實(shí)際上看,虛存主要是應(yīng)用在多道程序設(shè)計(jì)系統(tǒng)中。
虛存的實(shí)現(xiàn)需要程序的動(dòng)態(tài)重定位技術(shù)的支持,由于程序的對換會(huì)導(dǎo)致同一部分程序?qū)覍疫M(jìn)出內(nèi)存并有可能在內(nèi)存中不斷地移動(dòng)位置。
虛存與程序的動(dòng)態(tài)鏈接沒有必然的因果關(guān)系,但程序的動(dòng)態(tài)鏈接可以避免無用的程序進(jìn)入內(nèi)存,使虛存的效率提高實(shí)現(xiàn);
虛存需要覆蓋和交換技術(shù)的支持,但覆蓋和交換與虛存是不同的概念。在實(shí)存管理下覆蓋和交換是一種可以節(jié)省內(nèi)存的技術(shù),對用戶是不透明,覆蓋和交換的區(qū)由程序結(jié)構(gòu)和程序員決定。而在虛存下的交換和覆蓋對程序員是透明的,操作是由OS根據(jù)某種算法決定的。
例5.2.18說明什么是置換算法的異?,F(xiàn)象,為什么LRU算法不會(huì)有異?,F(xiàn)象?
88
解頁面置換算法的異?,F(xiàn)象,也叫Belady異常,是在局部置換前提下的一種現(xiàn)象。所謂局部置換,指的是當(dāng)一進(jìn)程創(chuàng)立時(shí),分給其一定數(shù)量的頁面(例如8頁),然后,在運(yùn)行過程中,若該進(jìn)程需調(diào)入新頁且須置換一個(gè)頁面時(shí),則只能置換其自己的一個(gè)頁面而不能置換別的進(jìn)程的頁面。
頁面置換的異?,F(xiàn)象,是指在一定置換算法和一定頁面走向下,分給進(jìn)程的頁面數(shù)增多其頁面失效率反而增加這樣一種狀況。這種異常,只在一定的算法和一定的頁面走向下才會(huì)出現(xiàn)。大量算法,如OPT.和LRU,在任何狀況下都不會(huì)有異?,F(xiàn)象。LRU之所以不會(huì)有“異常〞,是由于最近的過去使用的n個(gè)頁面一定在最近的過去使用的n+1個(gè)頁面之中。
例5.2.19什么是抖動(dòng)現(xiàn)象?如何消除這種現(xiàn)象?
解抖動(dòng)現(xiàn)象,是在虛存管理下,用于頁面(在內(nèi)、外存之間)對換的時(shí)間比程序的有效運(yùn)行時(shí)間還要多的這樣一種現(xiàn)象。它可以是一進(jìn)程內(nèi)部的局部性抖動(dòng),也可以是整個(gè)系統(tǒng)的全局性抖動(dòng)。造成這種狀況縱然與置換算法和頁面走向有關(guān),但其根本原因是多道系統(tǒng)內(nèi)的進(jìn)程數(shù)太多,從而分給每個(gè)進(jìn)程的頁面數(shù)太少。因此,解決這一問題的最有效的方法是減少系統(tǒng)內(nèi)的進(jìn)程數(shù)。Denning于1980年提出了“L=S準(zhǔn)則〞,即調(diào)整系統(tǒng)內(nèi)的進(jìn)程數(shù),使得產(chǎn)生缺頁的平均間隔時(shí)間(L)等于系統(tǒng)處理進(jìn)程缺頁的平均時(shí)間(S)。理論和實(shí)踐說明,此時(shí)的CPU利用率最高。
例5.2.20有這樣一種頁面置換算法,它給每一個(gè)內(nèi)存塊(塊與頁大小相等)設(shè)置一個(gè)計(jì)數(shù)器,以計(jì)數(shù)曾經(jīng)裝入過該塊的頁面數(shù)。當(dāng)需要置換一個(gè)頁面時(shí),該算法總是將其計(jì)數(shù)值最小的那個(gè)塊內(nèi)的頁面換掉,當(dāng)有多個(gè)最小值時(shí),按FIFO執(zhí)行。
若某進(jìn)程分得4個(gè)內(nèi)存塊,現(xiàn)對1、2、3、4、5、3、4、1、6、7、8、7、8、9、7、8、9、5、4、5、4、2,解答如下問題:
(1)求在上述算法下的頁面失效數(shù);(2)求在OPT.算法下的頁面失效數(shù)。解(1)求解過程如下表所示頁面號B1B2B3B4
√√√√√√√√√√√√√1234534167878978954542111155555588888888888222222211111199999999333333666666666555544444477777777744489
C1C2C3C4111122222233333333333401111112222223333333300111111222222222333330001111112222222223333
注:打“√〞的表示缺頁,共有13次缺頁。
說明:在上面的求解過程中,B1~B4表示進(jìn)程分得的4個(gè)塊號,C1~
C4表示與這4塊對應(yīng)的計(jì)數(shù)器;表中的每一列記錄了每一塊當(dāng)前裝入的頁面及其計(jì)數(shù)器的值。
(2)在OPT.算法下的頁面失效次數(shù)為11。
例5.2.20在可變分區(qū)分派的存儲(chǔ)管理方案中,基于鏈表的存儲(chǔ)分派算法有哪幾種?它們的思想是什么?
解:在可變式分區(qū)分派的存儲(chǔ)管理方案中,基于鏈表的存儲(chǔ)分派算法主要有三種:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法和最正確適應(yīng)算法。
(1)首次適應(yīng)算法
在首次適應(yīng)算法中,每個(gè)空白區(qū)按其位置的順序鏈在一起,即每個(gè)后繼的空白區(qū)其起始地址總是比前者的大。當(dāng)系統(tǒng)要分派一個(gè)存儲(chǔ)塊時(shí),就依照空白塊鏈的順序,一次查詢,直到找到第一個(gè)滿足要求的空白塊為止。由這種算法確定的空白塊其大小不一定剛好滿足要求。假使找到的這個(gè)空白區(qū)比要求的大,則把它分成兩個(gè)分區(qū),一個(gè)為已分派分區(qū),其大小剛好等于所要求的;另一個(gè)依舊為空白塊,且留在鏈中原來的位置上。若是在空白鏈中從頭到尾找一遍,找不到滿足要求的空白塊,則返回“暫不能分派〞。系統(tǒng)在回收一個(gè)分區(qū)時(shí),首先檢查該分區(qū)是否有鄰接的空白塊,假使有,則應(yīng)將這個(gè)分區(qū)與之合并,并將該空白塊保存在鏈中原來的位置。假使回收的分區(qū)不和空白塊鄰接,則應(yīng)根據(jù)其起始地址大小,把它插在鏈中的相應(yīng)位置上。
首次適應(yīng)算法的實(shí)質(zhì)是,盡可能地利用存儲(chǔ)器低地址部分的空白塊,盡量保存在高地址部分的大空白塊。其優(yōu)點(diǎn)在于:當(dāng)需要一個(gè)較大的分區(qū)時(shí),便有希望找到足夠大的空白塊以滿足要求。其缺點(diǎn)是:在回收一個(gè)分區(qū)時(shí),需要花費(fèi)較多的時(shí)間去查找鏈表,確定它的位置。
(2)循環(huán)首次適應(yīng)算法
循環(huán)首次適應(yīng)算法與首次適應(yīng)算法類似,只是在每次分派分區(qū)時(shí),系統(tǒng)不是從第一個(gè)空白塊開始查找,而是從上次分派的空白塊處查找。當(dāng)查找至鏈尾時(shí),便從鏈?zhǔn)桌^續(xù)查找,直到找完整個(gè)鏈表。在系統(tǒng)回收一個(gè)分區(qū)時(shí),為了減少在插入一個(gè)空白區(qū)時(shí)查詢鏈表的時(shí)間,假使這個(gè)分區(qū)不和空白塊鄰接,則把它插入到前向指針鏈的最終一個(gè)空白塊后;假使有空白塊相鄰,則根據(jù)狀況作相應(yīng)處理。由此可見,這些空白塊在鏈中的位置沒有一定的規(guī)則。
90
這種循環(huán)首次適應(yīng)算法的實(shí)質(zhì)是,使得小的空白塊均勻地分布在可用存儲(chǔ)空間內(nèi)。這樣,當(dāng)回收一個(gè)分區(qū)時(shí),它和一個(gè)較大空白塊相鄰的可能性比較大,因而合并后可得到大的空白塊。和首次適應(yīng)算法相比,它產(chǎn)生過小空白塊的現(xiàn)象比較小。
(3)最正確適應(yīng)算法
在最正確適應(yīng)算法中,空白塊按大小順序鏈在一起。系統(tǒng)在尋覓空白塊時(shí),總是從最小的一個(gè)開始。這樣,第一次找到的滿足要求的空白塊必然是最適合的,由于它最接近于要求的大小。這種算法的優(yōu)點(diǎn)是:假使存儲(chǔ)空間中具有正好是所要求大小的空白塊,則必然被選中;假使不存在這樣的空白塊,也只對比要求稍大的空白塊劃分,而絕不會(huì)去劃分一個(gè)更大的空白塊。此后,遇到有大的存儲(chǔ)要求時(shí),就比較簡單滿足了。
最正確適應(yīng)算法的缺點(diǎn)在于:尋覓一個(gè)較大空白塊時(shí)花費(fèi)的時(shí)間較長;回收一個(gè)分區(qū)時(shí),把它插入到空白塊鏈中適合的位置上也較為費(fèi)時(shí);此外,由于每次都劃分一個(gè)與要求大小最接近的空白塊,使得系統(tǒng)中小的空白塊較多。其實(shí)質(zhì)是,在系統(tǒng)中尋覓與要求的空間大小最接近的一個(gè)空白塊。
例5.2.21在虛擬頁式存儲(chǔ)系統(tǒng)為什么要引入缺頁中斷?缺頁中斷實(shí)現(xiàn)由哪幾部分組成,并分別說明其實(shí)現(xiàn)方法。
解頁式虛存管理是在頁式存儲(chǔ)管理的基礎(chǔ)上實(shí)現(xiàn)虛擬存儲(chǔ)器的,作業(yè)在執(zhí)行時(shí)并不是所有的頁均放在主存,若欲訪問的頁面不在主存,則須由操作系統(tǒng)把當(dāng)前所需頁面從輔存裝入主存。這一過程就交由中斷系統(tǒng)完成,稱為缺頁中斷。
缺頁中斷由缺頁處理和頁淘汰組成,缺頁處理過程如下:
(1)中斷觸發(fā):在地址變換過程中,當(dāng)查詢頁表時(shí),發(fā)現(xiàn)規(guī)律頁面
不在內(nèi)存,即其狀態(tài)位為0,則發(fā)生缺頁中段。
(2)頁面調(diào)入:OS在頁表中找到對應(yīng)頁面的輔存地址,進(jìn)行頁面的淘汰,將所缺頁調(diào)入內(nèi)存;
(3)修改頁表:將該頁面的內(nèi)存地址填入頁表,修改狀態(tài)位為1;
缺頁中斷終止,恢復(fù)現(xiàn)場,重新執(zhí)行指令。
頁面淘汰處理如下:
(1)假使內(nèi)存有空閑的頁面,直接調(diào)入外存的頁面,修改頁表;(2)假使內(nèi)存沒有空間,根據(jù)頁面淘汰算法,在內(nèi)存中找到可淘汰的頁面;
(3)假使被淘汰頁面修改位為0,則直接調(diào)入外存頁面將其覆蓋,修改頁表;
(4)假使被淘汰頁面修改位為1,則要申請一塊交換空間,將該內(nèi)存的內(nèi)容保存到交換區(qū)中,然后將輔存的頁面調(diào)入其中,修改頁表。
91
例5.2.22何謂虛擬機(jī)存儲(chǔ)器,并舉一例說明操作系統(tǒng)如何實(shí)現(xiàn)虛擬內(nèi)存的?
解虛擬存儲(chǔ)器通過把主、輔存統(tǒng)一起來管理,給用戶造成一種仿佛系統(tǒng)內(nèi)有巨大主存供用戶使用的假象。例如頁式存儲(chǔ)管理,一道作業(yè)被劃分成若干頁,其中較活躍的幾頁放在內(nèi)存,而其余不活躍的頁被放在輔存,當(dāng)需要訪問輔存內(nèi)的頁時(shí),就可通過頁面調(diào)度將其調(diào)入內(nèi)存運(yùn)行;但用戶感覺不到這種變化,他會(huì)以為作業(yè)的所有部分都存在于主存。這樣可以讓更多的作業(yè)進(jìn)入主存,提高系統(tǒng)的效率。
例5.2.23在內(nèi)存管理中,“內(nèi)零頭〞和“外零頭〞各指的是什么?在固定式分區(qū)分派、可變式分區(qū)分派、頁式虛擬存儲(chǔ)系統(tǒng)、段式虛擬存儲(chǔ)系統(tǒng)中,各會(huì)存在何種零頭?為什么?
解內(nèi)零頭(又稱內(nèi)部碎片):給一個(gè)作業(yè)分派的存儲(chǔ)單元長度為n,該塊存儲(chǔ)的作業(yè)長度為m,則剩下的長度為(n-m)的空間,成為該單元的內(nèi)部碎片;若存儲(chǔ)單元長度為n,在該系統(tǒng)所采用的調(diào)度算法下,較長時(shí)間內(nèi)無法選出一道長度不超過該塊的作業(yè),則稱該塊為外零頭(外部碎片)。
在固定式分區(qū)分派中兩種零頭均會(huì)存在,由于空間劃分是固定的,無論作業(yè)長短,存儲(chǔ)單元均不會(huì)隨之變化,若作業(yè)短而存儲(chǔ)塊長則產(chǎn)生內(nèi)零頭,若作業(yè)長而存儲(chǔ)塊短則產(chǎn)生外零頭。
在可變式分區(qū)分派中只有外零頭而無內(nèi)零頭,由于空間劃分是依作業(yè)長度進(jìn)行的,是要多少給多少,但剩下的部分太短而無法再分,則稱為外零頭。
頁式虛存中會(huì)存在內(nèi)零頭而無外零頭,因存儲(chǔ)空間與作業(yè)均分為等長單元,所以不存在無法分派的單元,但作業(yè)長度并不剛好為頁面大小的整數(shù)倍,因此在最終一頁會(huì)有剩余空間,即為內(nèi)零頭。
段式虛存中會(huì)存在外零頭而無內(nèi)零頭,因段式的空間劃分類似于可變分區(qū)分派,根據(jù)段長分派,要多少給多少,但會(huì)剩余小空間無法分派,則為外零頭。
例5.2.24常用的內(nèi)存信息保護(hù)方法有哪幾種?它們各自的特點(diǎn)是什么?
解常用的內(nèi)存保護(hù)方法有硬件法、軟件法和軟硬件結(jié)合保護(hù)法三種。界地址保護(hù)法,即上下界保護(hù)法,是一種常用的硬件保護(hù)法。上、下界存儲(chǔ)保護(hù)技術(shù)要求為每個(gè)進(jìn)程設(shè)置一對上、下界寄放器。上、下界寄放器中裝有被保護(hù)程序和數(shù)據(jù)段的起始地址和終止地址。在程序執(zhí)行過程中,在對內(nèi)存進(jìn)行訪問操作時(shí),首先進(jìn)行訪問地址合法性檢查,即檢查經(jīng)過重定位之后的內(nèi)存地址是否在上、下界寄放器所規(guī)定的范圍之內(nèi)。若在規(guī)定的范圍之內(nèi),則訪問是合法的,否則是非法的,并產(chǎn)生訪問越界中斷。
保護(hù)鍵法也是一種常用的軟件存儲(chǔ)保護(hù)法。保護(hù)鍵法為每一個(gè)被保護(hù)的存儲(chǔ)塊分派一個(gè)單獨(dú)的保護(hù)鍵。在程序狀態(tài)字中設(shè)置相應(yīng)的保護(hù)鍵開關(guān)字段,對不同的進(jìn)程賦予不同的開關(guān)代碼,與被保護(hù)的存儲(chǔ)塊中的保護(hù)鍵匹配。
92
C.提高內(nèi)存的利用率D.使系統(tǒng)能運(yùn)行更大的程序
15.()存儲(chǔ)管理中存在頁表。
A.頁式B.段式C.分區(qū)D.段頁式
5.3.3判斷正誤,錯(cuò)誤的簡要說明理由
1.請求分頁存儲(chǔ)管理系統(tǒng),若把頁面的大小增加一倍,則缺頁中斷次數(shù)會(huì)減少一倍。
2.虛地址即程序執(zhí)行時(shí)所要訪問的內(nèi)存地址。
3.交換可以解決內(nèi)存不足的問題,因此,交換也實(shí)現(xiàn)了虛擬存儲(chǔ)器。4.為了使程序在內(nèi)存中浮動(dòng),編程時(shí)都使用規(guī)律地址。因此,必需在地址轉(zhuǎn)換后才能得到主存的正確地址。
5.在請求分頁式存儲(chǔ)管理中,頁面的調(diào)入.調(diào)出只能在內(nèi)存和對換區(qū)之間進(jìn)行。
6.請求分頁存儲(chǔ)管理中,頁面置換算法好多,但只有最正確置換算法能完全避免進(jìn)程的抖動(dòng),因而目前應(yīng)用最廣。其他(如改進(jìn)型CLOCK)算法雖然也能避免進(jìn)程的抖動(dòng),但其效率一般很低。
7.虛擬存儲(chǔ)器的實(shí)現(xiàn)是基于程序局部性原理,其實(shí)質(zhì)是借助外存將內(nèi)存較小的物理地址空間轉(zhuǎn)化為較大的規(guī)律地址空間。
8.虛存容量僅受外存容量的限制。
9.UNIX操作系統(tǒng)沒有提供虛擬存儲(chǔ)器,為了使容量有限的內(nèi)存能支持較大規(guī)模的程序,系統(tǒng)除采用正文段共享和自我覆蓋技術(shù)外,主要采用了程序?qū)Q技術(shù)來擴(kuò)展存儲(chǔ)容量,使其具有類似于虛擬存儲(chǔ)器的作用。
10.靜態(tài)頁式管理可以實(shí)現(xiàn)虛存。11.用可變分區(qū)法可以比較有效地消除外部碎片,但不能消除內(nèi)部碎片。
12.頁表的作用是實(shí)現(xiàn)規(guī)律地址到物理地址的映射。13.系統(tǒng)中內(nèi)存不足,程序就無法執(zhí)行。
14.用絕對地址編寫的程序不適合多道程序系統(tǒng)。
5.3.4簡答題
1.什么是動(dòng)態(tài)鏈接?用何種內(nèi)存分派方法可以實(shí)現(xiàn)這種鏈接技術(shù)?2.為什么靜態(tài)重定位后的程序在內(nèi)存中不能移動(dòng)?動(dòng)態(tài)地址重定位的程序在內(nèi)存中可以移動(dòng)什么?
3.在什么時(shí)候只能使用交換的方法,而不能使用覆蓋的方法?4.虛擬存儲(chǔ)器的理論容量與什么有關(guān),實(shí)際容量與什么有關(guān)?
5.考慮一個(gè)由8個(gè)頁面,每頁1K字節(jié)組成的規(guī)律空間,把它映射到由32個(gè)物理塊組成的存儲(chǔ)器。問:
103
(1)有效的規(guī)律地址有多少位?(2)有效的物理地址有多少位?
6.程序員如何識別系統(tǒng)采用的是分頁式虛存還是段式虛存?
7.設(shè)某進(jìn)程分得的內(nèi)存頁面數(shù)為m,其需訪問的頁面?zhèn)€數(shù)為p,其中有n個(gè)不一致的頁面,對于任意置換算法,
(1)求頁面失效次數(shù)的下限(2)求頁面失效次數(shù)的上限
8.在某分頁虛存系統(tǒng)中,測得CPU和磁盤的利用率如下,試指出每種狀況下的問題和措施。
(1)CPU的利用率為15%,盤利用率為95%;(2)CPU的利用率為88%,盤利用率為3%;(3)CPU的利用率為13%,盤利用率為5%。
9.對訪問串:1,2,3,4,1,2,5,1,2,3,4,5,指出在駐留集大小分別為3,4時(shí),使用FIFO和LRU替換算法的缺頁次數(shù)。結(jié)果說明白什么?
10.存儲(chǔ)管理的主要任務(wù)是什么?
11.實(shí)現(xiàn)虛擬存儲(chǔ)器的物質(zhì)基礎(chǔ)是什么?
12.分頁存儲(chǔ)管理如何戰(zhàn)勝分區(qū)存儲(chǔ)管理的缺點(diǎn)的?13.快表的引入為何能明顯改進(jìn)系統(tǒng)的性能?14.操作系統(tǒng)中存儲(chǔ)管理的主要對象是什么?15.覆蓋技術(shù)的基本思想是什么?
5.35解答題
1.分頁存儲(chǔ)管理與分段管理的主要區(qū)別是什么?提出分頁管理和分段管理的目的分別是什么?
2.考慮一個(gè)分頁存儲(chǔ)器,其頁表存放在內(nèi)存。
(1)若內(nèi)存的存取周期為0.6us,則CPU從內(nèi)存取一條指令(或一個(gè)操作數(shù))需多少時(shí)間?
(2)若使用快表且快表的命中率為75%,則內(nèi)存的平均存取周期為多少?
3.虛存管理與實(shí)存管理的根本區(qū)別是什么?
4.就虛存回復(fù)以下問題:(1)虛存的應(yīng)用背景是什么?(2)虛存的可行性基礎(chǔ)是什么?(3)實(shí)現(xiàn)虛存的主要技術(shù)是什么?
(4)虛存可以有多大?
5.設(shè)某進(jìn)程訪問內(nèi)存的頁面走向序列如下:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
104
則在局部置換的前提下,分別求當(dāng)該進(jìn)程分得的頁面數(shù)為1,2,3,4,5,6,7時(shí),以下置換算法的缺頁數(shù):
①LRU②FIFO③Optimal
6.考慮一個(gè)有快表的請求分頁系統(tǒng),設(shè)內(nèi)存的讀寫周期為1us,內(nèi)外存之間傳送一個(gè)頁面的平均時(shí)間為5ms,快表的命中率為80%,頁面實(shí)效率為10%,求內(nèi)存的有效存取時(shí)間。
7.對于一個(gè)使用快表的頁式虛存,設(shè)快表的命中率為70%,內(nèi)存的存取周期為1us;缺頁處理時(shí),若內(nèi)存有可用空間或被置換的頁面在內(nèi)存未被修改過,則處理一個(gè)缺頁中斷需8ms,否則需20ms。假定被置換的頁面60%是屬于后一種狀況,則為了保證有效存取時(shí)間不超過2us,問可接受的最大缺頁率是多少?
8.為什么要引入動(dòng)態(tài)鏈接?
9.在分頁存儲(chǔ)管理系統(tǒng)中,存取一次內(nèi)存的時(shí)間是8us,查詢一次快表的時(shí)間是1us,缺頁中斷的時(shí)間是20us。假設(shè)頁表的查詢與快表的查詢同時(shí)進(jìn)行,當(dāng)查詢頁表時(shí),假使該頁在內(nèi)存但快表中沒有頁表項(xiàng),系統(tǒng)將自動(dòng)把該頁頁表項(xiàng)送入快表。一個(gè)作業(yè)最多可保存3個(gè)頁面在內(nèi)存。現(xiàn)開始執(zhí)行一作業(yè),系統(tǒng)連續(xù)對作業(yè)的2、4、5、2、7、6、4、2各頁面的數(shù)據(jù)進(jìn)行1次存取,如分別采用FIFO算法和最優(yōu)頁面置換算法,求每種算法下存取這些數(shù)據(jù)需要的總時(shí)間?
105
5.4習(xí)題解答要點(diǎn)
5.4.1選擇最適合的答案
1.B2.B3.A4.A5.A6.B7.C8.A9.B10.B11.D12.D13.C14.C15.B16.C17.D18.D19.B20.C21.A22.D23.D24.B25.D26.B27.C28.C29.C30.D31.C32.A33.B34.A35.D36.A37.B38.D39.D40.C41.D42.B43.A44.B45.A46.C47.B48.D49.B50.A51.D52.C53.A54.B55.B56.C57.D58.B59.D60.B
5.4.2選擇所有正確的答案
1.BCD2.ABC3.AE4.ACD4.AC(批處理是C,其它是A)4.AC5.ABCD6.BCD7.ABC8.BD9.ABCD10.BCD11.BCD12.CD13.AD
5.4.3判斷正誤,錯(cuò)誤的簡要說明理由
1.錯(cuò)誤
產(chǎn)生頁面中斷的次數(shù)與頁面大小的關(guān)系不是絕對的,它還和訪問頁面的蹤跡P、主存的容量M、以及淘
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 21033-2025飼料中免疫球蛋白IgG的測定高效液相色譜法
- 四川省內(nèi)江市隆昌市知行中學(xué)2025-2026學(xué)年度第一學(xué)期第二次月考初中八年級數(shù)學(xué)試題(學(xué)生版+答案版)
- 廣東省汕頭市潮南區(qū)陳店公辦八校2024-2025學(xué)年七年級上學(xué)期12月月考?xì)v史試題(含答案)
- 養(yǎng)老院入住老人休閑娛樂設(shè)施管理制度
- 企業(yè)內(nèi)部保密工作培訓(xùn)制度
- 2026年中考道德與法治一輪復(fù)習(xí):易混易錯(cuò)122 題含答案
- 粗鎢酸鈉溶液制備工沖突解決模擬考核試卷含答案
- 我國上市公司管理層收購的公司治理效應(yīng)剖析:理論、實(shí)證與案例洞察
- 鑿巖工崗前潛力考核試卷含答案
- 我國上市公司投資者關(guān)系管理的多維審視與優(yōu)化路徑
- 安全生產(chǎn)目標(biāo)及考核制度
- (2026版)患者十大安全目標(biāo)(2篇)
- 大數(shù)據(jù)安全技術(shù)與管理
- 2026青島海發(fā)國有資本投資運(yùn)營集團(tuán)有限公司招聘計(jì)劃筆試備考試題及答案解析
- 2026年北大拉丁語標(biāo)準(zhǔn)考試試題
- 鼻飼技術(shù)操作課件
- 臨床護(hù)理操作流程禮儀規(guī)范
- 2025年酒店總經(jīng)理年度工作總結(jié)暨戰(zhàn)略規(guī)劃
- 空氣栓塞課件教學(xué)
- 置景服務(wù)合同范本
- 隧道掛防水板及架設(shè)鋼筋臺(tái)車施工方案
評論
0/150
提交評論