1. 程式人生 > >易學筆記-系統分析師考試-第3章 作業系統基本原理/3.3 記憶體管理/3.3.1 地址變換

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

  • 幾種程式
  1. 源程式:使用者用開發語言編寫的程式
  2. 編譯程式(彙編程式):專門編譯源程式的程式
  3. 目標程式:編譯後的程式
  • 地址
  1. 邏輯地址
    1. 概念:指的是目標程式使用的地址,也稱為相對地址或者虛擬地址
    2. 格式:一般以0為基地址進行編址
  2. 邏輯地址空間
    1. 一個目標程式所有的邏輯地址
    2. 格式:
      1. 一維地址:從0開始依次編碼;
      2. 二維地址,把目標程式分成若干塊,每段有不同的段號,段內地址也是從0開始
  3. 實體地址:目標程式被裝載在記憶體中後對應的地址
  4. 實體地址空間:目標程式所有的實體地址的總和,由儲存器提供,大小取決於目標程式所需的記憶體大小
  5. 地址轉換
    1. 概念:邏輯地址到目標地址的轉換
    2. 公式:實體地址 = 起始的實體地址 + 邏輯地址
    3. 分類
      1. 靜態重定位
        1. 概念:在目標程式裝入記憶體時,由記憶體一次性完成地址轉換,也即是目標程度的邏輯地址加上記憶體分配的起始實體地址
        2. 優點:地址轉換簡單,容易實現
        3. 缺點:
          1. 需要分配一段連續的地址塊,而且在程式執行期間不能移動
          2. 不能程式和資料的共享,記憶體利用率低
      2. 動態重定位
        1. 概念:在CPU訪問程式和資料之前實現地址變換
        2. 原理:藉助硬體地址的轉換機構來實現,通過選擇重定位暫存器實現,具體步驟:
          1. 程式開始執行時,作業系統把程式在記憶體中的起始地址放入重定位暫存器
          2. 每次訪問時,重定位暫存器的地址+當前邏輯地址就可得出實體地址,然後CPU就可以訪問該實體地址
        3. 優點
          1. 程式可以移動,移動後只需要把新的起始地址放入重定位暫存器即可
          2. 容易實現程式共享、可提供虛擬儲存空間