1. 程式人生 > >2018-2019-1 20165329 《信息安全系統設計基礎》第九周學習總結

2018-2019-1 20165329 《信息安全系統設計基礎》第九周學習總結

種類 內存 14. spa flags .com 存儲 單元 mage

2018-2019-1 20165329 《信息安全系統設計基礎》第九周學習總結

教材學習內容總結

  • 物理尋址:CPU訪問內存的最自然的方式就是使用物理地址,這種方式被稱為物理尋址。

  • 計算機系統的主存被組織成一個由M個連續的字節大小的單元組成的數組。每個字節都有一個唯一的物理地址。
  • 技術分享圖片

  • 虛擬尋址:CPU通過生成一個虛擬地址來訪問主存,這個虛擬地址在被送到內存之前先轉換成適當的物理地址。

  • 技術分享圖片

  • 地址翻譯:將一個虛擬地址轉換為物理地址的任務。

  • 地址空間:地址空間是一個非負整數地址的有序集合。

    • 線性地址空間:如果地址空間中的整數是連續的,那麽我們說它是一個線性地址空間。

    • 虛擬地址空間:在一個帶虛擬空間的系統中,CPU從一個有 N=2^n 個地址的地址空間中生成虛擬地址,這個地址空間成為稱為虛擬地址空間。

    • 物理地址空間:對應系統中的物理存儲器的M個字節。

  • 在任意時刻,虛擬頁面的集合都分為三個不相交的子集:

    • 未分配的:VM系統還未分配的頁。
    • 緩存的:當前已緩存在物理內存中的已分配頁。
    • 未緩存的:未緩存在物理內存中的已分配頁。
  • Linux虛擬內存空間:Linux為每個進程維護了一個單獨的虛擬地址空間,形式如圖。
    技術分享圖片

  • 內核虛擬內存包含內核中的代碼和數據結構。內核虛擬存儲內存的某些區域被映射到所有進程共享的物理頁面。內核虛擬內存的其他區域包含每個進程都不相同的數據。

  • Linux將虛擬內存組織成一些區域的集合。一個區域就是已經存在著的虛擬內存的連續片,這些頁是以某種方式相關聯的。

一個具體區域的區域結構包含下面的字段:

vm_start:指向這個區域的起始處。

vm_end:指向這個區域的結束處

vm_prot:描述這個區域內包含的所有頁的讀寫許可權限。

vm_flags:描述這個區域內的頁面是與其他進程共享的,還是這個進程私有的。

vm_next:指向鏈表中下一個區域結構。

  • 內存映射:Linux通過將一個虛擬內存區域與一個磁盤上的對象關聯起來,以初始化這個虛擬內存區域內容的過程。

  • 虛擬內存區域可以映射到兩種類型的對象中的一種:

1、Linux文件系統中的普通文件:一個區域可以映射到一個普通磁盤文件的連續部分;

2、匿名文件:一個區域可以映射到一個匿名文件,匿名文件是由內核創建的,包含的全是二進制零。

2018-2019-1 20165329 《信息安全系統設計基礎》第九周學習總結