操作系統:精髓與設計原理 中文第七版 閱讀筆記 第八章

  1. 基本的概念屬於,機器描述,很重要
    1. 虛擬內存的尋址空間取決於計算機系統的尋址機制,如64位系統的尋址空間應爲2的64次方,而這個64的限制也不是來自於內存這種東西,64這種限制應該是計算機系統中總線的位數限制了尋址空間的長度,如果不考慮總線對於尋址位數的限制,那麼虛擬內存的存在遠遠可能超過機器位數的限制,這就是通常爲什麼我們的應用程序的大小往往比我們的機器設備的物理內存大很多的原因之一,當然只是之一。如果按照古老的尋址方式,那麼最大的程序大小應小於物理內存的大小

    2. 虛擬地址,其實就是應用程序的尋址所使用的地址,這個地址通過操作系統之後被轉化爲對應的實地址。虛擬地址空間和地址空間二者區別,虛擬地址空間遠大於地址空間,地址空間可能是某個進程佔用的幾個分頁或者分段,而虛擬地址空間是存在於邏輯上面的地址空間,可能是2的64次方這種,但是最終在內存中可能也就是幾塊分頁這種。

    3. 虛擬地址,虛擬內存,虛擬地址空間更多是邏輯上的概念,如64位機器的尋址空間爲2的64次方,這其實就是虛擬地址的尋址空間的最大值,而地址空間可能只有幾個G這種

    4. 假設沒有虛擬內存這種機制,那麼一個應用程序可能就要跑崩一臺機器。

  2. 硬件和控制結構
    1. 分段和分頁的特點
      1.  

    2. 原理,程序執行的局部性原理
    3. 分頁和分段表示如下
      1. 兩級分頁系統中地址轉換

        爲什麼要分兩級,假設不分兩級分頁的話,我們看到虛擬地址中頁號應該爲20位,頁表項需要達到2的20次方,這就是爲什麼要分兩級也表的原因吧,第二級也表甚至可以分成多個小頁表根據相應的需求。

      2. TLB的應用,增加一層尋址緩衝,應用原理,程序的局部性原理

      3. 分段分頁,段頁式

        1. 分段和分頁的區別,是否對程序員課件,對程序員可見的東西總能玩出花樣,能夠用於共享扥過期他

        2. 段頁式

        3. 分段系統

          1.  

  3. 操作系統軟件
    1. 內存管理設計基於三個基本方面的選擇
      1. 是否使用虛存技術
      2. 是否使用分頁還是分段,或是二者組合
      3. 爲各種存儲管理特徵採用的算法
    2. 讀取策略
      1. 請求分頁
      2. 預先分頁
    3. 放置策略
      1. 最佳適配
      2. 首次適配等
    4. 置換策略(發生的場景是-----當內存中的所有的頁框都被佔用的時候纔會發生)
      1. OPT(理想算法,性能最爲優越,然而不可能實現,除非預知未來)
      2. 最近最少使用(需要保存分頁的歷史,實現困難,如果需要比較某個分頁是否值得換出,代價開銷很大)
      3. 先進先出(性能很差)
      4. 時鐘(從理論上講,時鐘算法具有一定的偶然性,被選換出的分頁有可能不是最佳的分頁,但是卻是類似於貪心算法的結果一樣,我選出的可能不是最佳的,但肯定是足夠好的)
        1. 簡單時鐘策略,使用位被trigger,二次經過會被換出,選爲空閒頁
          1.  

        2. 時鐘頁面置換算法
          1. 從圖示結果看:和簡單時鐘算法相比較,選擇的置換頁更加合理而已

        3. 駐流集管理

          1. 駐留集大小

            1. 固定分配

            2. 可變分配

              1. 缺頁率較高,分配更多的頁框(局部性不好)

              2. 缺頁率較低,減少頁框(局部性好)

          2. 置換範圍,全局置換,局部置換

            1. 可變分配,全局範圍(被許多操作系統所採用)

            2. 固定分配,局部範圍

            3. 可變分配,局部範圍

      5. 清除策略

        1. 請求式清除

        2. 預約式清除

      6. 加載控制

        1. 防止頻繁缺頁中斷,系統抖動

        2. 防止大量進程駐留在內存中

        3. 選擇一些進程掛起

          1. 最低優先級進程

          2. 缺頁中斷進程

          3. 最後一個被激活的進程

          4. 駐留集最小的進程

          5. 最大空間進程

          6. 具有最大剩餘執行窗口的進程

  4. unix和solaris內存管理
    1. 置換策略:雙表時鐘策略
    2. 內存分配策略,懶惰夥伴系統,分裂和合並
  5. linux內存管理
  6. windows內存管理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章