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)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问受权,多用户多进程操做系统。进程

参考资料:内存

相关文章
相关标签/搜索