當前位置:首頁 » 存儲配置 » 分頁虛擬存儲管理如何擴大主存

分頁虛擬存儲管理如何擴大主存

發布時間: 2023-01-20 13:32:42

Ⅰ 如何給硬碟設置虛擬內存

1、電腦上面點擊【開始】菜單(或者按鍵盤上面的Windows鍵),在「計算機」上面單機右鍵,選擇「屬性」。

(1)分頁虛擬存儲管理如何擴大主存擴展閱讀

虛擬存儲器地址變換基本上有3種形虛擬存儲器工作過程式:全聯想變換、直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。

替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。常見的替換演算法有4種。

①隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。

②先進先出:先調入主存的頁面先替換。

③近期最少使用演算法(LRU,Least Recently Used):替換最長時間不用的頁面。

④最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標准。

Ⅱ 內存擴充之虛擬存儲技術

傳統存儲管理

特徵

時間局部性:如果執行了程序中的某條指令,那麼不久後這條指令很有可能再次執行;如果某個數據被訪問過,不久之後該數據很可能再次被訪問(因為程序中存在大量循環)
空間局部性:一旦程序訪問了某個存儲單元,在不久之後,其附近的存儲單元很有可能被訪問(因為很多數據在內存中是連續存放的,並且程序的指令也是順序地在內存中存放的

寄存器
高速緩存
內存
外存(如磁碟、磁帶等)

越往上容量越小,訪問速度越快,成本越高
越往下容量越大,訪問速度越慢,成本越低

高速緩存技術的思想:將近期會頻繁訪問到的數據放到更高速的存儲器中,暫時用不到的數據放在更低速存儲器中
快表機構就是將近期常訪問的頁表項副本放到更高速的cache中

基於局部性原理,在程序裝入時,可以將程序中很快就會用到的部分裝入內存,暫時用不到的部分留在外存,就可以讓程序開始執行
在程序執行過程中,當所訪問的信息不在內存時,由操作系統負責將所需信息從外存調入內存,然後繼續執行程序
若內存空間不夠,由操作系統將內存中暫時用不到的信息換出到外存

因此,在操作系統的管理下,在用戶看來似乎有一個比實際內存大得多的內存,這就是虛擬內存
操作系統虛擬性的一個體現,實際的物理內存大小沒有變,只是在邏輯上進行了擴充

虛擬內存的最大容量是由計算機的地址結構(CPU定址范圍)確定的
虛擬內存的實際容量 = min(內存外存容量之和,CPU定址范圍)

虛擬內存有以下三個主要特徵

虛擬內存技術,允許一個作業多次調入內存。如果採用連續分配方式,會不方便實現。因此,虛擬內存的實現需要建立在離散分配的內存管理方式基礎上

傳統的非連續分配存儲管理
基本分頁存儲管理
基本分段存儲管理
基本段頁式存儲管理

虛擬內存的實現
請求分頁存儲管理
請求分段存儲管理
請求段頁式存儲管理

主要區別:在程序執行過程中,當所訪問的信息不在內存時,由操作系統負責將所需信息從外存調入內存,然後繼續執行程序。若內存空間不夠,由操作系統負責將內存中暫時用不到的信息換出到外存
操作系統要提供請求調頁/段功能、頁面/段置換功能

請求分頁存儲管理和基本分頁存儲管理的主要區別

頁表機制
頁表項:內存塊號、狀態位、訪問欄位、修改位、外存地址,頁號時隱含的
內存塊號是頁面在內存中對應的頁框號,如果狀態位為0,則內存塊號為無
狀態位表示是否已被調入內存
訪問欄位記錄最近被訪問過幾次,或者上次訪問時間,由此操作系統能夠提供置換演算法
修改位記錄頁面被調入內存後是否被修改過,如果沒有,就不需要浪費時間寫回外存
外存地址是頁面在外存中的存放位置

缺頁中斷機構
在請求分頁系統中,每當要訪問的頁面不在內存時,便會產生一個缺頁中斷,然後由操作系統的缺頁中斷處理程序處理中斷(內中斷)
此時缺頁的進程阻塞,放入阻塞隊列,調頁完成後再將其喚醒,放回就緒隊列
如果內存中有空閑塊,則為進程分配一個空閑塊,將所缺頁面裝入該塊,並修改頁表中相應的頁表項
如果內存中沒有空閑塊,則由頁面置換演算法選擇一個頁面淘汰,若該頁面在內存期間被修改過,則要將其寫回外存,為修改過的頁面不用寫回外存
一條指令再執行期間可能產生多次缺頁中斷( A to B)

新增的步驟

頁面的換入、換出需要磁碟IO,會有較大的開銷,因此好的頁面置換演算法應該追求更少的缺頁率

缺頁中斷≠頁面置換
發生缺頁中斷會發生調頁,只有內存塊滿了才發生頁面置換

最佳置換演算法OPT:每次淘汰以後永不使用或最長時間內不再被訪問的頁面
理想化的演算法,很難實現

先進先出演算法FIFO:每次淘汰最先進入內存的頁面
實現:把調入內存的頁面根據調入的先後順序排成隊列,頁面置換時換出隊頭頁面,新調入的頁面排到隊尾
優點:實現簡單
缺點1:belady異常,為進程分配的物理塊數增大時,缺頁次數不減反增的異常現象。只有FIFO會產生belady異常。
缺點2:演算法與進程實際運行時的規律不適應,因為先調入的頁面有可能最經常被訪問,因此演算法性能差

最近最久未使用置換演算法LRU:淘汰最近最久未使用的頁面
實現方法:賦予每個頁面對應的頁表項中,用訪問欄位記錄該頁面自上次被訪問以來所經歷的時間t
優點:性能最接近OPT
缺點:實現困難、開銷大

時鍾置換演算法CLOCK/NRU

簡單NRU:為每一個頁表項設置一個訪問位,再將內存中的頁面都通過連接指針連成一個循環隊列,當某頁被訪問時,訪問位為1,只需檢查頁的訪問位。如果為0,就將該頁換出,否則將其改為0,暫不換出,繼續向後掃描,若第一輪掃描都是1,將這也頁面的訪問位改為0後,進行第二輪掃描,第二輪掃描中一定會有訪問位為0的頁面,將其換出。因此最多經過兩輪掃描

改進NRU:如果淘汰的頁面沒有被修改過,就不需要執行IO操作,只有淘汰的頁面被修改過時,才需要寫回外存。因此,同時考慮最近有無訪問和有無修改,在其他條件相同時,優先淘汰沒有修改過的頁面,避免IO操作
第一輪:找到第一個訪問位和修改位都為0的頁面進行替換,如果沒有找到進行下一輪掃描
第二輪:查找第一個訪問位為0,修改位為1的頁面進行替換,本輪將所有被掃描過的訪問位設置為0,如果沒有進行下一輪掃描
第三輪:查找0,0替換否則下一輪
第四輪:查找0,1替換
最多會進行四輪掃描

駐留集:請求分頁管理中給進程分配的物理塊的集合
在採用了虛擬存儲技術的系統中,駐留集大小一般小於進程的總大小
駐留集太小,導致缺頁頻繁,系統要花大量時間處理缺頁,實際用於進程推進的時間很少
駐留集太大,會導致多道程序並發度下降,資源利用率降低

固定分配:操作系統為每個進程分配一組固定數目的物理塊,在進程運行期間不再改變
可變分配:先為每個進程分配一定數目的物理塊,在進程運行期間,可根據情況作適當的增加或減少

局部置換:發生缺頁時只能選進程自己的物理地址塊進行置換
全局置換:可以將操作系統保留的空閑物理塊分配給缺頁進程,也可以將別的進程持有的物理塊置換到外存,再分配給缺頁進程

不存在固定分配全局置換的策略,因為全局置換意味著一個進程擁有的物理塊數量必然改變
其他三種組合存在

固定分配局部置換:系統為每個進程分配一定數量的物理塊,在整個運行期間都不改變。若進程在運行中發生缺頁,並且需要進行頁面置換,則只能從該進程在內存中的頁面中選出一頁換出,然後再調入需要的頁面
缺點:很難在剛開始就確定應為每個進程分配多少個物理地址塊才算合理(採用這種策略的系統可以根據進程大小、優先順序、或是根據程序員給出的參數來確定為一個進程分配的內存塊數

可變分配全局置換:剛開始會為進程分配一定數量的物理塊。操作系統會保持一個空閑物理塊隊列,當某進程發生缺頁時,從空閑物理塊中取出一塊分給該進程;若無空閑物理塊,則選擇一個未鎖定的頁面換出到外存,再將該物理塊分配給缺頁的進程。採用這種策略時,只要某進程發生缺頁,都將獲得新的物理塊,僅當空閑物理塊用完時,系統才選擇一個未鎖定的頁面調出。被選擇調出的頁面可能是系統中任何一個進程的頁面,因此這個被選中的進程擁有的物理塊會減少,缺頁率會增加
只要缺頁就給該進程分配新的物理塊

可變分配局部置換:剛開始會為每個進程分配一定數量的物理塊,當某進程發生缺頁時,只允許從該進程自己的物理塊中選出一個進行頁面置換。如果進程在運行過程中頻繁缺頁,系統會為該進程多分配幾個物理塊,直至該進程缺頁率趨於適當程度;反之,如果缺頁率太低,就是當減少分配給該進程的內存塊數
要根據發生缺頁的頻率來動態增加或減少進程的物理塊

何時調入頁面

從何處調入頁面
對換區:讀寫速度更快,採用連續分配方式
文件區:讀寫速度更慢,採用離散分配方式

抖動/顛簸現象:剛剛換出的頁面馬上要換入內存,剛剛換入的頁面馬上要換出外存,這種頻繁的頁面調度行為稱為抖動/顛簸
主要原因是進程頻繁訪問的頁面數目高於可用的物理塊數(分配給進程的物理塊不夠)

為進程分配物理塊太少會使進程發生抖動現象,為進程分配的物理塊太多會降低系統的並發度降低某些資源的利用率。因此提出了「工作集」的概念
工作集:在某段時間間隔里,進程實際訪問頁面的集合
駐留集:請求分頁存儲管理中給進程分配的內存塊的集合
駐留集不能小於工作集,否則進程運行過程中將頻繁缺頁

熱點內容
php辦公系統 發布:2025-07-19 03:06:35 瀏覽:900
奧德賽買什麼配置出去改裝 發布:2025-07-19 02:53:18 瀏覽:42
請與網路管理員聯系請求訪問許可權 發布:2025-07-19 02:37:34 瀏覽:189
ipad上b站緩存視頻怎麼下載 發布:2025-07-19 02:32:17 瀏覽:844
phpcgi與phpfpm 發布:2025-07-19 02:05:19 瀏覽:527
捷達方向機安全登錄密碼是多少 發布:2025-07-19 00:57:37 瀏覽:694
夜魔迅雷下載ftp 發布:2025-07-19 00:39:29 瀏覽:99
增值稅票安全接入伺服器地址 發布:2025-07-19 00:20:45 瀏覽:486
solidworkspcb伺服器地址 發布:2025-07-18 22:50:35 瀏覽:823
怎麼在堆疊交換機里配置vlan 發布:2025-07-18 22:42:35 瀏覽:630