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