1. 程式人生 > >頁式虛擬儲存管理

頁式虛擬儲存管理

頁式儲存的基本原理

將程式的邏輯地址空間劃分為固定大小的頁(page),而實體記憶體劃分為同樣大小的頁框(pageframe)。程式載入時,可將任意一頁放人記憶體中任意一個頁框,這些頁框不必連續,從而實現了離散分配。也就是把記憶體等分成N份,存放執行的程式時,按分成的快放置即可。但放置時要考慮主存裡哪些塊已經被佔用,這個用主存分配表(位示圖)來表示。

頁表

分頁式儲存器的邏輯地址由兩部分組成:頁號和業內地址頁表和地址轉換

系統為每個程式都建立一張頁表,用於記錄程式的邏輯頁面與記憶體物理頁面之間的對應關係。


多級頁表

二級頁表如下圖所示,一級頁表指出二級頁表的存放地址,二級頁表指出頁的存放地址。

 

地址對映

 

絕對地址=塊號*塊長 + 業內地址

虛擬儲存器

根據程式執行的互斥性和區域性性兩個特點,我們允許作業裝入的時候只裝入一部分,另一部分放在磁碟上,當需要的時候再裝入到主存,這樣以來,在一個小的主存空間就可以執行一個比它大的作業。同時,使用者程式設計的時候也擺脫了一定要編寫小於主存容量的作業的限制。也就是說,使用者的邏輯地址空間可以比主存的絕對地址空間要大。對使用者來說,好象計算機系統具有一個容量很大的主儲存器,稱為“虛擬儲存器”。

頁式虛擬儲存器的實現

把未執行的程式放在輔助儲存器中。

 

排程演算法

<1> 先進先出排程演算法

先進先出排程演算法根據頁面進入記憶體的時間先後選擇淘汰頁面,先進入記憶體的頁面先淘汰,後進入記憶體的後淘汰。本演算法實現時需要將頁面按進入記憶體的時間先後組成一個佇列,每次排程隊首頁面予以淘汰。

 

<2>最近最少排程演算法

先進先出排程演算法沒有考慮頁面的使用情況,大多數情況下效能不佳。根據程式執行的區域性性特點,程式一旦訪問了某些程式碼和資料,則在一段時間內會經常訪問他們,因此最近最少用排程在選擇淘汰頁面時會考慮頁面最近的使用,總是選擇在最近一段時間以來最少使用的頁面予以淘汰。演算法實現時需要為每個頁面設定資料結構記錄頁面自上次訪問以來所經歷的時間。

 

<3>最近最不常用排程演算法

由於程式設計中經常使用迴圈結構,根據程式執行的區域性性特點,可以設想在一段時間內經常被訪問的程式碼和資料在將來也會經常被訪問,顯然這樣的頁面不應該被淘汰。最近最不常用排程演算法總是根據一段時間內頁面的訪問次數來選擇淘汰頁面,每次淘汰訪問次數最少的頁面。演算法實現時需要為每個頁面設定計數器,記錄訪問次數。計數器由硬體或作業系統自動定時清零。

相關推薦

虛擬儲存管理

頁式儲存的基本原理 將程式的邏輯地址空間劃分為固定大小的頁(page),而實體記憶體劃分為同樣大小的頁框(pageframe)。程式載入時,可將任意一頁放人記憶體中任意一個頁框,這些頁框不必連續,從而

作業系統儲存管理之分段式與段虛擬儲存系統

分段式虛擬儲存系統 分段式虛擬儲存系統把作業的所有分段的副本都存放在輔助儲存器中,當作業被排程投入執行時,首先把當前需要的一段或幾段裝入主存,在執行過程中訪問到不在主存的段時再把它們裝入。因此,在段表中必須說明哪些段已在主存,存放在什麼位置,段長是多少。哪些段

作業系統課程設計——虛擬儲存系統設計

語言:C# 工具:VS2017 程式碼: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawi

作業系統 虛擬儲存地址變換

#include "stdio.h" #define n 64 /*模擬實驗中假定的頁表長度,即最多允許程式含有多少頁;假定頁面大小為1K*/ #define length 10 struct { int lnumber;/*頁號*/ int flag; /*表示該頁

主存-輔存結構儲存體系(虛擬儲存器)與Cache-主存結構儲存體系的不同

1.目的不同 主存-輔存是為了增加容量,cache-主存是為了提高速度 2.與cpu訪問方式不同 cpu只能訪問主存不能訪問輔存,cpu能訪問cache和主存 3.對映方式不同 主存-輔存是全相聯對映

易學筆記-系統分析師考試-第3章 作業系統基本原理/3.3 記憶體管理/3.3.4 虛擬儲存管理

虛擬儲存管理 背景:固定式、分頁式、分段式儲存一個共同的特點是要求的儲存空間必須足夠大裝載入作業的全部資訊,但由於作業在執行過程中,作業中所有的記憶體不是一次全部使用的,甚至有些記憶體塊根本就不是使用,這樣就造成了記憶體資源的極度浪費 虛擬儲存工作過程:當作業載入到記憶體時

5.3. 虛擬儲存管理------頁面置換演算法

程序執行過程中,訪問的頁面不在記憶體,調入時記憶體已無空閒空間,需要將記憶體中的一頁程式或資料調到外存。 頁面置換演算法(page replacement algorithms):選擇換出哪些頁面的演算法,其好壞直接影響系統的效能。 應具有較低的缺頁率: &nbs

作業系統之虛擬儲存管理

  虛擬儲存器 邏輯上擴充記憶體 1. 虛擬儲存器的基本概念    所謂“虛擬儲存器”,是指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統。          (1) 虛擬儲存管理下 &nbs

第四章 虛擬儲存管理

常規儲存器管理方式的特徵 一次性:作業在執行前一次性地全部裝入記憶體 駐留性:作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束 程式執行的區域性性: 時間區域性性(temporal locality) - 被引用過一次的儲存器位置很可能在不遠的

作業系統 第五章 虛擬儲存管理--筆記

虛擬儲存器的基本概念 常規儲存器管理方式的特徵 一次性:作業在執行前一次性的全部裝入記憶體 駐留性:作業裝入記憶體後,便會一直駐留在記憶體中,直至作業結束 一次性及駐留性在程式執行時是否是必須的? 答:不是,因為程式執行有區域性性 區域性性原理 在一段較短的時間

作業系統記憶體管理——分割槽、、段式管理

計算儲存的層次結構: 當前技術沒有能夠提供這樣的儲存器,因此大部分的計算機都有一個儲存器層次結構,即少量的非常快速、昂貴、易變的快取記憶體(cache);若干兆位元組的中等速度、中等價格、易變的主

關於可變分割槽儲存管理的一些想法

  在可變式分割槽儲存管理中,某作業完成後要收回其主存空間,該空間可能與相鄰空閒區合併,在修改空閒區表時使空閒區數不變且空閒區起始地址不變的情況   首先我們直觀的假設三個主存空間A1、A2、A3。分

虛擬記憶體-儲存管理演算法

在請求分頁儲存管理系統中,由於使用了虛擬儲存管理技術,使得所有的程序頁面不是一次性地全部調入記憶體,而是部分頁面裝入。 這就有可能出現下面的情況:要訪問的頁面不在記憶體,這時系統產生缺

作業系統:虛擬儲存管理(缺中斷、頁面置換演算法)

1、基本工作原理 1、基本工作原理 在程序開始執行之前,不是全部裝入頁面,而是裝入一個或者零個頁面,之後根據程序執行的需要,動態裝入其他頁面;當記憶體已滿,而又需要裝入 新的頁面時,則根據某種演算法淘

c++ 計算機作業系統虛擬儲存管理系統模擬實現

本系統裸機上模擬硬體開始,進行了對計算機虛擬頁式儲存管理系統的模擬,通過對記憶體、外存、儲存管理部件、缺頁中斷機構等硬體的模擬,以及對程序的PCB,頁表等軟體結構的模擬,以請求分頁的方式,實現了先來先服

作業系統(4)虛擬儲存--覆蓋與交換、區域性性原理、虛擬儲存虛擬段式儲存、缺異常

文章目錄 1. 虛擬儲存的需求背景 2. 覆蓋和交換技術 (過時技術) 3. 區域性性原理(虛擬儲存的可實現前提) 4. 虛擬儲存概念 4. 虛擬頁式儲存 5. 缺頁異常 1. 虛擬儲存的需

儲存管理方式

基本分頁儲存管理方式 (1)頁面與頁表:頁面將一個程序的邏輯地址空間分成若干個大小相等的片,分頁地址中頁號和頁內地址的計算P=INT[A/L],d=[A] MOD L;頁表:系統為每個程序建立了一張頁面映像表簡稱頁表; (2)地址變換機構:實現從邏輯地址到實體地址的轉換  

作業系統 第四章 3 分、分段、段儲存管理 +作業題

一、分頁儲存管理方式 1、(物理)塊:記憶體劃分成多個小單元,每個單元K大小         頁面:作業也按K單位大小劃分成片         物理劃分塊的大小 = 邏輯劃分的頁的大小

實驗(三) 請求儲存管理

#include<bits/stdc++.h> using namespace std; typedef long long LL; #define INF 0x3f3f3f3f #define SIZE 1<<8 //地址流數上限 #define MAXN 32

請求儲存管理中頁面置換演算法的java實現

        儲存管理的主要功能之一是合理地分配空間。請求頁式管理是一種常用的虛擬儲存管理技術。         模擬頁式虛擬儲存管理中硬體的地址轉換和缺頁中斷,並用先進先出排程演算法(FIFO)處理缺頁中斷。 &nb