存儲管理相關(guān)問答[轉(zhuǎn)]
?
??? 了解了存儲管理的基礎(chǔ)知識和原理,但是對于具體的一些情況還是知之甚少,于是又在網(wǎng)上翻了翻資料,發(fā)現(xiàn)下面這幾道課后問答題很是能夠加深對存儲管理這塊內(nèi)容的理解,特意轉(zhuǎn)載過來。
?
轉(zhuǎn)載地址:
?
?
第六章 存儲管理課后習(xí)題答案
?
1、考慮下述存儲管理方式中,進(jìn)程空間和邏輯空間的編址情況:
(1)界地址存儲管理方式,進(jìn)程空間的首地址;
(2)頁式存儲管理,進(jìn)程空間的首地址;
(3)段式存儲管理,進(jìn)程空間各段的首地址;
(4)段頁式存儲管理,進(jìn)程空間各段的起始地址.
?
答:(1)界地址存儲管理方式,進(jìn)程空間的首地址從0開始編址;
? (2)頁式存儲管理,進(jìn)程空間的首地址從0開始編址,而邏輯空間劃分為若干個(gè)頁面,
每個(gè)頁面的起始地址是邏輯頁號乘以頁面大小;
? (3)段式存儲管理,進(jìn)程空間各段的首地址從0開始編址;
? (4)段頁式存儲管理,進(jìn)程空間各段的起始地址從0開始編址.
?
?
2、對于如下存儲管理方式來說,進(jìn)程地址空間各是幾維的?
(1)頁式;(2)段式;(3)段頁式
?
答:(1)頁式的進(jìn)程地址空間是一維的
?? (2)段式的進(jìn)程地址空間是二維的
?? (3)段頁式的進(jìn)程地址空間是二維的
?
?
3、在頁式存儲管理中,頁的劃分對用戶是否可見?在段式樣存儲管理中,段的劃分對用戶是否可見?在段頁式存儲管理中,段的劃分對用戶是否可見?段內(nèi)頁的劃分對用戶是否可見?
?
答:(1)在頁式存儲管理中,分頁對于用戶是透明的,一個(gè)進(jìn)程由若干個(gè)頁構(gòu)成,所有頁的長度相同;
?? (2)在段式存儲管理中,分段對于用戶是可見的,一個(gè)進(jìn)程由若干個(gè)段構(gòu)成,各個(gè)段的長度可以不同,一個(gè)段恰好對應(yīng)一個(gè)程序單位。
?? (3)在段頁式存儲管理中,段的劃分對用戶是可見的,段內(nèi)頁的劃分對用戶是透明的,一個(gè)段由若干個(gè)頁構(gòu)成,所有頁的長度相同。
?
?
4、為什么空閑頁面鏈適合管理內(nèi)存空間,而不適合管理外存空間?
?
答:空閑頁面鏈?zhǔn)菍⑺械目臻e頁面連成一個(gè)鏈,分配時(shí)可取鏈頭的頁面,去配時(shí)可將被釋放的頁面連入鏈頭。此種方法適用于內(nèi)存頁面的分配,但對于外存頁面的分配因分配和去配均需執(zhí)行一次I/O傳輸,速度較慢。特別是當(dāng)要申請多個(gè)頁面時(shí),需要進(jìn)行多次I/O傳輸,分配效率太低。
?
?
5、在某些虛擬頁式存儲管理系統(tǒng)中,內(nèi)存永遠(yuǎn)保持一個(gè)空閑頁面,這樣做有什么好處?
?
答:在內(nèi)存沒有空閑頁架的情況下,需要按照置換算法淘汰一個(gè)內(nèi)存頁架,然后讀入所缺頁面,缺頁進(jìn)程一般需要等待兩次I/O傳輸時(shí)間。若內(nèi)存總保持一個(gè)空閑頁架,當(dāng)發(fā)生頁故障時(shí),所缺頁面可以被立即調(diào)入內(nèi)存,缺頁進(jìn)程只需等待一次I/O傳輸時(shí)間。讀入后立即淘汰一個(gè)內(nèi)存頁面,此時(shí)可能也需執(zhí)行一次I/O傳輸,但對缺頁進(jìn)程來說不需等待,因而提高了響應(yīng)速度。
?
?
6、為何引入多級頁表?多級頁表是否影響速度?
?
答:隨著內(nèi)存空間和進(jìn)程空間的快速增長,頁表越來越大,單級頁表的存放遇到困難,為此常將頁表分為多級存放,即引入多級頁表。多級頁表會(huì)降低地址映射的速度,但通過快表可以將效率保持在合理的范疇內(nèi)。
?
?
7、與傳統(tǒng)頁表相比,倒置頁表有什么優(yōu)勢?
?
答:傳統(tǒng)頁表是面向進(jìn)程虛擬空間的,即對應(yīng)進(jìn)程的每個(gè)邏輯頁面設(shè)置一個(gè)表項(xiàng),當(dāng)進(jìn)程的地址空間很大時(shí),頁表需占用很多的存儲空間,造成浪費(fèi).與經(jīng)典頁表不同,反置頁表是面向內(nèi)存物理頁架的,即對應(yīng)內(nèi)存的每個(gè)物理架設(shè)置一個(gè)表項(xiàng),表項(xiàng)的序號就是物理頁架號f,表項(xiàng)的內(nèi)容則為進(jìn)程標(biāo)識pid與邏輯頁號p的有序?qū)Γ到y(tǒng)只需設(shè)置一個(gè)反置頁表,為所有進(jìn)程所共用.
?
?
8、允許進(jìn)程空間邏輯頁號不連續(xù)帶來的好處是什么?
?
答:可以給同一進(jìn)程內(nèi)的多個(gè)線程預(yù)留足夠的棧空間,而又不浪費(fèi)實(shí)際內(nèi)存頁架。
?
?
9、比較段式存儲管理與頁式存儲管理的優(yōu)點(diǎn)和缺點(diǎn).
?
答:頁式存儲管理優(yōu)缺點(diǎn):(1)靜態(tài)等長存儲分配簡單,有效地解決了內(nèi)存碎片問題;(2)共享和保護(hù)不夠方便。
??? 段式存儲管理優(yōu)缺點(diǎn):(1)動(dòng)態(tài)異長存儲分配復(fù)雜,存在碎片問題;(2)共享與保護(hù)方便;(3)可以實(shí)現(xiàn)動(dòng)態(tài)鏈接和動(dòng)態(tài)擴(kuò)展。
?
?
10、舉例說明段長動(dòng)態(tài)增長的實(shí)際意義.
?
答:允許段長動(dòng)態(tài)增長對于那些需要不斷增加或改變新數(shù)據(jù)或子程序的段來說很有好處。例如,分配給進(jìn)程的棧空間大小,通常預(yù)先無法準(zhǔn)確估計(jì),若分配過少可能不夠用,分配過多則造成浪費(fèi)。在棧可以動(dòng)態(tài)增長的情況下,系統(tǒng)開始可以為進(jìn)程分配一個(gè)基本長度的棧空間,這個(gè)長度浪費(fèi)很小。若進(jìn)程運(yùn)行時(shí)發(fā)生棧溢出,通過中斷可以進(jìn)行動(dòng)態(tài)擴(kuò)展。
?
?
11、在段式存儲管理中,段的長度可否大于內(nèi)存的長度?在段頁式存儲管理中呢?
?
答:在段式存儲管理中,段的長度不能大于內(nèi)存的長度,因?yàn)橐粋€(gè)獨(dú)立的段占用一段連續(xù)的內(nèi)存空間,內(nèi)存分配是以段為單位進(jìn)行的,如果一個(gè)段的長度大于內(nèi)存的長度,那么該段將無法調(diào)入內(nèi)存。在段頁式存儲管理中,段的長度可以大于內(nèi)存的長度。因?yàn)閮?nèi)存分配的單位是頁,一個(gè)段內(nèi)邏輯上連續(xù)的頁面,可以分配到不連續(xù)的內(nèi)存頁面中,不要求一個(gè)段的所有邏輯頁都進(jìn)入內(nèi)存。
?
?
12、共享段表的用途何在?
?
答:共享段表的用途主要有如下兩個(gè):(1)用來尋找共享段:根據(jù)進(jìn)程首次訪問某段的名稱在共享段表中查找,可以得知該段是否已在內(nèi)存;(2)確保一個(gè)共享段只有一組描述信息:共享段的地址、長度等信息在共享段表中僅記錄一次,防止在多個(gè)進(jìn)程段表中重復(fù)登記所帶來的維護(hù)困難。共享段表用來實(shí)現(xiàn)段的共享和保護(hù),該表中記錄所有共享段。多個(gè)進(jìn)程共享同一段時(shí),這些進(jìn)程段表中的相應(yīng)表目指向共享段表中的同一個(gè)表目。
?
?
13、具有兩級頁表的頁式存儲管理與段頁式存儲管理有何差別?
?
答:具有兩級頁表的頁式存儲管理的地址空間依然是一維的,頁的劃分對于進(jìn)程來說是透明的。而段頁式存儲管理的地址空間是二維的,段的劃分用戶能感覺到。
?
?
15、段的動(dòng)態(tài)連接給共享帶來什么問題?如何解決?
?
答:動(dòng)態(tài)連接提高了系統(tǒng)的效率,但也帶來一些問題,主要是對于段共享的影響。代碼段共享的必要條件是該段在運(yùn)行過程中不修改自身,即要求是“純代碼”(pure code),而動(dòng)態(tài)連接需要修改連接字,這與共享的要求相矛盾。解決這個(gè)問題的一種方法是將代碼段分為“純段”和“雜段”兩個(gè)部分,即將連接字等可修改的內(nèi)容存放在“雜段”中,而將其它內(nèi)容放在“純段”中。“雜段”不共享,“純段”可共享。
?
?
16、在虛擬段頁式存儲管理中,考慮段的共享與段長度的動(dòng)態(tài)變化,連接中斷如何處理?
?
答:由段名查本進(jìn)程的段名—段號對照表及共享段表,經(jīng)判斷可分為如下三種情形:
(1) 所有進(jìn)程都未連接過(共享段表、段名-段號對照表均無): 查文件目錄找到該段; 為該段建立頁表,將該段由文件全部讀入swap空間,部分讀入內(nèi)存,填寫頁表;為該段分配段號,填寫段名-段號對照表;如該段可共享,填寫共享段表,共享記數(shù)置1;填寫段表;根據(jù)段號及段內(nèi)地址形成無障礙指示位的一般間接地址。
(2) 其它進(jìn)程連接過但本進(jìn)程未連接過(共享段表有,段名-段號對照表無): 為該段分配段號;填寫段名-段號對照表,填寫段表(指向共享段表),共享段表中共享記數(shù)加1;根據(jù)段號及段內(nèi)地址形成無障礙指示位的一般間接地址。
(3) 本進(jìn)程已連接過(共享段表無,段名-段號對照表有): 根據(jù)段號及段內(nèi)地址形成無障礙指示位的一般間接地址。這里,段內(nèi)地址由兩部分構(gòu)成,即邏輯頁號和頁內(nèi)地址。
?