四.(5)虛擬存儲器

1.虛擬存儲器的定義

所謂“虛擬存儲器”,是指具有請求調入功能和置換功能,能從邏輯上對內存容量加以擴充的一種存儲器系統。

虛擬存儲管理下 :內存邏輯容量由內存容量和外存容量之和所決定; 運行速度接近于內存速度; 每位的成本卻接近于外存。

2.虛擬存儲器的實現

虛擬存儲管理:

允許將一個作業分多次調入內存。

若采用連續分配方式,需申請足夠空間,再分多次裝入,造成內存資源浪費,并不能從邏輯上擴大內存容量。

虛擬的實現建立在離散分配存儲管理基礎上

方式:請求分頁/請求分段系統

細節:分頁/段機構、中斷機構、地址變換機構、軟件支持

3.虛擬存儲器的特征

離散分配方式是基礎

多次性:一個作業被分成多次調入內存運行

對換性:允許在作業的運行過程中進行換進、換出。(進程整體對換不算虛擬)

虛擬性:能夠從邏輯上擴充內存容量,使用戶所看到的內存容量遠大于實際內存容量。

請求分頁存儲管理方式

基本分頁 + “請求調頁”和“頁面置換”功能。

換入和換出基本單位都是長度固定的頁面

1)硬件支持

? ?一臺具有一定容量的內/外存的計算機

+ 頁表機制

+ 缺頁中斷機構

+ 地址轉換機構

②缺頁中斷機構

每當要訪問的頁面不在內存時,便產生一缺頁中斷通知OS,OS則將所缺之頁調入內存。作為中斷,需經歷幾個步驟:

a)“保護CPU環境”

b)“分析中斷原因”

c)“轉入缺頁中斷處理程序”

d)“恢復CPU環境”等。

作為一種特殊中斷,與一般中斷有明顯區別:

(1)在指令執行期間產生和處理中斷信號。

(2)一條指令在執行期間,可能產生多次缺頁中斷。


頁面置換算法

進程運行過程中,訪問的頁面不在內存,調入時內存已無空閑空間,需要將內存中的一頁程序或數據調到外存。

頁面置換算法(page replacement algorithms):選擇換出哪些頁面的算法,其好壞直接影響系統的性能。

應具有較低的缺頁率:

頁面調入次數(缺頁次數)/總的頁面使用次數

1)最佳(Optimal)置換算法

Belay,1966年提出的一種理論上的算法

換出以后永不再用的,或在最長(未來)時間內不再被訪問的頁面。

優點:保證獲得最低的缺頁率

不足:無法實現,因為無法預知一進程將來的運行情況

作用:作為參照標準,評價其他算法

2)先進先出置換算法(FIFO)

先進入的先淘汰,即選擇內存中駐留時間最久的頁面予以淘汰。

優點:實現簡單,把一進程已調入內存的頁面按先后次序組織成一個隊列,并設置一個指針(替換指針),使它總是指向隊首最老的頁面。

不足:與進程實際運行規律不相適應(較早調入的頁往往是經常被訪問的頁,頻繁被對換造成運行性能降低)

Belady現象:出現分配的頁面數增多,缺頁率反而提高的異常現象。

描述:一個進程P要訪問M個頁,OS分配N個內存頁面給進程P;對一個訪問序列S,發生缺頁次數為PE(S,N)。當N增大時,PE(S,N)時而增大,時而減小。

Belady現象的原因:FIFO算法的置換特征與進程訪問內存的動態特征矛盾,即被置換的頁面并不是進程不會訪問的。


4)輪轉算法(clock)又稱最近未使用算法(NRU,Not Recently Used),

LRU(最近最久未使用算法)近似算法折衷FIFO

每個頁設一個使用標志位(use bit),若該頁被訪問則將其置為1。

設置一個指針,從當前指針位置開始按地址先后檢查各頁,尋找use bit=0的頁面作為被置換頁。

若指針經過的頁use bit=1,修改use bit=0(暫不凋出,給被用過的頁面駐留的機會),指針繼續向下。到所有頁面末尾后再返回隊首檢查。


影響缺頁率的主要因素

(1)分配給作業的主存塊數:

? 多則缺頁率低,反之則高。

(2)頁面大小:

? 大則缺頁率低;反之則高。

(3)頁面調度算法:

? 對缺頁中斷率影響很大,但不可能找到一種最佳算法。

(4)程序編制方法:

? 以數組運算為例,如果每一行元素存放在一頁中,則按行處理各元素缺頁中斷率低;反之,按列處理各元素,則缺頁中斷率高。

系統抖動:

為了提高處理機利用率,可增加多道程序并發度;

但進程數目增加過多,每個進程分配得到的物理塊太少,在某個臨界點上,會出現剛被淘汰的頁很快又需重新調入;而調入不久又被淘汰出去;出現頻繁缺頁

大部分處理器時間都用在來回的頁面調度上,這種局面稱為系統抖動或顛簸(thrashing)

抖動的后果:

缺頁率急劇增加

內存有效存取時間加長,

系統吞吐量驟減;系統已基本不能完成什么任務,而是忙于頁面對換操作,cpu雖然忙,但效率急劇下降。

根本原因:

頁面淘汰算法不合理;分配給進程的物理頁面數(駐留集)太少。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容

  • 1. 虛擬存儲器的基本概念 分析常規存儲器管理不足的原因: 1)常規存儲器管理方式的特征 一次性:作業在運行前一...
    Whocare_2f87閱讀 1,112評論 0 0
  • 1. 虛擬存儲器的基本概念 分析常規存儲器管理不足的原因: 1)常規存儲器管理方式的特征 一次性:作業在運行前一...
    盆栽木只閱讀 1,339評論 0 0
  • 1.虛擬存儲器的基本概念 1)常規存儲器管理不足的原因: 常規存儲器管理方式的特征: 一次性:作業在運行前一次性地...
    Pakho柏豪閱讀 585評論 0 0
  • 鰲魚,在中國古神話里對鰲魚記載比較多,雄性鰲魚金鱗葫蘆尾,雌性鰲魚銀鱗芙蓉尾,終日遨游大海嬉戲。 相傳在遠古時代,...
    德碩傳媒閱讀 3,590評論 0 0
  • 寫在開頭:需求是產品的源頭,是一個產品能夠問世的基本夙求,是作為一個產品經理無時無刻不在打交道的存在。那么到底有多...
    SK_H閱讀 983評論 0 1