作業系統基礎第四講

蠲忿恚葉言發表於2024-10-08

作業系統第四講 儲存器管理

第一講:記憶體管理概述

1. 記憶體管理的基本概念

  1. 邏輯地址及實體地址

    img

  2. 外部碎片

    記憶體中劃分給程序剩下太小的無法分配的空間

    img

  3. 內部碎片

    程序進入分配的塊,剩下的

    img

2. 記憶體管理的基本功能

img

img

3. 程式的連結與裝入

  1. 程式的執行過程

    img

    img

  2. 絕對裝入

    img

    將程式裝入裝入到指定位置

    僅適用單道程式

  3. 可重定位裝入

    img

    多道程式中不能預知應放到記憶體何處,因此採取可重定位裝入模式,放到記憶體中任何允許位置,根據記憶體情況將目標模組存放;需要根據相對地址更改絕對地址

    目標模組起始地址一般從0開始

  4. 動態執行時裝入方式

    裝入後還能移動位置;把絕對地址轉換推遲到程式真正執行的時候

4. 程式的連結

  1. 靜態連結

    img

    程式執行前就連結好

  2. 裝入時動態連結

    img

    img

  3. 執行時動態連結

    img

考點二:記憶體連續分配管理方式

1. 單一連續分配

img

2. 固定分割槽分配

img

img

3. 動態分割槽分配

img

img

4.動態分割槽分配演算法

img

img

  1. 首次適應演算法FF First Fit

    每次從鏈頭開始,直到找到第一個適合的空閒分割槽

    img

  2. 迴圈首次適應NF Next Fit

    每次從上一次結束地方再尋找

    img

    img

  3. 最佳適應BF Best Fit

    優先使用滿足要求又是滿足要求分割槽中最小的適合分割槽

    即使用內部碎片最小的分割槽

    img

    img

  4. 最壞適應WF Worst Fit

    優先使用最大的分割槽

    img

    img

  5. 對比

    img

    img

5. 記憶體回收

img

考點三:基本分頁儲存管理方式

1. 基本概念

  1. 頁面和(物理塊/頁框)

    img

    程序分成:頁

    記憶體分成:物理塊/頁框

    蘿蔔和坑的關係

    最後一頁可能放不滿頁框,造成頁內碎片

  2. 頁面大小

    img

    頁框大小與完整頁面大小一致

  3. 頁表

    用於記錄程序每一頁再記憶體中對應的物理塊號(即頁框)

    儲存對應關係

    img

    img

  4. 頁表項

    頁表的基本單元,一條對應關係

    由頁號和頁框號組成

2. 地址結構

  1. 結構圖

    img

  2. 頁號和頁內地址計算

    img

  3. 頁面大小

    img

    img

    img

3. 地址變換機構

頁表對應關係的實現方式

img

img

img

要訪問某個邏輯地址中的資料

  • 將有效地址(相對地址)分為頁號和頁內地址
  • 檢索前先判斷越界,將頁號和頁表長度比較
  • 用頁號檢索頁表,找到物理塊對應關係
  • 計算該表項在頁表中位置,將頁表項開始地址與頁號和頁表項長度的乘積相加
  • 得到物理塊號,裝入實體地址暫存器
  • 將有效地址暫存器中頁內地址送入地址暫存器的塊內地址欄位
  • 完成邏輯地址到實體地址的變換

img

4. 快表TLB(Translation Looksaide Buffer)

相當於一個頁表快取,先查快表如果頁號存在直接使用快取的物理塊地址,免去一次查詢整個頁表時間

img

img

5. TLB的實現方式(使用Cache來實現)

  1. 直接相聯對映

    img

    img

  2. 全相聯對映

    img

  3. 組相聯對映

    img

6. 兩級頁表和多級頁表

頁表太長需要將頁表進行分頁,需要建立一張表用於記錄頁表項對應的物理塊地址。

img

img

img

考點四:基本分段記憶體管理方式

1. 分段系統的基本原理

img

img

img

img

img

img

img

相關文章