2018-2019-1 20165329 《信息安全系統設計基礎》第九周學習總結
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 《信息安全系統設計基礎》第九周學習總結