第五章 虛擬儲存器

2021-09-02 20:01:42 字數 4430 閱讀 9746

1.常規儲存器管理方式的特徵

2.區域性性原理:程式在執行時將呈現出區域性性規律,即在一較短的時間內,程式的執行僅侷限於某個部分。

3.虛擬儲存器的基本工作情況

應用程式沒有必要將之全部裝入記憶體,僅須將那些當前要執行的少數頁面或段先裝入記憶體便可執行。如果程式所要訪問的頁(段)尚未調入記憶體(稱為缺頁或缺段),便發出缺頁(段)中斷請求,此時os將利用請求調頁(段)功能將它們調入記憶體。

4.交換技術與虛存使用的調入調出技術有何相同和不同之處?

5.虛擬儲存器的定義

虛擬儲存器。是指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統。其邏輯容量由記憶體容量和外存容量之和所決定,執行速度接近於記憶體速度,每位的成本卻又接近於外存。

6.虛擬儲存器的特徵:

7.虛擬儲存器的實現方法

在虛擬儲存器中,允許將乙個作業多次調入記憶體。如果採用連續分配方式,要求申請乙個足以容納整個作業的記憶體空間,這樣會造成資源的嚴重浪費,且無法再從邏輯上擴大記憶體容量。所以現在一般採取下述方式之一。

分頁請求系統

請求分段系統

1.請求分頁儲存管理方式:

2.請求頁表機制

3.缺頁中斷機構

保護cpu環境

分析中斷原因

轉入缺頁中斷處理程式進行處理

恢復cpu環境

4.缺頁中斷與一般中斷的區別:

5.位址變換機構

6.最小物理塊數

最小物理塊數是指能保證程式正常執行所需的最小物理塊數。

7.記憶體分配策略

記憶體分配策略:固定和可變分配策略;置換策略:全域性置換和區域性置換。故組合出以下三種適用策略。

固定分配區域性置換

固定分配。是指為每個程序分配一組固定數目的物理塊,在程序執行期間不再改變。區域性置換,是指如果程序在執行中發現缺頁,則只能從分配給該程序的n個頁面中選出一頁換出,然後再調入一頁。

可變分配全域性置換(最自由)

可變分配,是指先為每個程序分配一定數目的物理塊,在程序執行期間,可根據情況做適當的增加或減少。全域性置換,是指如果程序在執行中發現缺頁,則將os所保留的空閒物理塊(一般組織為乙個空閒物理塊佇列)取出一塊分配給該程序,或者以所有程序的全部物理塊為標的,選擇一塊換出,然後將所缺之頁調入。

可變分配區域性置換

基於程序的型別或根據程式設計師的要求,為每個程序分配一定數目的物理塊,當某程序發現缺頁時,只允許從該程序在記憶體的頁面中選擇一頁換出,這樣就不會影響其它程序的執行。

8.物理塊分配演算法

平均分配演算法

將系統中所有可供分配的物理塊平均分配給各個程序。e.g.當系統中有100個物理塊,有5個程序在執行時,每個程序可分得20個物理塊。

按比例分配

根據程序的大小按比例分配物理塊。

3.考慮優先權的分配演算法

實際應用中,要照顧重要、急迫的作業盡快完成,為它分配較多的記憶體空間。

所有可用物理塊分兩部分:一部分按比例分配給各程序;另一部分根據各程序優先權,適當地為其增加份額,分配給各程序。

9.何時調入頁面

預調頁策略

以**為基礎,將預計不久後便會被訪問的若干頁面,預先調入記憶體。

請求調頁策略

執行中需要的頁面不在記憶體,便立即提出請求,由os將其調入記憶體。

10.從何處調入頁面

在請求分頁系統中的外存分為:

對換區:連續存放資料,讀寫速度較快

檔案區:離散分配方式,i/o速度相對慢

系統擁有足夠的對換區空間:

程序執行前所有頁面由檔案區拷貝到對換區;

執行需要的頁面全部從對換區調入記憶體,提高調頁速度。

系統缺少足夠的對換區空間:

不會被修改的部分,在檔案區操作(即:直接從檔案區調入,換出時不用寫入檔案,再調入時仍從檔案區調入)

可能被修改的部分,在對換區操作。

unix方式:(隨執行資料逐漸從檔案區轉到對換區)

未執行的頁面從檔案區調入;

曾經執行,但又被換出的頁面放在對換區,下次調入應從對換區調入。

程序請求的共享頁面可能已被其他程序調入,無需再從對換區調入。

11.頁面調入過程

程式執行前需要裝入記憶體:上述策略處理何處調入;

開始執行:先預調入一部分頁面;

執行中:需要的頁面不在記憶體時,

12.缺頁率

訪問頁面成功(即所訪問頁面在記憶體中)的次數為s,訪問頁面失敗(即所訪問頁面不在記憶體中,需要從外存調入)的次數為f,總的頁面訪問次數為a = s + f。

缺頁率:f = f / a

13.影響缺頁率的因素:

頁面大小。頁面較大,缺頁率較低;反之,缺頁率較高。

程序所分配物理塊的數目。所分配的物理塊數目越多,缺頁率越低;反之則越高。

頁面置換演算法。

程式本身的編制方法。

1.最佳(optimal)置換演算法

其所選擇的的被淘汰頁面將是以後永不使用的,或許是在最長(未來)時間內不再被訪問的頁面。

2.先進先出(fifo)頁面置換演算法

該演算法總是淘汰最先進入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面予以淘汰。

缺點:與程序實際執行的規律不相適應,較早調入的頁往往是經常被訪問的頁,頻繁被對換造成執行效能降低。

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

原因:fifo演算法的置換特徵與程序訪問記憶體的動態特徵矛盾,即被置換的頁面並不是程序不會訪問的。

3.最近最久未使用(lru)置換演算法

無法**各頁面將來的使用情況,只能利用「最近的過去」作為「最近的將來」的近視,lru置換演算法是選擇最近最久未使用的頁面予以淘汰。每個頁面乙個訪問字段,用來記錄乙個頁面自上次被訪問以來所經歷的時間t。

4.輪轉(clock)置換演算法

簡單的clock置換演算法(最近未用演算法nru)

每頁設定一位訪問位。當某頁被訪問時,其訪問位被置1.置換演算法在選擇一頁淘汰的時,只需檢查頁的訪問位。如果是0,就選擇該頁換出;若為1,則重新將它置0,暫不換出,給予該頁第二次駐留記憶體的機會,再按照fifo演算法檢查下乙個頁面。當檢查到佇列中的最後乙個頁面時,若其訪問位仍為1,則再返回到隊首去檢查第乙個頁面。

改進型clock置換演算法

訪問位a和修改位m,減少磁碟的i/o操作次數。

①從指標所指示的當前位置開始,掃瞄迴圈佇列,尋找a = 0且m = 0的頁面,所遇到的第乙個頁面作為所選中的淘汰頁。在第一次掃瞄期間不改變訪問位a。

②如果第一步失敗,開始第二輪掃瞄,尋找a = 0且m = 1的頁面,將所遇到的 第乙個這類頁面作為淘汰頁。在第二輪掃瞄期間,將所有掃瞄過的頁面的訪問位都置0。

③如果第二步也失敗,指標返回到開始的位置,將所有的訪問位復0。重複第一步,如果仍失敗,必要時再重複第二步。

5.最少使用(lfu)置換演算法

6.頁面緩衝演算法(pba)

系統將頁面放入兩個鍊錶之一:如果頁面未被修改,就將其歸入到空閒頁面鍊錶的末尾;否則將其歸入到已修改頁面鍊錶。

需要調入新的物理頁面時,將新頁面內容讀入到空閒頁面鍊錶的第一項所指的頁面,然後將第一項刪除(從空閒鍊錶摘下)。

空閒頁面和已修改頁面,仍停留在記憶體中一段時間,如果這些頁面被再次訪問,只需較小開銷,而被訪問的頁面可以返還作為程序的記憶體頁。

當已修改頁面達到一定數目後,再將它們一起調出到外存,然後將它們歸入空閒頁面鍊錶,這樣能大大減少i/o操作的次數。

1.產生「抖動」的原因

2.抖動的後果:

3.根部原因:

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

4.缺頁率與物理塊數有關。

5.駐留(常駐)集和工作集

6.系統效率高則資源利用率高,反之不盡然。

e.g.在虛擬頁式儲存管理系統,當頁面置換演算法不合理或分給程序的頁框數過少時,可能發生抖動,此時i/o裝置很忙碌,但系統效率可能很低。

如果能夠預知程式在某段時間間隔內要訪問哪些頁面,並將它們調入記憶體,將會大大降低缺頁率。

7.工作集大小的變換:

8.實現工作集模型的困難是怎樣跟蹤工作集的軌跡。

9.抖動的預防辦法:1.請求段表機制

2.缺頁中斷機構

3.位址變換機構

將所缺段調入記憶體,修改段表,再利用段表進行位址變換。增加缺頁中斷的請求及處理。

4.共享段表

在系統中配置一張共享段表,各共享段都在共享段表中占有一表項,記錄了共享段的段號、段長、記憶體始址、狀態(存在)位、外存始址以及共享計數等資訊。

5.分段保護

第五章虛擬儲存器

1.虛擬儲存器的基本概念 分析常規儲存器管理不足的原因 1 常規儲存器管理方式的特徵 一次性 作業在執行前一次性地全部裝入記憶體 駐留性 作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。一次性及駐留性在程式執行時是否是必須的?no。程式執行有區域性性。程式執行的特點 多數情況下仍是順序執行...

第五章 虛擬儲存器

常規儲存器管理方式的特徵 一次性 作業在執行前一次性地全部裝入記憶體 駐留性 作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。一次性及駐留性在程式執行時是否是必須的?不是。程式執行有區域性性。程式執行的特點 多數情況下仍是順序執行。少部分的轉移和過程呼叫指令會使程式執行由一部分區域轉至另一...

第五章虛擬儲存器

5 1虛擬儲存器概述 虛擬儲存器是指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統。虛擬儲存管理 允許將乙個作業分多次調入記憶體。虛擬的實現建立在離散分配儲存管理基礎上 方式 請求分頁 請求分段系統 細節 分頁 段機構 中斷機構 位址變換機構 軟體支援 虛擬儲存器的特徵 ...