CSAPP讀書日記 第九章 虛擬記憶體

2021-09-09 02:07:24 字數 999 閱讀 7588

虛擬記憶體是硬體異常、硬體位址翻譯、主存、磁碟檔案和核心軟體的完美互動,它為每個程序提供了乙個大的、一致的和私有的位址空間。

它將主存看成是乙個儲存在磁碟上的位址空間的快取記憶體,在主存中只儲存活動區域,並根據需要在磁碟和主存之間來回傳送資料。

它為每個程序提供了結構一致的位址空間,從而簡化了記憶體管理。

它保護了每個程序的位址空間不被其它程序破壞。

給定這種簡單的結構,cpu訪問記憶體的最自然的方式就是使用實體地址——這種定址方式則被稱為物理定址。

早期的pc使用物理定址方式,而且諸如數字訊號處理器,嵌入式微控制器以及cray超級計算機這樣的系統仍然繼續使用著這種定址方式。

現代處理器使用的是一種稱為虛擬定址的定址方式:

cpu通過生成乙個虛擬位址(va=virtual address)來訪問主存。

這種虛擬位址在被送到記憶體之前先被轉換成適當的實體地址。

將乙個虛擬位址轉換為實體地址的任務叫做位址翻譯。

cpu晶元上的記憶體管理單元(mmo=memory management unit),利用存放在主存中的查詢表來完成上面的任務。

查詢表的內容由作業系統管理。

第九章 讀書筆記

這一章主要講的是硬體抽象層 hal hal hardware abstraction layer,硬體抽象層 是建立在 linux 驅動之上的一套程式庫。這套程式庫並不屬於 linux 核心,而是屬於 linux 核心層之上的應用層。google為 android 加入hal 主要目的如下 1 統一...

第九章 虛擬儲存器

計算機系統的主存被組織成乙個由m個連續的位元組大小的單元組成的陣列。每位元組都有乙個惟一的實體地址 physical address,pa 第乙個位元組位址是0,接下來的位元組位址為1 早期的pc使用物理定址,而且諸如數字訊號處理器,嵌入式微控制器以及cray超級計算機這樣的系統仍然繼續使用這種定址...

第九章 虛擬記憶體

計算機的主存被組織成乙個由m個連續的位元組大小的單元組成的陣列。每個位元組都有乙個唯一的實體地址 pa 第乙個位元組位址為0,接下來為1,再接下來為2,依次類推。cpu訪問記憶體的最自然方式就是使用實體地址。我們把這種方式稱為物理定址。如圖所示。現代處理器使用一種稱為虛擬位址的定址方式。使用虛擬定址...