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

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、匿名檔案:一個區域可以對映到一個匿名檔案,匿名檔案是由核心建立的,包含的全是二進位制零。

- 程式碼除錯中的問題和解決過程

將csapp.c檔案複製到工作目錄下,同時應注意編譯時需要加上引數“-pthread”。

- 上週錯題總結:

  • 錯題一:有關計算機網路,下面說法正確的是()
    A .
    相對主機,網路是一種I/O裝置
    B .
    物理上,網路是一個按照地理遠近組成的層次系統,最低層是WAN
    C .
    乙太網介面卡都有一個32位的全球唯一地址
    D .
    LAN使用網橋可以組成WAN
    E .
    路由器用來由各種LAN,WAN構建網際網路絡

  • 答案:A E

  • 錯題二:客戶端-伺服器模型中客戶端和伺服器都是指()
    A .
    程序
    B .
    程式
    C .
    PC機器,伺服器主機
    D .
    瀏覽器程式和伺服器主機

  • 答案:A