基本分段存儲器管理方式練習題
『壹』 微機原理與介面技術試題及答案跟詳細解釋
微型計算機原理與介面技術2006年考試題及答案B
一. 選擇(每題1分)
下列各題四個選擇項中,只有一個選項是正確的。請將正確選項號寫在相應空位置上。
1.系統匯流排又稱為_______,這是指模塊式微處理機機箱內的底版匯流排。
1)主板匯流排 2)內匯流排 3)片內匯流排 4)局部匯流排
2.目前市場上出售的台式PC機中Pentium 4微處理器的主頻一般為
1) 0.5GHz左右 2)1GHz左右 3)3GHz左右 4)5GHz以上
3. .按諾依曼結構理論,下面哪個不是計算機組成部分:
1) 運算器2)控制器3)列印機4)復印機
4.程序設計人員不能直接使用的寄存器是__________
1) 通用寄存器2)指令指針寄存器3)標志寄存器4)段寄存器
5. Pentium微處理器的結構之所以稱為超標量結構,是因為下面哪一種原因?
1)Pentium微處理器不僅能進行32位運算,也能進行64位運算
2)Pentium微處理器內部含有多條指令流水線和多個執行部件
3)數據傳輸速度很快,每個匯流排周期最高能傳送4個64位數據
4)微處理器晶元內部集成的晶體管數超過100萬個,功耗很大
6.在任何時刻,存儲器中會有一個程序是現役的,每一個現役程序最多可以使用___________
① 3個段② 4個段③ 5個段④ 6個段
7.Pentium微處理機配備了5個控制寄存器。其中沒有定義,而供將來使用的是__________
1)CR1 2) CR2 3)CR3 4)CR4
8.Pentium地址匯流排是32位的,它的內部數據匯流排的寬度是:
1)16位 2)32位 3)64位 4)36位
9.Pentium的寄存器可分為浮點寄存器、系統級寄存器等___大類。
1) 2 2) 3 3) 4 4) 5
10.屬於系統級寄存器的是________。
1) 系統地址寄存器和控制寄存器2) 通用寄存器和系統地址寄存器
3) 通用寄存器和控制寄存器4) 系統地址寄存器和段寄存器
11. 下面是關於CPU與 Cache 之間關系的描述,其中正確的一條描述是:
1)Cache中存放的是主存儲器中一部分信息的映像
2)用戶可以直接訪問Cache
3)片內Cache要比二級Cache的容量大得多
4)二級Cache要比片內Cache的速度快得多
12. 在保護方式下,段寄存器內存放的是_________。
1) 段基址 2) 段選擇符 3) 段描述符 4) 段描述符表基址
13. 通常,人們把用符號表示計算機指令的語言稱為——————。
1) 機器語言 2) 匯編語言 3) 模擬語言 4) 模擬語言
14. Pentium系統之所以為超標量計算機是因為採用了___________。
1) 並行流水線結構 2) 數據與指令分離的Cache結構
3) 轉移預測技術 4 ) 提高了時鍾頻率
15.Pentium系統內約定,一個字的寬度是___。
1) 1位元組 2) 2位元組 3) 4位元組 4) 8位元組
16.Pentium用來作為堆棧指針的寄存器是:
1)EIP寄存器 2)EBP 寄存器 3)ESP寄存器 4)EDI寄存器
17.Pentium微處理機可訪問的物理存儲器的范圍是__________。
1) 4GB 2) 64TB 3) 4MB 4) 16GB
18.存儲管理是由分段存儲管理和__________組成。
1)分段部件 2)分頁部件 3)分頁存儲管理 4)虛擬管理
19. Pentium微處理機的分頁存儲管理系統把頁的大小定義成__________。
1) 16KB 2) 4MB 3)4KB 4) 4GB
20.經分段存儲管理部件分段之後生成的線性地址由__________與12位偏移量組成。
1) 段地址寄存器和10位頁目錄索引 2) 段描述符表和10位頁表索引
3) 10位頁目錄索引和10位頁表索引 4) 10位頁表索引和虛擬地址
21.段選擇符(段寄存器)中請求特權級欄位共__________位。
1)1位 2) 2位 3) 3位 4) 4位
22.多段存儲管理方式中,每一個程序都擁有它自己的__________,以及多種屬於它自己的存儲器段。
1) 段描述符 2) 段選擇符 3) 段選擇符和段描述符 4) 段描述符寄存器
23.符合匯編語言變數命名規則的變數名是__________。
1) MOV 2) CX 3)DATA 4)LPT1
24. Pentium微處理機是———微處理機
1)16位。2)32位。3)64位。4)准64位。
25.Pentium 微處理機配置的超標量執行機構允許————以並行方式執行。
1)一條指令 2)兩條指令 3)三條指令 4)四條指令
26.Pentium標志寄存器上各標志位信息反映的是———。
1)寄存器堆棧中每一寄存器中的內容。
2)Pentium微處理機的狀態信息。
3)Cache操作信息。
4)存儲器狀態信息。
27.當前,在Pentium機中,常用來在系統中的各部件之間進行高速數據傳輸操作的系統匯流排是:
1)ISA 2)EISA 3)PCI 4)VESA
28.下面關於微處理器的敘述中,錯誤的是
1)微處理器是用單片超大規模集成電路製成的具有運算和控制功能的處理器
2)一台計算機的CPU可能由1個、2個或多個微處理器組成
3)日常使用的PC機只有一個微處理器,它就是中央處理器
4)目前巨型計算機的CPU也由微處理器組成
29.Pentium機中的寄存器、Cache、主存儲器及輔存儲器,其存取速度從高到低的順序是:
1) 主存儲器, Cache,寄存器,輔存 2)快存,主存儲器,寄存器,輔存
3) 寄存器, Cache,主存儲器,輔存 4)寄存器,主存儲器,Cache,輔存
30.用MB(兆位元組)作為PC機主存容量的計量單位,這里1MB等於多少位元組?
1) 210 2) 220 3) 230 4) 240
31.Pentium 微處理器在保護模式下對存儲器進行訪問時,段寄存器提供的是
1) 段選擇符 2) 段基址
3) 段描述符 4) 偏移地址
32.下面是關於PCI匯流排的敘述,其中錯誤的是
1) PCI支持即插即用功能
2) PCI的地址線與數據線是復用的
3) PCI匯流排是一個16位寬的匯流排
4) PCI是一種獨立於處理器的匯流排標准,可以支持多種處理器
33.Pentium微處理器在實施分頁存儲管理時,其最小頁面的大小是
1) 256B 2) 4KB 3) 1MB 4) 4MB
34.下面關於匯流排的敘述中,錯誤的是
1) 匯流排的位寬指的是匯流排能同時傳送的數據位數
2)匯流排標準是指匯流排傳送信息時應遵守的一些協議與規范
3) Pentium機中的PCI匯流排不支持成組傳送方式
4) 匯流排的寬頻是指每秒鍾匯流排上可傳送的數據量
二.選擇填空(每空1分)
1.Pentium微處理機的段寄存器(也稱段選擇符)是———位的寄存器,用它可選擇
----------------個段的邏輯地址。
(1)32位(2)16位(3)8位(4)64位
(5)16KB(6)64TB(7)4GB (8)3.2GB
2.. Pentium 微處理機實現的是———和———兩級存儲管理。
(1)主存儲器(2)磁碟(3)分段管理(4)Cache
(5)分頁管理(6)二級Cache
3. 在保護方式下,Pentium微處理機可以訪問———位元組虛擬存儲器地址空間和
———————位元組實地址存儲器空間。
(1)256KB(2)512KB(3)1MB(4)512MB(5)1GB
(6)4GB(7)21GB(8)32GB(9) 1TB(10) 32TB
(11) 64TB(12) 16TB 註:GB = 千兆TB = 兆兆
4.Pentium 微處理機段的轉換過程是,由系統給出的地址以及程序給出的地址都是————,它是
由————和————組成。
(1)實地址(2)邏輯地址(3)一個32位的基地址(4)一個16位的
段選擇符(5)一個只能在段內使用的32位的偏移量(6)20位的段的界限
5.Pentium 微處理機共配備有————段寄存器,它們都是————的寄存器,它們的作用是用來——。
(1) 8個(2) 16個(3)6個(4) 32位的(5)16位
(6)從寄存器中選出所需的地址(7)從段描述符表中選出所需的段描述符
(8)從段描述符中選出32位的基地址(9)從段描述符中選出段的界限。
6.Pentium 微處理機浮點部件寄存器堆棧是由————個、————位的寄存器構成。
(1) 16個(2)32個(3)8個(4)3個(5)16位
(6)32位(7)64位(8)80位
7.Pentium 微處理機浮點部件的狀態字寄存器內容反映的是————。
(1)浮點部件的全部狀態和環境(2)浮點部件的數值(3)浮點部件的總
線狀態(4)Pentium 微處理機的狀態和環境
8.匯流排是一種————,是由系統中各部件所共享,在————的控制之下將信息准確地傳
送給————。
(1)公共信號(2)數據通道(3)專用地信號連線(4)主控設備
(5)中斷源(6)從屬設備(7)信號源(8)存儲器
(9)寄存器
三. 填空題:(每空1.分)
1.目前微型計算機的基本工作原理是__________的原理,其基本結構屬於馮·諾依曼結構。
2.Pentium的指令指針寄存器EIP中存放的是____________________。
3.運算器中進行的各種算術運算操作歸結為__________兩種最基本的操作。
4.Pentium微處理機規定了4個寄存器用於控制分段存儲器管理中的數據結構位置。其中GDTR和IDTR稱為___寄存器,LDTR和TR稱為__________寄存器。
5.中斷包括__________INTR和__________NMI。
6. 指出下列指令語句中源操作數是__________;目的操作數是__________。
MOV AX,0CFH
7.假設BX寄存器上的內容為0100H,下列指令執行後AX寄存器的內容分別是什麼?
MOV AX, 1200H;(AX)=________
MOV AX, BX;(AX)=__________
ADD AX, BX;(AX)=__________
8.匯流排操作周期的4個操作階段分別是————,————,——————,————。
四 . 判斷題(對:√;錯:×)(每題1分)
Pentium系統屬於RISC類微處理機。
RISC類的微處理機,為了減少訪問內存的次數而增加寄存器的數目。
Pentium數據寄存器可以存放8、16、32位二進制數據。
Pentium系統的段寄存器為32位寄存器。
Pentium的V流水線和U流水線都可執行任何指令。
對一個段進行訪問,必須將這個段的描述符裝入到段寄存器中。
Pentium段描述符是由8個位元組共64個二進制位組成。
Pentium分段用於程序保護,分頁用於把程序映射到大小固定的虛擬頁上。
Pentium在進行分頁轉換中,頁目錄項的高20位頁框地址是與物理存儲器中的物理頁是相對應的。
線性地址是同一標準的不分段的地址空間內的32位地址。
利用索引欄位可以從擁有210個段描述符的段描述符表中選出任何一個段描述符。
Cache的命中率是指命中Cache的次數與訪問Cache的次數之比。
當程序有高度的順序性時,Cache更為有效。
Pentium處理機是32位微處理機,因此其內部數據匯流排是32位的。
RISC類微處理機採用大量通用寄存器,從根本上提高了CPU的運算速度,尤其適於在多任務處理的環境。
系統地址寄存器只能在保護方式下使用,所以又稱其為保護方式寄存器。
異常是指微處理機檢測到的異常情況,異常又進一步地劃分為故障,自陷和異常終止三種。
運算器是存儲信息的部件,是寄存器的一種。
通常,微處理機的控制部件是由程序計數器、指令寄存器、指令解碼器、時序部件等組成。
Pentium微處理機配備有5個32位的控制寄存器:CR0、CR1、CR2、CR3、CR4。保存著跟任務有關的適合於所有任務的機器狀態。
在Pentium微處理機的指令指針寄存器EIP內存放著下一條要執行的指令
在全局描述符表 GDT(Global Descriptor Table)中存放供所有程序共用的段描述符。
五.簡答題
1.什麼是超標量技術?試說明超標量技術在Pentium上是怎樣實現的?(3分)
2.試簡單說明Pentium將邏輯地址轉換成物理地址的過程。(3分)
3.試簡單說明Pentium浮點部件的流水線操作8個操作步驟及操作過程。(4分)
一.答案:
1.(2)2 .(3)3. (4)4. (3)5. (2)
6.(4)7. (1)8.(3) 9 .3) 10 .1)
11 .(1) 12.2) 13.2) 14.1) 15.2)
16.3) 17 .1) 18. 3) 19.3) 20.3)
21.2) 22.1) 23.4) 24.2) 25.2)
26.2) 27.3) 28.1) 29.3) 30.2)
31 1) 32 3) 33 2) 34 3)
二.答案:
1. 2) ,5) 2.3), 5) 順序可以換
3.11) ,6) 4. 2),4) ,5)
5.3) 5) 7) 6. 3),8)
7. 1) 8.2),4),6)
三.答案
存儲程序控制
當前代碼段內下一條要執行指令的偏移量
相加和移位
全局描述符表和中斷描述符表局部描述符表和任務狀態
可屏蔽、不可屏蔽中斷
AX 0CFH
1200H 0100H 0200H
匯流排請求和仲裁階段 定址階段 數據傳送階段 結束階段
四.答案:
1. 錯2. 對3. 對4. 錯5. 錯
6. 錯7. 對8. 錯9. 錯10對
11錯 12 對 13錯 14錯 15錯
16對 17對 18錯 19對 20錯
21錯 22對
五.答案
1.什麼是超標量技術?試說明超標量技術在Pentium上是怎樣實現的?(3分)
在一個時鍾周期內同時執行一條以上的指令(或在一個時鍾周期內同時執行2條指令)的技術,稱為超標量技術。
在Pentium上,採用了U流水線和V流水線,從而實現了超標量操作運行。
2.試簡單說明Pentium將邏輯地址轉換成物理地址的過程。(3分)
系統或程序給出的地址都是邏輯地址,經由分段部件,將邏輯地址轉換成線性地址,若不分頁,這個線性地址就是物理地址。
若需要分頁,則再由分頁部件,將線性地址轉換成物理地址。
3.試簡單說明Pentium浮點部件的流水線操作8個操作步驟及操作過程。(4分)
Pentium的浮點部件也採用了流水線操作技術,流水線操作由8個操作步驟組成:
預取PF,首次解碼D1,二次解碼D2,存儲器和寄存器的讀操作EX,
首次執行X1,二次執行X2,寫浮點數WF和出錯報告ER。
其中,預取PF和首次解碼D1與整數流水線中的前兩個操作步驟共用,浮點部件的第3
個操作步驟開始激活浮點指令的執行邏輯,然後執行後5個操作步驟。
『貳』 基本分段存儲管理方式的信息共享
分段系統的一個突出優點,是易於實現段的共享,即允許若干個進程共享一個或多個分段,且對段的保護也十分簡單易行。在分頁系統中,雖然也能實現程序和數據的共享,但遠不如分段系統來得方便。我們通過一個例子來說明這個問題。例如,有一個多用戶系統,可同時接納40個用戶,他們都執行一個文本編輯程序(Text Editor)。如果文本編輯程序有160 KB的代碼和另外40 KB的數據區,則總共需有 8 MB的內存空間來支持40個用戶。如果160 KB的代碼是可重入的(Reentrant),則無論是在分頁系統還是在分段系統中,該代碼都能被共享,在內存中只需保留一份文本編輯程序的副本,此時所需的內存空間僅為1760 KB(40×40+160),而不是8000 KB。
假定每個頁面的大小為4 KB,那麼,160 KB的代碼將佔用40個頁面,數據區佔10個頁面。為實現代碼的共享,應在每個進程的頁表中都建立40個頁表項,它們的物理塊號都是21#~60#。在每個進程的頁表中,還須為自己的數據區建立頁表項,它們的物理塊號分別是61#~70#、71#~80#、81#~90#,…,等等。下圖是分頁系統中共享editor的示意。
在分段系統中,實現共享則容易得多,只需在每個進程的段表中為文本編輯程序設置一個段表項。下圖是分段系統中共享editor的示意圖。
可重入代碼(Reentrant Code)又稱為「純代碼」(Pure Code),是一種允許多個進程同時訪問的代碼。為使各個進程所執行的代碼完全相同,絕對不允許可重入代碼在執行中有任何改變。因此,可重入代碼是一種不允許任何進程對它進行修改的代碼。但事實上,大多數代碼在執行時都可能有些改變,例如,用於控製程序執行次數的變數以及指針、信號量及數組等。為此,在每個進程中,都必須配以局部數據區,把在執行中可能改變的部分拷貝到該數據區,這樣,程序在執行時,只需對該數據區(屬於該進程私有)中的內容進行修改,並不去改變共享的代碼,這時的可共享代碼即成為可重入碼。
『叄』 下述存儲管理方式中,會產生外碎片的是________. A. 頁式和段式 B. 頁式和段頁式 C. 動態分區方式和段式
存儲管理方式中,會產生外碎片的是頁式和段頁式 。段頁式系統的基本原理,是基本分段存儲管理方式和基本分頁存儲管理方式原理的結合,即先將用戶程序分成若干個段,再把每個段分成若干個頁,並為每一個段賦予一個段名。
分頁存儲管理將一個進程的邏輯地址空間分成若干個大小相等的片,稱為頁面或頁,並為各頁加以編號,從0開始,如第0頁、第1頁等。相應地,也把內存空間分成與頁面相同大小的若干個存儲塊,稱為(物理)塊或頁框(frame),也同樣為它們加以編號,如0#塊、1#塊等等。
在為進程分配內存時,以塊為單位將進程中的若干個頁分別裝入到多個可以不相鄰接的物理塊中。由於進程的最後一頁經常裝不滿一塊而形成了不可利用的碎片,稱之為「頁內碎片」。
(3)基本分段存儲器管理方式練習題擴展閱讀
在處理器執行程序時需要將其從內存中讀出再進行指令解碼。在指令解碼之前它必須向內存中某個位置取出或者存入某個值。然後執行此指令並指向程序中下一條指令。在此過程中處理器必須頻繁訪問內存,要麼取指取數,要麼存儲數據。
虛擬內存系統中的所有地址都是虛擬地址而不是物理地址。通過操作系統所維護的一系列表格由處理器實現由虛擬地址到物理地址的轉換。
為了使轉換更加簡單,虛擬內存與物理內存都以頁面來組織。不同系統中頁面的大小可以相同,也可以不同,這樣將帶來管理的不便。Alpha AXP處理器上運行的Linux頁面大小為8KB,而Intel X86系統上使用4KB頁面。每個頁面通過一個叫頁面框號的數字來標示(PFN) 。
頁面模式下的虛擬地址由兩部分構成:頁面框號和頁面內偏移值。如果頁面大小為4KB,則虛擬地址的 11:0位表示虛擬地址偏移值,12位以上表示虛擬頁面框號。處理器處理虛擬地址時必須完成地址分離工作。在頁表的幫助下,它將虛擬頁面框號轉換成物理頁面框號,然後訪問物理頁面中相應偏移處。
『肆』 基本分段存儲管理方式的分段存儲管理方式的引入
引入分段存儲管理方式,主要是為了滿足用戶和程序員的下述一系列需要:
1) 方便編程
通常,用戶把自己的作業按照邏輯關系劃分為若干個段,每個段都是從0開始編址,並有自己的名字和長度。因此,希望要訪問的邏輯地址是由段名(段號)和段內偏移量(段內地址)決定的。例如,下述的兩條指令便是使用段名和段內地址:
LOAD 1,[A] |〈D〉;
STORE 1,[B] |〈C〉;
其中,前一條指令的含義是將分段A中D單元內的值讀入寄存器1;後一條指令的含義是將寄存器1的內容存入B分段的C單元中。
2) 信息共享
在實現對程序和數據的共享時,是以信息的邏輯單位為基礎的。比如,共享某個常式和函數。分頁系統中的「頁」只是存放信息的物理單位(塊),並無完整的意義,不便於實現共享;然而段卻是信息的邏輯單位。由此可知,為了實現段的共享,希望存儲管理能與用戶程序分段的組織方式相適應。
3) 信息保護
信息保護同樣是對信息的邏輯單位進行保護,因此,分段管理方式能更有效和方便地實現信息保護功能。
4) 動態增長
在實際應用中,往往有些段,特別是數據段,在使用過程中會不斷地增長,而事先又無法確切地知道數據段會增長到多大。前述的其它幾種存儲管理方式,都難以應付這種動態增長的情況,而分段存儲管理方式卻能較好地解決這一問題。
5) 動態鏈接
動態鏈接是指在作業運行之前,並不把幾個目標程序段鏈接起來。要運行時,先將主程序所對應的目標程序裝入內存並啟動運行,當運行過程中又需要調用某段時,才將該段(目標程序)調入內存並進行鏈接。可見,動態鏈接也要求以段作為管理的單位。
『伍』 計算機操作系統第三版 湯子瀛編著的 第四章的課後題答案能發給我一下嗎
第四章 存儲器管理
1. 為什麼要配置層次式存儲器?
這是因為:
a.設置多個存儲器可以使存儲器兩端的硬體能並行工作。
b.採用多級存儲系統,特別是Cache技術,這是一種減輕存儲器帶寬對系統性能影響的最佳結構方案。
c.在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。
2. 可採用哪幾種方式將程序裝入內存?它們分別適用於何種場合?
將程序裝入內存可採用的方式有:絕對裝入方式、重定位裝入方式、動態運行時裝入方式;絕對裝入方式適用於單道程序環境中,重定位裝入方式和動態運行時裝入方式適用於多道程序環境中。
3. 何為靜態鏈接?何謂裝入時動態鏈接和運行時動態鏈接?
a.靜態鏈接是指在程序運行之前,先將各自目標模塊及它們所需的庫函數,鏈接成一個完整的裝配模塊,以後不再拆開的鏈接方式。
b.裝入時動態鏈接是指將用戶源程序編譯後所得到的一組目標模塊,在裝入內存時,採用邊裝入邊鏈接的一種鏈接方式,即在裝入一個目標模塊時,若發生一個外部模塊調用事件,將引起裝入程序去找相應的外部目標模塊,把它裝入內存中,並修改目標模塊中的相對地址。
c.運行時動態鏈接是將對某些模塊的鏈接推遲到程序執行時才進行鏈接,也就是,在執行過程中,當發現一個被調用模塊尚未裝入內存時,立即由OS去找到該模塊並將之裝入內存,把它鏈接到調用者模塊上。
4. 在進行程序鏈接時,應完成哪些工作?
a.對相對地址進行修改
b.變換外部調用符號
6. 為什麼要引入動態重定位?如何實現?
a.程序在運行過程中經常要在內存中移動位置,為了保證這些被移動了的程序還能正常執行,必須對程序和數據的地址加以修改,即重定位。引入重定位的目的就是為了滿足程序的這種需要。
b.要在不影響指令執行速度的同時實現地址變換,必須有硬體地址變換機構的支持,即須在系統中增設一個重定位寄存器,用它來存放程序在內存中的起始地址。程序在執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。
9. 分區存儲管理中常採用哪些分配策略?比較它們的優缺點。
分區存儲管理中常採用的分配策略有:首次適應演算法、循環首次適應演算法、最佳適應演算法、最壞適應演算法。
a.首次適應演算法的優缺點:保留了高址部分的大空閑區,有利於後到來的大型作業的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區,且每次分區分配查找時都是從低址部分開始,會增加查找時的系統開銷。
b.循環首次適應演算法的優缺點:使內存中的空閑分區分布得更為均勻,減少了查找時的系統開銷;缺乏大的空閑分區,從而導致不能裝入大型作業。
c.最佳適應演算法的優缺點:每次分配給文件的都是最適合該文件大小的分區;內存中留下許多難以利用的小的空閑區。
d.最壞適應演算法的優缺點:給文件分配分區後剩下的的空閑區不至於太小,產生碎片的幾率最小,對中小型文件分配分區操作有利;使存儲器中缺乏大的空閑區,對大型文件的分區分配不利。
10. 在系統中引入對換後可帶來哪些好處?
能將內存中暫時不運行的進程或暫時不用的程序和數據,換到外存上,以騰出足夠的內存空間,把已具備運行條件的進程或進程所需的程序和數據換入內存,從而大大地提高了內存的利用率。
12. 在以進程為單位進行對換時,每次是否將整個進程換出?為什麼?
在以進程為單位進行對換時,並非每次將整個進程換出。這是因為:
a.從結構上講,進程是由程序段、數據段和進程式控制制塊組成的,其中進程式控制制塊總有部分或全部常駐內存,不被換出。
b.程序段和數據段可能正被若干進程共享,此時它們也不能被換出。
13. 為實現分頁存儲管理,需要哪些硬體支持?
需要有頁表機制、地址變換機構的硬體支持。
16. 為什麼說分段系統較之分頁系統更易於實現信息共享和保護?
a.對於分頁系統,每個頁面是分散存儲的,為了實現信息共享和保護,則頁面之間需要一一對應起來,為此需要建立大量的頁表項;
b.而對於分段系統,每個段都從0開始編址,並採用一段連續的地址空間,這樣在實現共享和保護時,只需為所要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應起來即可。
17. 分頁和分段有何區別?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
b.對於它們的不同點有三,第一,從功能上看,頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率,即滿足系統管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的大小固定且由系統確定,而段的長度卻不固定,決定於用戶所編寫的程序;第三分頁的作業地址空間是一維的,而分段的作業地址空間是二維的。
18. 試全面比較連續分配和離散分配方式。
a.連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一連續分配方式和分區式分配方式,前者將內存分為系統區和用戶區,系統區供操作系統使用,用戶區供用戶使用,是最簡單的一種存儲方式,但只能用於單用戶單任務的操作系統中;分區式分配方式分為固定分區和動態分區,固定分區是最簡單的多道程序的存儲管理方式,由於每個分區的大小固定,必然會造成存儲空間的浪費;動態分區是根據進程的實際需要,動態地為之分配連續的內存空間,常用三種分配演算法: 首次適應演算法,該法容易留下許多難以利用的小空閑分區,加大查找開銷;循環首次適應演算法,該演算法能使內存中的空閑分區分布均勻,但會致使缺少大的空閑分區;最佳適應演算法,該演算法也易留下許多難以利用的小空閑區;
b.離散分配方式基於將一個進程直接分散地分配到許多不相鄰的分區中的思想,分為分頁式存儲管理,分段存儲管理和段頁式存儲管理. 分頁式存儲管理旨在提高內存利用率,滿足系統管理的需要,分段式存儲管理則旨在滿足用戶(程序員)的需要,在實現共享和保護方面優於分頁式存儲管理,而段頁式存儲管理則是將兩者結合起來,取長補短,即具有分段系統便於實現,可共享,易於保護,可動態鏈接等優點,又能像分頁系統那樣很好的解決外部碎片的問題,以及為各個分段可離散分配內存等問題,顯然是一種比較有效的存儲管理方式;
c.綜上可見,連續分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用.
19. 虛擬存儲器有哪些特徵?其中最本質的特徵是什麼?
特徵:離散性、多次性、對換性、虛擬性;
最本質的特徵:離散性;最重要的特徵:虛擬性。
20. 實現虛擬存儲器需要哪些硬體支持?
a.對於為實現請求分頁存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有頁表機制,缺頁中斷機構以及地址變換機構;
b.對於為實現請求分段存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有段表機制,缺段中斷機構以及地址變換機構;
21. 實現虛擬存儲器需要哪幾個關鍵技術?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
25. 在請求分頁系統中,通常採用哪種頁面分配方式——物理塊分配策略?
三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換。
26. 在一個請求分頁系統中,採用FIFO頁面置換演算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率,並比較所得結果。
4 3 2 1 4 3 5 4 3 2 1 5
4
4 4 1 1 1 5 5 5
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1
3 3 3 3 4 4 4 4 5
2 2 2 2 3 3 3 3
1 1 1 1 2 2 2
M=3時,採用FIFO頁面置換演算法的缺頁次數為9次,缺頁率為75%;
M=4時,採用FIFO頁面置換演算法的缺頁次數為10次,缺頁率為83%。
由此可見,增加分配給作業的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱為是Belady現象。
28. 試說明改進型Clock置換演算法的基本原理。
基本原理:
在將一個頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁碟上;但如果該頁未被修改過,則不必將它寫回磁碟上。在改進型演算法中,除需考慮頁面的使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,既要是未使用過的頁面,又要是未被修改過的頁面。
15 什麼是抖動? 產生抖動的原因是什麼?
a.抖動(Thrashing)就是指當內存中已無空閑空間而又發生缺頁中斷時,需要從內存中調出一頁程序或數據送磁碟的對換區中,如果演算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的工作,我們稱這種現象為"抖動"。
b.產生抖動的原因是由於CPU的利用率和多道程序度的對立統一矛盾關系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統的調度程序又會為了提高CPU利用率而繼續提高多道程序度,形成惡性循環,我們稱這時的進程是處於"抖動"狀態。
『陸』 基本分段存儲管理方式的分段系統的基本原理
在分段存儲管理方式中,作業的地址空間被劃分為若干個段,每個段定義了一組邏輯信息。例如,有主程序段MAIN、子程序段X、數據段D及棧段S等,如圖4-17所示。每個段都有自己的名字。為了實現簡單起見,通常可用一個段號來代替段名,每個段都從0開始編址,並採用一段連續的地址空間。段的長度由相應的邏輯信息組的長度決定,因而各段長度不等。整個作業的地址空間由於是分成多個段,因而是二維的,亦即,其邏輯地址由段號(段名)和段內地址所組成。
分段地址中的地址具有如下結構:
在該地址結構中,允許一個作業最長有 64 K個段,每個段的最大長度為64 KB。分段方式已得到許多編譯程序的支持,編譯程序能自動地根據源程序的情況而產生若干個段。例如,Pascal編譯程序可以為全局變數、用於存儲相應參數及返回地址的過程調用棧、每個過程或函數的代碼部分、每個過程或函數的局部變數等等,分別建立各自的段。類似地,Fortran編譯程序可以為公共塊(Common block)建立單獨的段,也可以為數組分配一個單獨的段。裝入程序將裝入所有這些段,並為每個段賦予一個段號。 為了實現從進程的邏輯地址到物理地址的變換功能,在系統中設置了段表寄存器,用於存放段表始址和段表長度TL。在進行地址變換時,系統將邏輯地址中的段號與段表長度TL進行比較。若S>TL,表示段號太大,是訪問越界,於是產生越界中斷信號;若未越界,則根據段表的始址和該段的段號,計算出該段對應段表項的位置,從中讀出該段在內存的起始地址,然後,再檢查段內地址d是否超過該段的段長SL。若超過,即d>SL,同樣發出越界中斷信號;若未越界,則將該段的基址d與段內地址相加,即可得到要訪問的內存物理地址。
下圖示出了分段系統的地址變換過程。
像分頁系統一樣,當段表放在內存中時,每要訪問一個數據,都須訪問兩次內存,從而極大地降低了計算機的速率。解決的方法也和分頁系統類似,再增設一個聯想存儲器,用於保存最近常用的段表項。由於一般情況是段比頁大,因而段表項的數目比頁表項的數目少,其所需的聯想存儲器也相對較小,便可以顯著地減少存取數據的時間,比起沒有地址變換的常規存儲器的存取速度來僅慢約10%~15%。
『柒』 採用段式存儲管理的系統中,若地址用24位表示,其中8位表示段號,則允許每段最大長度是
2^16。
採用段式管理的系統中,其邏輯地址分為段號和頁內偏移量。本題的地址一共24位,使用了8位表示段號,那麼把剩下的 16 位全部用來表示段內偏移量就能使每段長度最大從而每段允許的最大長度為 2^16。
產生是與程序的模塊化直接有關的,段式管理是通過段表進行的,包括段號或段名、段起點、裝入位、段的長度等。此外還需要主存佔用區域表、主存可用區域表。
(7)基本分段存儲器管理方式練習題擴展閱讀:
為了進行段式管理,每道程序在系統中都有一個段(映象)表來存放該道程序各段裝入主存的狀況信息。
段表中的每一項(對應表中的每一行)描述該道程序一個段的基本狀況,由若干個欄位提供。段名欄位用於存放段的名稱,段名一般是有其邏輯意義的,也可以轉換成用段號指明。
由於段號從0開始順序編號,正好與段表中的行號對應,如2段必是段表中的第3行,這樣,段表中就可不設段號(名)欄位。
段表中還可以根據需要設置其它的欄位。段表本身也是一個段,一般常駐在主存中,也可以存在輔存中,需要時再調入主存。假設系統在主存中最多可同時有N道程序,可設N個段表基址寄存器。