Linux 內存架構

LInux的內存管理有其特殊性,簡單作些瞭解html

32-bit 系統:

ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEMlinux

64-bit 系統:

ZONE_DMA,ZONE_NORMALpost

名詞解釋:


ZONE_DMA

範圍是0~16M,該區域的物理頁面專門供I/O設備的DMA使用。之因此須要單獨管理DMA的物理頁面,是由於DMA使用物理地址訪問內存,不通過MMU,而且須要連續的緩衝區,因此爲了可以提供物理上連續的緩衝區,必須從物理地址空間專門劃分一段區域用於DMA。操作系統

ZONE_NORMAL

範圍是16M~896M,該區域的物理頁面是內核可以直接使用的。.net

ZONE_HIGHMEM

範圍是896M~結束,該區域即爲高端內存,內核不能直接使用。在64bit中取消了該區域htm

DMA

Direct Memory Access,直接內存存取; 是全部現代電腦的重要特點,它容許不一樣速度的硬件裝置來溝通,而不須要依賴於 CPU 的大量中斷負載。不然,CPU 須要歷來源把每一片斷的資料複製到暫存器,而後把它們再次寫回到新的地方。在這個時間中,CPU 對於其餘的工做來講就沒法使用。blog

MMU

Memory Management Unit的縮寫,中文名是內存管理單元,它是中央處理器(CPU)中用來管理虛擬存儲器、物理存儲器的控制線路,同時也負責虛擬地址映射爲物理地址,以及提供硬件機制的內存訪問受權,多用戶多進程操做系統。進程

參考資料:內存

相關文章
相關標籤/搜索