1. 程式人生 > >作業系統儲存管理之分段式與段頁式虛擬儲存系統

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

分段式虛擬儲存系統

分段式虛擬儲存系統把作業的所有分段的副本都存放在輔助儲存器中,當作業被排程投入執行時,首先把當前需要的一段或幾段裝入主存,在執行過程中訪問到不在主存的段時再把它們裝入。因此,在段表中必須說明哪些段已在主存,存放在什麼位置,段長是多少。哪些段不在主存,它們的副本在輔助儲存器的位置。還可設定該是否被修改過,是否能移動,是否可擴充,能否共享等標誌。格式如下圖所示:
這裡寫圖片描述
其中,
* 特徵位: 00(不在記憶體);01(在記憶體);11(共享段);
* 存取許可權: 00(可執行);01(可讀);11(可寫);
* 擴充位: 0(固定長);1(可擴充);
* 標誌位: 00(未修改);01(已修改);11(不可移動);

在作業執行中訪問某段時,由硬體的地址轉移機構查段表,若該段在主存,則按分段式儲存管理中給出的辦法進行地址轉換得到絕對地址。若該段不在主存中,則硬體發出一個缺段中斷。作業系統處理這個中斷時,查詢主存分配表,找出一個足夠大的連續區域容納該分段。如果找不到足夠大的連續區域則檢查空閒區的總和,若空閒區總和能滿足該分段要求,那麼進行適當移動後,將該分裝入主存。若空閒區總和不能滿足要求,則可調出一個或幾個分段在輔助儲存器上,再將該分段裝入主存。
具體處理流程如下圖所示:
這裡寫圖片描述

段頁式虛擬儲存管理

段式儲存是基於使用者程式結構的儲存管理技術,有利於模組化程式設計,便於段的擴充、動態連結 、共享和保護,但往往會生成段內碎片浪費儲存空間;頁式儲存是基於系統儲存器結構的儲存管理技術,儲存利用率高,便於系統管理,但不易實現儲存共享、保護和動態擴充。如果把兩者優點結合起來,在分頁式儲存管理的基礎上實現分段式儲存管理這就是段頁式儲存管理

基本原理

  1. 虛地址以程式的邏輯結構劃分成段,這是段頁式儲存管理的段式特徵。
  2. 實地址劃分成位置固定、大小相等的頁框(塊) ,這是段頁式儲存管理的頁式特徵
  3. 將每一段的線性地址空間劃分成與頁框大小相等的頁面,於是形成了段頁式儲存管理的特徵
  4. 邏輯地址形式為:段號(s)+段內頁號(p)+頁內位移(d)
    對於使用者來說,段式虛擬地址應該由段號s和段內位移 d’組成,作業系統內部再自動把d’解釋成兩部分:

    1. 段內頁號 p
    2. 頁內位移 d
      也就是說,d’=p×塊長+d
  5. 資料結構
    段頁式儲存管理的資料結構更為複雜,包括作業表、段表和頁表三級結構。作業表中登記了進入系統中的所有作業及該作業段表的起始地址,段表中至少包含這個段是否在記憶體,以及該段頁表的起始地址,頁表中包含了該頁是否在主存(中斷位)、對應主存塊號。

  6. 動態地址轉換
    段頁式儲存管理的動態地址轉換機構由、段表、頁表和快表構成。當前執行作業的段表起始地址已被作業系統置入段表控制暫存器,其動態地址轉換過程如下:從邏輯地址出發,先以段號 s 和頁號p作索引去查快表,如果找到,那麼立即獲得頁 p 的頁框號 p’,並與位移 d 一起拼裝得到訪問主存的實地址,從而完成了地址轉換。若查快表失敗,就要通過段表和頁表來作地址轉換了,用段號s作索引,找到相應表目,由此得到 s 段的頁表的起始地址 s’,再以 p 作索引得到s段p頁對應的表目,由此得到頁框號 p’;這時一方面把s段p頁和頁框號p’置換進快表,另一方面用p’和d生成主存的實地址,從而完成地址轉換。
    具體示意圖如下所示:
    這裡寫圖片描述

相關推薦

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

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

儲存管理段式儲存

首先看一下“基本的儲存分配方式”種類:        1.  離散分配方式的出現 由於連續分配方式會形成許多記憶體碎片,雖可通過“緊湊”功能將碎片合併,但會付出很大開銷。於是出現離散分配方式

分段,儲存管理

一.  分頁儲存管理 1.基本思想 使用者程式的地址空間被劃分成若干固定大小的區域,稱為“頁”,相應地,記憶體空間分成若干個物理塊,頁和塊的大小相等。可將使用者程式的任一頁放在記憶體的任一塊中,實現了離散分配。 1)      等分記憶體 頁式儲存管理將記憶體空間

儲存管理段式儲存 以及 優缺點

記憶體管理方式主要分為:頁式管理、段式管理和段頁式管理。 頁式管理的基本原理是將各程序的虛擬空間劃分為若干個長度相等的頁。把記憶體空間按頁的大小劃分為片或者頁面,然後把頁式虛擬地址與記憶體地址建立一一對應的頁表,並用相應的硬體地址轉換機構來解決離散地址變換問題。頁式管理採用

儲存管理儲存管理方式C語言模擬(實驗五)

       分頁儲存管理方式,將程式劃分為若干個大小固定的區域(頁),也把實體記憶體劃分為大小和頁相等的塊,通過頁表完成頁到塊的對映。 分頁儲存管理之C語言模擬: #include <stdio.h> #include <string.h> #i

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

1. 記憶體管理方法         記憶體管理主要包括虛地址、地址變換、記憶體分配和回收、記憶體擴充、記憶體共享和保護等功能。  2. 連續分配儲存管理方式 連續分配是指為一個使用者程式分配連續的記憶體空間。連續分配有單一連續儲存管理和分割槽式儲管理兩種方式。 2

虛擬儲存管理

頁式儲存的基本原理 將程式的邏輯地址空間劃分為固定大小的頁(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; /*表示該頁

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

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

求職筆記-作業系統-段式儲存管理儲存管理的區別?

分頁式儲存管理 使用者程式的邏輯地址空間被劃分為若干個固定大小的地址空間,稱為“頁”,記憶體實體地址空間也分成相對應的若干個物理塊,頁和塊的大小相等,可將使用者程式的任一頁放在任一塊中,實現離散分配 。有效提高記憶體利用率。 分段式儲存管理 將使用者程

操作系統筆記(十)內存管理,分段和

分段式內存管理 筆記 關系 代碼 保護 系統 長度 段頁式內存管理 bit 基本內存管理: 進程占用空間必須連續,導致外部碎片以及附加的compaction 整個進程的swap in 和 swap out十分耗時。 解決:分頁 ->內存空間不必連續,無外部碎片,

作業系統儲存管理儲存管理深入淺出

用分割槽方式管理的儲存器,每道程式總是要求佔用主存的一個或幾個連續儲存區域,作業或程序的大小仍受到分割槽大小或記憶體可用空間的限制,因此,有時為了接納一個新的作業而往往要移動已在主存的資訊。這不僅不方便,而且開銷不小。採用分頁儲存器既可免去移動資訊的工作,又可儘

作業系統儲存管理分段儲存

需求 從固定分割槽到動態分割槽,從分割槽方式到分頁方式發展提高了主存空間利用率。 而分段儲存管理的引入,則滿足使用者(程式設計師)程式設計和使用上的要求,這些要求其它各種儲存管理技術難以滿足。 需求解析: 在分頁儲存管理中,經連結編輯處理得到了一維

、分段和儲存管理方式

1.分頁管理   分頁儲存管理是將一個程序的邏輯地址空間分成若干個大小相等的片,稱為頁面或頁,併為各頁加以編號,從0開始,如第0頁、第1頁等。相應地,也把記憶體空間分成與頁面相同大小的若干個儲存塊,稱為(物理)塊或頁框(frame),也同樣為它們加以編號,如0

作業系統記憶體管理分段)

分段分段本是由於8086是16位匯流排,為定址20位記憶體地址而增加的。在32位作業系統中,分段依然有用。1)段描述符:描述該段的安全屬性,為一個64位長的值。在實地址模式中,只需要使用段暫存器(CS,DS,SS和ES)就可以了,每個段暫存器都是16位的,對應於地址匯流排中的

作業系統-1-儲存管理LFU頁面置換演算法(leetcode460)

LFU快取 題目:請你為 最不經常使用(LFU)快取演算法設計並實現資料結構。它應該支援以下操作:get 和 put。    get(key) - 如果鍵存在於快取中,則獲取鍵的值(總是正數),否則返回 -1。    put(key, value) - 如果鍵不存在,請

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

分頁式儲存管理 概念:為了避免分割槽式管理產生儲存碎片和管理複雜的問題,分頁式管理把作業的邏輯地址劃分成若干個相等的區域(稱為頁),記憶體空間也劃分成若干個與頁長度相等的區域(也稱為頁幀或塊),然後把頁裝載到頁幀中 特點 頁幀可以是連續的,也可以是不連續的

儲存管理方式

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

μC/OS-Ⅲ作業系統中斷管理的直接釋出延遲釋出

直接釋出和延遲釋出也是為了解決臨界區程式碼的問題。所以先行解釋一下臨界區程式碼。 臨界區程式碼是指必須連續執行的一段程式碼,不能被中斷或者任務來打斷。譬如 //臨界區程式碼開始 ....... switch(globalvalue) case 1://do s