一、單項選擇題
1、存儲管理的目的是( C) 。
A、方便用戶 B、提高主存空間利用率
C、方便用戶和提高主存利用率 D、增加主存實際容量
對內存(主存)的管理:存儲器管理
對外存的管理:文件管理
2、存儲器管理中,下列說法正確的是( B )
A、無論采用哪種存儲管理方式,用戶程序的邏輯地址均是連續的
B、地址映射需要有硬件支撐地址變換
C、段表和頁表都是由用戶根據進程情況而建立的
D、采用靜態重定位可實現程序浮動
B:程序的裝入過程實際上是將邏輯地址變為物理地址的過程,有三種裝入方式:
(1)絕對裝入方式:只適合單道程序,且需要知道內存的使用情況。
(2)可重定位裝入方式:適合於多道程序環境,在進程裝入時一次完成。
(3)動態運行時的裝入方式:在程序真正運行的時候裝入。
C:分頁和分段的區別:
(1)頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率;
段是信息的邏輯單位,分頁也是離散的分配方式,它含有一組意義相對完整的信息。分段的目的是為了能更好的滿足用戶的需要。
(2)頁的大小固定且由系統確定,把邏輯地址划分為頁號和頁內地址兩部分,是由機器硬件實現的,因而一個系統只能有一種大小的頁面。
段的長度卻不固定,決定於用戶所編寫的程序,通常由編輯程序在對源程序進行編輯時,根據信息的性質來划分。
(3)分頁的作業地址空間是一維的,即單一的線性空間;頁表(頁號、塊號),取指令或數據需要兩次訪問內存。
分段的作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。段表(段號,段長、基址),取指令或數據需要兩次訪問內存。
段頁式:一個段分為若干個頁:地址結構(段號,段內頁號、頁內地址),取指令或數據需要三次訪問內存。
D:動態運行時的裝入方式,允許程序在內存中的移動。
3、動態重定位是在作業的( B)中進行的。
A、編譯過程 B、裝入過程 C、修改過程 D、執行過程
程序的裝入過程實際上是將邏輯地址變為物理地址的過程,有三種裝入方式:
(1)絕對裝入方式:只適合單道程序,且需要知道內存的使用情況。
(2)可重定位裝入方式:適合於多道程序環境,在進程裝入時一次完成。
(3)動態運行時的裝入方式:在程序真正運行的時候裝入。
4、(A)要求存儲分配時具有連續性。
A、固定分區存儲管理 B、頁式存儲管理
C、段式存儲管理 D、段頁式存儲管理
(1)頁式存儲管理、段式存儲管理、段頁式存儲管理都是采用離散的內存分配方式。
(2)連續分配存儲管理方式:
a、單一連續分配:
系統區提供給OS使用,用戶區僅裝入一道用戶程序的分配方式。
b、固定分區分配:
在內存中可以裝入多道程序,且這些程序之間不會相互干擾,將用戶空間划分為若干個固定大小的區域,每個分區裝入一道作業。
划分分區時有兩種划分方式:其中分區大小相等的分配方式缺乏靈活性,可以通過采用分區大小不等的分配方式來增加存儲器分配的靈活性。
c、動態分區分配:
根據進程的實際需要,動態地為之分配內存空間
數據結構:空閑分區表、空閑分區鏈
分配算法:首次適應算法(FF)、循環首次適應算法(NF)、最佳適應算法(BF)、最壞適應算法(WF)
分配操作:分配內存、回收內存
5、( C )存儲管理支持多道程序設計,算法簡單,但內部碎片多。
A、段式 B、頁式 C、固定分區 D、段頁式
在內存中可以裝入多道程序,且這些程序之間不會相互干擾,將用戶空間划分為若干個固定大小的區域,每個分區裝入一道作業。
划分分區時有兩種划分方式:其中分區大小相等的分配方式缺乏靈活性,可以通過采用分區大小不等的分配方式來增加存儲器分配的靈活性。
6、提高主存利用率主要是通過( A )實現的。
A、內存分配 B、內存保護 C、地址轉換 D、內存擴充
7、動態分區管理方式按作業需求量分配主存分區,所以( D)。
A、分區的長度是固定
B、分區的個數是確定的
C、分區長度和個數都是確定
D、分區的長度不是預先固定的,分區的個數是不確定的
根據進程的實際需要,動態地為之分配內存空間
8、( A )存儲管理不適合多道程序系統。
A、單一連續分配 B、固定分區 C、可變分區 D、段頁式
系統區提供給OS使用,用戶區僅裝入一道用戶程序的分配方式。
固定分區分配:
9、碎片現象的存在使( A)。
A、主存空間利用率降低 B、主存空間利用率提高
C、主存空間利用率得以改善 D、主存空間利用率不受影響
碎片的空間太小不能再利用了。
10、較好地解決了外部碎片問題的存儲管理方法是(D)。
A、動態分區管理 B、段式存儲管理
C、固定分區管理 D、頁式存儲管理
優點:由於這種內存分配方式不要求程序或進程的程序段和數據在內存中連續存放,消除了外部碎片,從而能在一定程度提高內存的利用率,又有利於組織多道程序執行。
缺點:易產生頁內碎片
11、下列選項中,不會產生內部碎片問題的存儲管理方法是(B)。
A、分頁存儲管理 B、分段存儲管理
C、固定分區存儲管理 D、段頁式存儲管理
段是信息的邏輯單位,它含有一組其意義相對完整的信息。 分段的目的是為了能更好地滿足用戶的需要。段的長度卻不固定, 決定於用戶所編寫的程序,通常由編譯程序在對源程序進行編譯時,根據信息的性質來划分。分段的大小是由用戶所決定的,用戶根據需要而划分,需要多少就分配多少,所以不會產生碎片。
碎片問題總結:
(1)分頁:將進程分成若干個大小相等的頁,所以進程最后一個頁的空間不會被完全占滿(因為無法保證進程大小正好整除頁的大小),當被放入內存時,最后一頁便產生了內部碎片。
由於這種內存分配方式不要求程序或進程的程序段和數據在內存中連續存放,消除了外部碎片,從而能在一定程度提高內存的利用率,又有利於組織多道程序執行。
(2)分段:當一個舊的進程退出內存,一個比它小的新的進程被分配到它原來占據的空間,因為無法占滿,與下一個進程占據內存之間便產生了一段間隔,便是外部碎片,但是沒有內部碎片。
(3)固定分區:由於分區大小固定,當程序小於分區的時候,會產生內部碎片。
(4)段頁式:有內部碎片(由段內的頁產生),無外部碎片
12、最佳適應分配算法把空閑區( C )。
A、按地址遞增順序登記在空閑區表中
B、按地址遞減順序登記在空閑區表個
C、按長度以遞增順序登記在空閑區表中
D、按長度以遞減順序登記在空閑區表
按地址遞增順序登記在空閑區表中:首次適應算法
按長度以遞增順序登記在空閑區表中 :最佳適應算法
按長度以遞減順序登記在空閑區表:最壞適應算法
13、某基於動態分區存儲管理的計算機,其主存容量為 55MB(初始為空閑),采用最佳適配算法,分配和釋放的順序為:分配 15MB,分配 30MB,釋放 15MB,分配 8MB,分配 6MB,此時主存中最大空閑分區的大小是(B)。
A、7MB B、9MB C、10MB D、15MB
在對8MB進行空間分配的時候突出了最佳適應算法的特點:總是把能滿足要求的、又是最小的空閑分區分派給作業,所以選擇10M的空閑分區,舍棄15M的空閑分區。
14、在未引入快表的分頁存儲管理時,每讀寫一個數據,要訪問( B )主存。
A、1次 B、2次 C、3次 D、4次
分頁:作業地址空間是一維的,即單一的線性空間;頁表(頁號、塊號),取指令或數據需要兩次訪問內存(頁表在內存中)。
分段:作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。段表(段號,段長、基址),取指令或數據需要兩次訪問內存。
段頁式:一個段分為若干個頁:地址結構(段號,段內頁號、頁內地址),取指令或數據需要三次訪問內存。
15、動態分區存儲管理的( D )總是按作業要求挑選一個最大的空閑區。
A、順序分配算法 B、最先適應分配算法
C、最優適應分配算法 D、最壞適應分配算法
動態分區分配算法:
(1)首次適應算法:空閑分區以地址遞增的順序鏈接。
優點:保留了高址部分的大空閑區。
缺點:低址部分會產生內部碎片;每次查找都是從低址部分會增加查找空閑分區的開銷。
(2)循環首次適應算法:
優點:減少查找空閑分區的開銷;空閑分區分布的均勻。
缺點:缺乏大的空閑區域。
(3)最佳適應算法:容量遞增
優點:查找速度快(已經遞增排序);避免了“”大材小用“”
缺點:會產生難以滿足用戶需求的內部碎片
(4)最壞適應算法:容量遞減
優點:減少了產生碎片的可能性;查找效率高(已經遞減排序)
缺點:分割后空閑塊仍然較大,空閑區遞減排序,工作一段時間后,難以滿足大作業的需要。
16、一個分段存儲管理系統中,地址長度為 32 位,其中段號占 8 位,則最大段長是 ( C)。
A、28 B B、216B C、224B D、232B
地址結構:
分頁:頁號、位偏移量
分段:段號、段內地址
17、抖動是指( B )。
A、使用機器時,造成屏幕閃爍的現象
B、剛被調出的頁面又立即被裝入所形成的頻繁裝入\調出的現象
C、系統盤有問題,造成系統不穩定的現象
D、由於主存分配不當,偶然造成主存不夠的現象
18、虛擬存儲管理系統的基礎是程序的( C )理論。
A、動態性 B、全局性
C、局部性 D、虛擬性
程序在執行時呈現出局部性規律,即在一段較短的時間內,程序的執行僅僅局限於某個部分,相應的,它所訪問的存儲空間也僅僅局限於某個部分。
19、在段式存儲管理中,(C)。
A、段間絕對地址一定不連續
B、段間邏輯地址必定連續
C、以段為單位分配,每段分配一個連續主存區
D、每段是等長的
20、虛擬存儲技術不能以( A )為基礎。
A、分區存儲管理 B、段式存儲管理 C、頁式存儲管理 D、段頁式存儲管理
進程的大小仍然受分區大小或內存可用空間的限制,不能實現虛擬存儲。
21、在動態分區存儲管理中的拼接技術可以(A)。
A、集中空閑區 B、增加主存容量
C、縮短訪問周期 D、加速地址轉換
22、在分頁系統環境下,程序員編制的程序,其地址空間是連續的,分頁是由(D )完成的。
A、程序員 B、編譯地址 C、用戶 D、系統
23、下列關於虛擬存儲器的敘述中,正確的是( B )。
A.虛擬存儲只能基於連續分配技術 B.虛擬存儲只能基於非連續分配技術
C.虛擬存儲容量只受外存容量的限制 D.虛擬存儲容量只受內存容量的限制
其邏輯容量受到內存容量加外存容量之和所決定。
24、請求分頁系統中的頁表項中,訪問位供( D)時參考。
A、分配頁面 B、調入頁面 C、程序訪問 D、選擇換出頁面
請求分頁系統在頁表中增加了四個字段:
狀態位:是否被調入內存
訪問位:被訪問的次數
修改位:是否被修改,未被修改的話不需要將該頁寫回外存。
外存地址:通常是物理塊號
25、請求分頁系統中的頁表項中,外存地址供(B)時參考。
A、分配頁面 B、調入頁面 C、程序訪問 D、換出頁面
外存地址能夠獲得物理塊號,而程序在外存中,供調入該頁時使用。
26、在段頁式存儲管理系統中,內存等分成( A ),程序按邏輯模塊划分成若干( D )。
A、塊 B、分區 C、段長 D、段
27、下述(A)頁面淘汰算法會產生Belady現象。
A、先進先出 B、最近最少使用 C、最近最久未使用 D、最佳
28、考慮一個分頁系統,其頁表存放在內存。
(1)如果內存讀寫周期為1.0微秒,則CPU從內存取一條指令或一個操作數需時間為( )微秒。
(2)如果設立一個可存放8個頁表項的快表,80%的地址變換可通過快表完成,內存平均存取時間為( )微秒。(假設快表訪問時間可忽略)
A、 1.0 B、 1.1 C、 1.2 D、 2.0
二、計算題
1、在一分頁存儲管理系統中,某作業的邏輯地址空間為4頁(頁面大小為2048字節),且第0、1、2、3頁依次存放在物理塊2、4、6、7中,現有邏輯地址為4865和10020,將它們轉換成物理地址。
分頁存儲管理的地址變換:
當進程要訪問某個邏輯地址的數據時,分頁地址變換機構會自動地將有效地址分為頁號和頁內地址兩部分,將頁號與頁表長度比較,如果頁號大於或等於頁表長度則產生越界中斷,如未越界,由頁號可以得到塊號,從而得到物理地址。
2、現有一個作業,在段式存儲管理的系統中已為主存分配建立了如下表示的段表。
段號 |
段長 |
主存起始地址 |
0 |
680 |
1760 |
1 |
160 |
1000 |
2 |
200 |
1560 |
3 |
890 |
2800 |
計算該作業訪問[0,550],[2,186],[1,300]和[3,655](方括號中第一個元素為段號,第二個元素為段內地址)時的絕對地址。
(1)將段號與段表長度比較,若段號大於段表長度產生越界中斷。
(2)若未越界,獲得該段的起始地之后,再檢查段內地址是否超過了段長,若超過同樣產生越界中斷。
(3)若未越界,將該段的起始地址與段內地址相加,產生物理地址。
3、在頁式虛擬存儲管理的計算機系統中,運行一個共有8頁的作業,且作業在主存中分配到4塊主存空間,作業執行時訪問頁面順序為7,0,1,2,3,0,4,3,2,3,6,7,3,1,5,7,6,2,6,7。請問用FIFO和LRU調度算法時,它們的缺頁中斷率分別是多少?
虛擬存儲器的置換算法:
(1)最佳置換算法:
所選擇的被淘汰的頁面是以后永遠不會被訪問的頁面,或者是最長時間內不會被訪問的頁面,采用此算法可以獲得最低的缺頁率,但是由於頁面的訪問不能預知,因而該算法是不能實現的。
(2)先進先出(FIFO)頁面置換算法:
總是淘汰最先進入內存的頁面。
(3)最近最久未使用(LRU):
淘汰自上次被訪問以來所經歷時間最長的頁面。
(4)最少使用置換算法(LFU)
(5)Clock置換算法:
將未使用過的頁面換出去,循環掃描。
改進型的Clock置換算法:
不僅考慮到了頁面的訪問情況,而且考慮了頁面置換的代價。
一類:沒有被訪問,沒有被修改,最佳淘汰頁。
二類:沒有被訪問,但是被修改。
三類:已經被訪問,沒有修改。
四類:被訪問,被修改。
4、某操作系統采用可變分區分配存儲管理方法,用戶區為512K且始址為0,且初始時用戶區的512K空間空閑,用戶請求下列操作:
Req(300K), req(100K), release(300K), req(150K), req(30K), req(40K), req(60K), release(30K)
回答下列問題:
(1) 采用首次適應算法,空閑分區中有哪些空閑塊(給出圖示,並給出始址、大小)?
(2) 采用最佳適應算法,空閑分區中有哪些空閑塊(給出圖示,並給出始址、大小)?