2018-2019-1 20165206 《資訊安全系統設計基礎》第九周學習總結
- 2018-2019-1 20165206 《資訊安全系統設計基礎》第九周學習總結
- 教材學習內容總結
計算機系統的主存被組織成一個由M個連續的位元組大小的單元組成的陣列。每個位元組都有一個唯一的實體地址。
物理定址:CPU訪問記憶體的最自然的方式就是使用實體地址,這種方式被稱為物理定址。
虛擬定址:CPU通過生成一個虛擬地址來訪問主存,這個虛擬地址在被送到記憶體之前先轉換成適當的實體地址。
地址翻譯:將一個虛擬地址轉換為實體地址的任務。
地址空間:地址空間是一個非負整數地址的有序集合。
線性地址空間:如果地址空間中的整數是連續的,那麼我們說它是一個線性地址空間。
虛擬地址空間:在一個帶虛擬空間的系統中,CPU從一個有 N=2^n 個地址的地址空間中生成虛擬地址,這個地址空間成為稱為虛擬地址空間。
實體地址空間:對應系統中的物理儲存器的M個位元組。
- 在任意時刻,虛擬頁面的集合都分為三個不相交的子集:
未分配的:VM系統還未分配的頁。
快取的:當前已快取在實體記憶體中的已分配頁。
未快取的:未快取在實體記憶體中的已分配頁。
Linux虛擬記憶體空間:Linux為每個程序維護了一個單獨的虛擬地址空間,形式如圖。
核心虛擬記憶體包含核心中的程式碼和資料結構。核心虛擬儲存記憶體的某些區域被對映到所有程序共享的物理頁面。核心虛擬記憶體的其他區域包含每個程序都不相同的資料。
Linux將虛擬記憶體組織成一些區域的集合。一個區域就是已經存在著的虛擬記憶體的連續片,這些頁是以某種方式相關聯的。
一個具體區域的區域結構包含下面的欄位:
vm_start:指向這個區域的起始處。
vm_end:指向這個區域的結束處
vm_prot:描述這個區域內包含的所有頁的讀寫許可許可權。
vm_flags:描述這個區域內的頁面是與其他程序共享的,還是這個程序私有的。
vm_next:指向連結串列中下一個區域結構。
記憶體對映:Linux通過將一個虛擬記憶體區域與一個磁碟上的物件關聯起來,以初始化這個虛擬記憶體區域內容的過程。
虛擬記憶體區域可以對映到兩種型別的物件中的一種:
1、Linux檔案系統中的普通檔案:一個區域可以對映到一個普通磁碟檔案的連續部分;
2、匿名檔案:一個區域可以對映到一個匿名檔案,匿名檔案是由核心建立的,包含的全是二進位制零。
- 程式碼除錯中的問題和解決過程
問題一:在編譯server.c生成可執行檔案時報錯。
問題一解決方案:
參考部落格:第8周課堂測試3(課上未完成)
將csapp.c檔案複製到工作目錄下,同時應注意編譯時需要加上引數“-pthread”。
- 上週錯題總結:
錯題一:有關計算機網路,下面說法正確的是()
A .
相對主機,網路是一種I/O裝置
B .
物理上,網路是一個按照地理遠近組成的層次系統,最低層是WAN
C .
乙太網介面卡都有一個32位的全球唯一地址
D .
LAN使用網橋可以組成WAN
E .
路由器用來由各種LAN,WAN構建網際網路絡答案:A E
錯題二:客戶端-伺服器模型中客戶端和伺服器都是指()
A .
程序
B .
程式
C .
PC機器,伺服器主機
D .
瀏覽器程式和伺服器主機答案:A