内核地址分配
direct memory region 直接内存映射区
从3G开始,最大896M的线性区间。因为该区域的线性地址和物理地址之间存在线性转换关系
线性地址=3G+物理地址
vmalloc region 动态内存管理区
使用内核函数vmalloc来分配,特点就是线性的连续区域,但对应的物理地址不一定连续。最小120m,Vmalloc对应的线性地址所对应的物理页可以在高端内存,也可以在低端内存。
PKMap region永久内存映射区
对于896MB以上的高端内存,可以使用该区域来访问,该空间只有4m访问方式
1、 alloc——page(_GFP_HIGHMEM)分配高端内存页。
2、 使用kmap函数将分配到的高端内存映射到该区域。
fixing mapping region固定映射内存区
有4m线性空间,它和4g顶端只有4K隔离带。固定映射区中每个地址项都有特定的用途,列如