LInux的內存管理有其特殊性,簡單作些瞭解html
ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEMlinux
ZONE_DMA,ZONE_NORMALpost
範圍是0~16M,該區域的物理頁面專門供I/O設備的DMA使用。之因此須要單獨管理DMA的物理頁面,是由於DMA使用物理地址訪問內存,不通過MMU,而且須要連續的緩衝區,因此爲了可以提供物理上連續的緩衝區,必須從物理地址空間專門劃分一段區域用於DMA。操作系統
範圍是16M~896M,該區域的物理頁面是內核可以直接使用的。.net
範圍是896M~結束,該區域即爲高端內存,內核不能直接使用。在64bit中取消了該區域htm
Direct Memory Access,直接內存存取; 是全部現代電腦的重要特點,它容許不一樣速度的硬件裝置來溝通,而不須要依賴於 CPU 的大量中斷負載。不然,CPU 須要歷來源把每一片斷的資料複製到暫存器,而後把它們再次寫回到新的地方。在這個時間中,CPU 對於其餘的工做來講就沒法使用。blog
Memory Management Unit的縮寫,中文名是內存管理單元,它是中央處理器(CPU)中用來管理虛擬存儲器、物理存儲器的控制線路,同時也負責虛擬地址映射爲物理地址,以及提供硬件機制的內存訪問受權,多用戶多進程操做系統。進程
參考資料:內存