優秀課件筆記之儲存管理(下)

來源:互聯網
上載者:User

1、本文所以內容來自 著名高校課件和學生筆記(校園裡面經常見到有人高價買筆記)
2、任課教師不會提供參考文獻,所以只能對作者表示感謝,如果引用了您的作品,可以用回複方式補充參考文獻。
3、我不對文章無關問題進行解答,文章內容也比較難,我也很難解答您遇到的問題,如果發現BUG可以用回複方式幫我修正。
4、本課 電腦作業系統
,適用於電腦作業系統課、考研

本課其他部分的導航條見頁面底部

§5.5  段式與段頁式管理
§5.6  局部性原理和抖動問題
本章小結

§
5.5
段式與段頁式管理
5.5.1
段式管理的基本思想
• 分區式管理和頁式管理時的進程地址空間結構都是
線性
的,這要求對來源程式進行編譯、連結時,把來源程式中的主
程式、子程式、資料區等按線性空間的一維地址順序排列
起來。這使得
不同作業或進程之間共用公用子程式和資料
變得非常困難。
如果系統不能把使用者給定的程式名和資料
塊名與這些被共用程式和資料在某個進程中的虛頁對應起
來,則不可能共用這些存放在記憶體頁面中的程式和資料。
另外,
由於在頁式管理時,一個頁面中可能裝有兩個不同
子程式段的指令代碼,因此,通過頁面共用來達到共用一
個邏輯上完整的子程式或資料區塊是不可能的。
• 再者,
分區管理和頁式管理只能採用靜態連結
。從減少
CPU
開銷和儲存空間浪費的角度來看,靜態連結是不合適
的。
102
• 綜上所述,段式儲存管理是基於為使用者提供一個方
便靈活的程式設計環境而提出來的。
段式管理的基
本思想是
:
把程式按內容或過程
(
函數
)
關係分成段,
每段有自己的名字。一個使用者作業或進程所包含的
段對應於一個
二維線性虛擬空間
,也就是一個二維
虛擬儲存空間。段式管理程式以

為單位分配記憶體,
然後通過地址映射機構把段式虛擬位址轉換成實際
的記憶體物理地址。
和頁式管理時一樣,段式管理也
採用只把那些經常訪問的段駐留記憶體,而把那些在
將來一段時間內不被訪問的段放入外存,待需要時
自動調入的方法實現二維虛擬儲存空間。
103
5.5.2
段式管理的實現原理
1.
段式虛存空間
• 段式管理把一個進程的虛地址空間設計成二維結
構,即段號
s
與段內相對位址
w

頁式管理中,被劃
分的頁號按順序編號遞增排列,屬
一維空間
,而段
式管理中的段號與段號之間無循序關聯性。
另外,段
的劃分也不像頁的劃分那樣具有相同的頁長,
段的
長度是不固定的

每個段定義一組邏輯上完整的程
序或資料。
例如,一個進程中的程式和資料可被劃
分為主程式段、子程式段、資料區段與工作區段。
• 每個段是一個首地址為零的、連續的一維線性空間。
根據需要,
段長可動態增長

對段式虛地址空間
的訪問包括兩個部分
:
段名

段內地址

104
例如,
CALL [X]|<Y>
轉向段名為
X
的子程式的進入點
Y

LOAD 1,[A]|6
將段名為
A
的數組中第
6
個元素的值讀到寄存器
1
中。
STORE 1,[B]|<C>
將寄存器
1
的內容存入段名為
B

段中地址為
C
的單元中。
其中的段名
X

A

B
及入口名
Y
等經編譯器和連結程式
編譯連結後轉換成機器內部可以識別的段號和段內單元號。
例如,
CALL

X

|<Y>
可被編譯成
CALL 3|120,
如果[
X

對應的段號為
3

<Y>
對應的段內單元號為
120
的話。
105
2.
段式管理的記憶體配置與釋放
• 段式管理中以段為單位分配記憶體,每段分配一個連續的內
存區。由於各段長度不等,所以這些儲存區的大小不一。
而且,同一進程所包含的各段之間不要求連續。
• 段式管理的記憶體配置與釋放在作業或進程的執行過程中

態進行

首先,
段式管理程式為一個進入記憶體準備執行的
進程或作業分配部分記憶體,以作為該進程的工作區和放置
即將執行的程式段。隨著進程的執行,進程根據需要隨時
申請調入新段和釋放老段。
進程對記憶體區的申請和釋放可
分為兩種情況。
一種是當進程要求調入某一段時,記憶體中
有足夠的空閑區滿足該段的記憶體要求。另一種是記憶體中沒
有足夠的空閑區滿足該段的記憶體要求。
106
• 對於第一種情況,系統要用相應的
表格

資料結構
來管理
記憶體空閑區,以便對使用者進程或作業的有關程式段進行內
存分配和回收。事實上,可以採用和動態分區式管理相同
的空閑區管理方法。即把記憶體各空閑區按物理地址從低到
高排列或按空閑區大小從小到大或從大到小排列。與這幾
種空閑區自由鏈相對應,分區式管理時所用的幾種分配算

:
最先適應法

最佳適應法

最壞適應法
都可用來進行空
閑區分配。當然,
分區式管理時用到的記憶體回收方法也可
以在段式管理中使用

• 另一種記憶體空閑區的分配與回收方法是在記憶體中沒有足夠
的空閑區滿足調入段的記憶體要求時使用的。這時,段式管
理程式根據給定的
置換演算法
淘汰記憶體中在今後一段時間內
不再被
CPU
訪問的段,也就是淘汰那些訪問機率最低的段。
107
• 動態網頁式管理中的幾種常用的淘汰演算法都可以用來作為段
式管理時的淘汰演算法
。例如
FIFO
置換演算法、
LRU
演算法及其
近似演算法等。但是,
與頁式管理時每頁具有相同的長度時
不一樣,需要調入的某段長度可能大於被淘汰的一段程式
或資料的長度。這樣,僅僅淘汰一段可能仍然滿足不了需
要調入段的記憶體要求。此時,就應再淘汰另外的段直到滿
足需調入段的記憶體要求時為止。
• 事實上,
一次調入時所需淘汰的段數與段的大小有關
。如
果一個作業或進程的段數較多,且段長之間的差別較大,
則有可能出現調入某個大段時,需淘汰好幾個小段的情況。
不過,
在段式管理時,任何一個段的段長都不允許超過內
存可用性區域長度,否則將會造成記憶體配置出錯。
108
• 除了初始分配之外,
段的動態分配是在
CPU
所要訪
問的指令和資料不在記憶體時產生缺段中斷的情況下
發生的。
因此,
段的淘汰或置換演算法實際上是缺段
中斷處理過程的一部分

• 缺段中斷處理過程的全過程
5.29
所示。圖
5.29
中,
X
代表所缺段段號。該處理常式是在
CPU
訪問
執行時,地址變換機構發現該段不在記憶體,而由硬
件發出缺段中斷訊號後被調用的。
109

5.29
缺段中斷處理過程
110
3.
段式管理的地址變換
由於段式管理只存放部分使用者資訊副本在記憶體,而大部分
資訊在外存中,這必然引起
CPU
訪內時發生所要訪問的段不
在記憶體的現象。那麼,
CPU
如何感知到所要訪問的段不在內
存而啟動中斷處理常式呢
?
還有,
段式虛擬位址屬於一個二維的虛擬空間

一個二維
空間的虛擬位址怎樣變換為一個一維的線性物理地址呢
?
這些
都由段式地址變換機構解決。
(1)
段表
(segment mapping table)
和頁式管理方案類似,段式管理程式在進行初始記憶體配置
之前,
首先根據使用者要求的記憶體大小為一個作業或進程建立
一個段表

以實現動態地址變換和缺段中斷處理及儲存保護
等。
與頁式管理時一樣,段式管理也是通過
段表
來進行記憶體
管理。考慮了缺段處理和段式存取控制保護後的段表
5.30
所示。
111

5.30
段表
圖中
段號
與使用者指定的段名一一對應,
始址

長度
分別
表示該段在記憶體或外存的物理地址與實際長度。
存取方式

用來對該段進行存取保護的。只有處理機狀態字中的存取控
制位與段表中存取方式一致時才能訪問該段。
內外
欄是指出
該段現在儲存於外存還是記憶體中。如果該欄目指出所訪問段
在外存的話,則發生中斷。而
訪問位
則是根據淘汰演算法的需
要而設的,這裡假定淘汰演算法淘汰那些訪問位未被改變過的

(NUR
演算法
)

訪問位
內外
存取方式
長度
始址
段號
112
(2)
動態地址變換
• 一般在記憶體中給出一塊固定的地區放置段表
。當某
進程開始執行時,管理程式首先把該進程的段表始
址放入段表地址寄存器。通過訪問段表寄存器,管
理程式得到該進程的段表始址從而可開始訪問段表。
然後,由虛地址中的段號
s
為索引,查段表。若該
段在記憶體,則判斷其存取控制方式是否有錯。如果
存取控制方式正確,則從段表相應表目中查出該段
在記憶體的起始地址,並將其和段內相對位址
w

加,從而得到實際記憶體位址。
113
• 如果該段不在記憶體,則產生
缺段中斷

CPU
控制權交給內
存分配程式。記憶體配置程式首先檢查空閑區鏈,以找到足
夠長度的空閑區來裝入所需要的段。如果記憶體中的可用空
閑區總數小於所要求的段長時,則檢查段表中
訪問位
,以
淘汰那些訪問機率低的段並將需要段調入。段式地址變換
過程
5.31
所示。
• 與頁式管理時相同,
段式管理時的地址變換過程也必須經
過二次以上的記憶體訪問

即首先訪問段表以計算得到待訪
問指令或資料的物理地址,然後才是對物理地址進行取數
據或存資料操作。
為了提高訪問速度,頁式地址變換時使
用的
高速聯想寄存器
的方法也可以用在段式地址變換中。
如果在聯想寄存器中找到了所需要的段,則可以大大加快
地址變換速度。
114

5.31
段式地址變換過程
115
4.
段的共用與保護
段式儲存管理可以方便地實現記憶體資訊共用和進行有效地
記憶體保護。這是因為段是按
邏輯意義
來劃分的,可以
按段名
訪問
的緣故。
(1)
段的共用
在多道環境下,常常有許多子程式和應用程式是被多個用
戶所使用的。特別是在多視窗系統、支援工具等廣泛流行的
今天,被共用的程式和資料的個數和體積都在急劇增加,有
時往往超過使用者程式長度的許多倍。這種情況下,如果每個
使用者進程或作業都在記憶體保留它們共用程式和資料的副本,
那就會極大地浪費記憶體空間。最好的辦法是
記憶體中只保留一
個副本,供多個使用者使用,稱為
共用


5.32
給出了一個段
式系統中共用的例子。
圖116
5.32
段式系統中共用記憶體副本
117

5.32
所示那樣,如果使用者進程或作業需要共用內
存中的某段程式或資料,
只要使用者使用相同的段名,就
可在新的段表中填入已存在於記憶體之中的段的起始地
址,共置以適當的讀寫控制權,就可做到共用一個邏輯
上完整的記憶體段資訊。
另外,在多道環境下,由於進程的並發執行
,
一段程
序為多個進程共用時,有可能出現多次同時重複執行該
段程式的情況
(
即某個進程在未執行完該段程式之前,
其他並發進程又已開始執行該段程式
)
。這就要求它

執行過程中,該段程式的指令和資料不能被修改。

有,與一個進程中的其他程式段一樣,
共用段有時也要
被換出記憶體
。這時,就要在段表中設立相應的
共用位

判別該段是否正被某個進程調用。顯然
一個正在被某
個進程使用或即將被某個進程使用的共用段是不應該調
出記憶體的。
118
(2)
段的保護
與頁式管理時相同,段式管理的保護主要有兩種。
一種是
地址越界保護法
,另一種是
存取方式控制保護

。關於存取方式控制保護已在前面介紹,這裡不再
重複。而
地址越界保護則是利用段表中的段長項與虛
擬地址中的段內相對位址比較進行的
。若段內相對地
址大於段長,系統就會產生保護中斷。不過,在允許
段動態增長的系統中,段內相對位址大於段長是允許
的。為此,
段表中設定相應的
增補位
以指示該段是否
允許該段動態增長。
119
5.5.3
段式管理的優缺點
與頁式管理和分區式管理比較,段式管理的長處與短處可分別
小結如下
:
(1)
和動態網頁式管理一樣,段式管理也提供了內外存統一管理的虛
存實現
。與頁式管理不同的是,段式虛存每次交換的是一段有
意義的資訊,而不是像頁式虛存那樣只交換固定大小的頁從而
需要多次缺頁中斷才能把所需資訊完整地調入記憶體。
(2)
在段式管理中,
段長可根據需要動態增長
。這對那些需要不斷
增加或吸收新資料的段來說,將是非常有好處的。
(3)
便於對具有完整邏輯功能的資訊段進行共用

(4)
便於實現動態連結
。由於段式管理是按資訊的邏輯意義來劃分
段,每段對應一個相應的程式模組。因此,可用段名加上段入
口地址等方法在執行過程中調入相應的段進行動態連結。當
然,
段的動態連結需要一定的硬體支援
。例如需要連結寄存器
存放被連結段的出口等。
120
• 段式管理比其他幾種方式要求有更多的硬體支援

這就提高了機器成本。另外,由於在記憶體空閑區管
理方式上與分區式管理相同,在片段問題以及為了
消除片段所進行的合并等問題上較分頁式管理要差。
再者,允許段的動態增長也會給系統管理帶來一定
的難度和開銷。
• 段式管理的另一個缺點就是每個段的長度受記憶體可
用區大小的限制

• 和頁式管理一樣,段式管理系統在選擇淘汰演算法時
也必須十分謹慎,否則也有可能產生
抖動現象

121
5.5.4
段頁式管理的基本思想
• 以上幾種儲存管理方式各有特長。
段式管理為使用者提供了
一個二維的虛地址空間,反映了程式的邏輯結構,有利於
段的動態增長以及共用和記憶體保護等,這大大地方便了用
戶。而分頁系統則有效地克服了片段,提高了儲存空間的利
用率。從儲存管理的目的來講,主要是方便使用者的程式設
計和提高記憶體的利用率。
那麼,
把段式管理和頁式管理結
合起來讓其互相取長補短不是更好嗎
?
於是,段頁式管理方
式便被提了出來。
• 不過,
段頁式管理的開銷會更大
。因此,段頁式管理方式
一般只用在
大型主機系統
中。近年來由於硬體發展很快,段
頁式管理的開銷在工作站等機型上已變得可以容忍了。
122
5.5.5
段頁式管理的實現原理
1.
虛地址的構成
段頁式管理時,一個進程仍然擁有一個自己的

維地址空間
,這與段式管理時相同。首先,
一個進程
中所包含的具有獨立邏輯功能的程式或資料仍被劃分
為段,並有各自的段號
s

這反映和繼承了段式管理
的特徵。其次,
對於段
s
中的程式或資料,則按照一
定的大小將其劃分為不同的頁。
和頁式系統一樣,最

不足一頁的部分仍佔一頁
。這反映了段頁式管理中

頁式特徵
。從而,
段頁式管理時的進程的虛擬位址
空間中的虛擬位址由三部分組成
:

段號
s

頁號
p

頁內相對位址
d

如下所示
:
123
• 對於這個由三部分組成的虛擬位址來說,
程式員可
見的仍是
段號
s

段內相對位址
w

p

d
是由地址
變換機構把
w
的高几位解釋成頁號
p

以及把剩下
的低位解釋為頁內地址
d
而得到的。
• 由於
虛擬空間的最小單位是頁而不是段
,從而記憶體
可用性區域也就被劃分成為若干個大小相等的頁面,且
每段所擁有的程式和資料在記憶體中可以分開存放。
分段的大小也不再受記憶體可用性區域的限制。
124
2.
段表和頁表
• 為了實現段頁式管理,
系統必須為
每個作業或進程
建立一張段表,
管理記憶體配置與釋放、缺段處理、
儲存保護和地址變換等。
另外,
由於一個段又被劃
分成了若干頁,
每個段又必須建立一張頁表
,把段
中的虛頁變換成記憶體中的實際頁面。
顯然,
與頁式
管理時相同,頁表中也要有實現缺頁中斷處理和頁
面保護等功能的表項。
另外,
由於在段頁式管理
中,頁表不再是屬於進程而是屬於某個段,因此,
段表中應有專項指出該段所對應頁表的
頁表始址

頁表長度

段頁式管理中段表、頁表以及記憶體的關

5.33
所示。圖中各表中
其他欄可參考段式或
頁式管理中的相應欄目

125

5.33
段頁式管理中段表、頁表與記憶體的關係
126
3.
動態地址變換過程
• 在一般使用段頁式儲存管理的電腦系統中,都在
記憶體中辟出一塊固定的地區存放進程的段表和頁表。
因此,
在段頁式管理系統中,要對記憶體中指令或數
據進行一次存取的話,至少需要訪問三次以上的內
存。
第一次
是由段表地址寄存器得到段表始址去訪
問段表,由此取出對應段的頁表地址。
第二次
則是
訪問頁表得到所要訪問的物理地址。只有在訪問了
段表和頁表之後,
第三次
才能訪問真正需要訪問的
物理單元。
顯然,這將使
CPU
的執行指令速度大大
降低。
127
• 為了提高地址轉換速度,設定
快速聯想寄存器
就顯得比段
式管理或頁式管理時更加需要。
在快速聯想寄存器中,存
放當前最常用的段號
s

頁號
p
和對應的記憶體頁面與其他控
制用欄目。
當要訪問記憶體空間某一單元時,可在通過段表、
頁表進行記憶體位址尋找的同時,根據快速聯想寄存器尋找
其段號和頁號。
如果所要訪問的段或頁在快速聯想寄存器
中,則系統不再訪問記憶體中的段表、頁表而直接把快速聯
想寄存器中的值與頁內相對位址
d
拼接起來得到物理地址。
經驗表明,一個在快速聯想寄存器中裝有
1/10
左右的段號、
頁號及頁面的段頁式管理系統,可以通過快速聯想寄存器
找到
90%
以上的所要訪問的記憶體位址。
• 段頁式管理的地址變換機構
5.34
所示。
128

5.34
段頁式地址變換
129
• 以上簡單地介紹了段頁式管理中地址變換的基本原理。有
關段頁式管理中的
儲存保護

共用
以及
缺段或缺頁中斷處

等,可參照段式管理或頁式管理中的方法解決。
• 總之,因為
段頁式管理是段式管理的頁式管理方案結合而
成的,所以具有它們二者的優點
。但反過來說,
由於管理
軟體的增加,複雜性和開銷也就隨之增加了。
另外,
需要
的硬體以及佔用的記憶體也有所增加。
更重要的是,
如果不
採用聯想寄存器的方式提高
CPU
的訪內速度,將會使得執
行速度大大下降。
130
§
5.6
局部性原理和抖動問題
• 動態網頁式管理,段式管理以及段頁式管理都提供了一種將
記憶體和外存統一管理的實現方法

然而,由於上述實現方
法實質上要在
記憶體和外存之間交換資訊
,因此,就要不斷
地啟動外部裝置以及相應的處理過程。一般來說,電腦
系統的外部儲存空間具有較大的容量而訪問速度並不高。為
了進行資料的讀寫而涉及到的一系列處理常式也要耗去大
量的時間。
如果記憶體和外存之間資料交換頻繁,勢必會造
成對輸入
/
輸出裝置的巨大壓力和使得機器的主要開銷大多
用在反覆調入調出資料和程式段上,從而無法完成使用者所
要求的工作。
因此,
要求在記憶體中存放一個不小於最低限
度的程式段或資料,而且它們必須是那些正在被調用,或
那些即將被調用的部分。
131
• 由
類比實驗
知道,
在幾乎所有的程式的執行中,在一段時間
內,
CPU
總是集中地訪問程式中的某一個部分而不是隨機地對
程式所有部分具有平均訪問機率。把這種現象稱為
局部性原理


CPU
訪問該局部內的程式和資料的次數相比,該局部段的移
動速率相當慢。這就使得前面所討論的頁式管理、段式管理以
及段頁式管理所實現的虛存系統成為可能。
• 但是,如果不能正確地將那些系統所需要的局部段放入記憶體的
話,則顯然系統的效率會大大降低,甚至無法有效地工作。
• 實驗表明,任何程式在局部性放入時,都有一個臨界值要求。
當記憶體配置小於這個臨界值時,記憶體和外存之間的交換頻率將
會急劇增加,
而記憶體配置大於這個臨界值時,再增加記憶體配置
也不能顯著減少交換次數。
• 這個
記憶體要求的臨界值被稱為
工作集
。圖
5.35
說明這種情況。
132

5.35
記憶體與交換次數的關係
133
• 一個進程執行過程中
缺頁
(missing page)
的發生有
兩種可能。
一種是並發進程所要求的工作集總和大
於記憶體可提供的可用性區域。
這時,
系統將無法正常工
作,因為缺乏足夠的空間裝入所需要的程式和資料。
另一種可能性是,雖然儲存管理程式為每個並發進
程分配了足夠的工作集,但系統無法在開始執行前
選擇適當的程式段和資料進入記憶體。
這種情況下,
只能依靠執行過程中,當
CPU
發現所要訪問的指令
或資料不在記憶體時,由硬體中斷後轉入中斷處理程
序,將所需要的程式段和資料調入。
這是一種很自
然的處理方法。
134
• 當給進程分配的記憶體小於所要求的工作集時,由於記憶體外存之
間交換頻繁,訪問外存時間和輸入
/
輸出處理時間大大增加,反
而造成
CPU
因等待資料空轉,使得整個系統效能大大下降,這
就造成了系統抖動。
• 可以利用
統計模型
進一步分析工作集與抖動之間的關係。
• 設
r

CPU
在記憶體中存取一個記憶體單元的時間,
t
為從外存中讀
出一頁資料所需時間,
p(s)

CPU
訪問記憶體時,所訪問的頁正
好不在記憶體的機率,這裡
s
是當前進程在記憶體中的工作集。
• 顯然,在虛存情況下存取一個記憶體單元的平均時間可描述為
T=
r+p(s
)
*
t
由程式類比可知,
p(s
)=
ae
-bs
這裡,
0<a<1<b

ae
-bs
<<r
135
• 另外,假定記憶體中各並發進程具有相同的統計特性,而且
對於一個並發進程來說,只有發生缺頁時才變成等待狀態。
這是為了簡化討論而忽略了外部裝置和進程通訊功能的存
在。
• 由於訪問外存一個頁面的速度為
t

且缺頁發生的機率為
p(s)

則在處理機訪問一個記憶體單元的
r
時間內,平均每秒
引起的內外存之間頁傳送率為
p(s)/r

也就是每
r/p(s)
秒需要
從外存向記憶體傳送一頁。從而
,對於一個在虛存範圍內執
行的進程,它可以處於三種可能的狀態之中,即
:
(1)t

r/p(s
)
(2)t

r/p(s
)
(3)t=
r/p(s
)
136
• 對於第一種情況,由於頁傳送速度大於訪問外存頁面的速
度,因此,進程在執行過程中發生缺頁的次數較少,並不
經常從外存調頁。
• 但是,在第二種情況時,由於內外存之間的頁面傳送速度
已經小於訪問外存頁面速度,因此,進程在執行過程中發
生缺頁的次數已經多到外存供不應求的地步。事實上,這
時的系統已處於抖動狀態。
• 第三種情況是一種較理想的情況,即進程在執行過程中所
需要的頁數正好等於從外存可以調入的頁數。此時該進程
在記憶體中佔有最佳工作集。
• 根據以上討論可知,一個進程在記憶體中佔有最佳工作集的
條件是
: p(w)=r/t
• 這裡,
r

CPU
訪問記憶體單元所需平均時間,
t
是訪問外存一
個頁面所需平均時間。
137
• 因為
p(w)
可表示為
p(w)=
ae
-bw
• 從而有,
w=
ln(at/r)/b
rabnt(
• 即,
與記憶體存取速度
r
相比,若外存傳送速度越
慢,所需工作集就越大。
• 當然,上面討論是在作了許多近似的情況下得出的
結論。事實上,由於各進程所包含的程式段多少,
選用的淘汰演算法等不一樣,工作集的選擇也不一樣。
一般來說,選擇工作集有靜態和動態兩種選擇方
法,這裡不再進一步介紹

• 另外,由以上討論,我們可以找出解決抖動問題的
幾種關鍵辦法。
138
• 抖動只有在
t>r/p(s)
時才會發生。而
p(s)
等於
ae
-bs
是一個與工
作集
s

參數
a

b
有關的機率值。
p(s)
是可以改變的。對於給定
的系統來說,
t

r
則是一個很難改變的數字。顯然,解決抖動問
題的最關鍵辦法是將
p(s)
減少到使
t=r/p(s)

這隻需要
:
(1)
增加
s

也就是
擴大工作集
,或是
(2)
改變參數
a

b

也就是
選擇不同的淘汰演算法以解決抖動問題

• 在物理系統中,為了防止抖動的產生,在進行淘汰或置換時,
一般總是把缺頁進程鎖住,不讓其換出,而調入的頁或段總是
佔據那些暫時得不到執行的進程所佔有的記憶體地區,從而擴大
缺頁進程的工作集。
UNIX System
Ⅴ中就是採用的這種方法。
139




• 本章介紹了各種常用的記憶體管理方法,它們是
分區式管理、
頁式管理、段式管理和段頁式管理。
記憶體管理的核心問題
是如何
解決記憶體和外存的統一,以及它們之間的資料交換
問題。
記憶體和外存的統一管理使得記憶體的利用率得到提
高,使用者程式不再受記憶體可用性區域大小的限制。與此相關
聯,記憶體管理要解決記憶體擴充、記憶體的分配與釋放、虛擬
地址到記憶體物理地址的變換、記憶體保護與共用、內外存之
間資料交換的控制等問題。
• 圖
5.36
系統地對幾種儲存管理方法所提供的功能和所需硬體
支援作了一個比較。   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.