内核空间和进程空间不一样,他是由内核负责映射,不会跟着进程的改变而改变。
高端内存指的是物理内存在896以上的部分。
内科空间的分布:
直接映射(direct memory region)
从3G开始,最大896M的线性地址区间。为直接内存映射。线性地址=3G+物理地址。
动态内存映射; vmalloc retion: 由函数vmalloc进程分配,特点是线性空间连续,但是对应的物理空间不一定连续。
永久内存映射;对于896M以上的高端内存,应用永久内存映射区来访问。1>alloc_page(_GFP_HIGHMEM)函数分配高端内存页。 2> 使用kmap分配高端内存映射到该区域。
固定映射区: PKMAP上面,有4M的线性空间,被称为固定的映射区。它和4G顶端只有4K的隔离带,如ACI_BASE等