linux内核地址空间

内核空间是由内核负责映射,它并不会跟着进程改变,是固定的。

高端内存:物理内存896M以上部分称之为高端内存。

内核空间分布:


* 直接内存映射去(Direct Memory Region)
从3G开始,最大896的线性地址区间,我们称作直接内存映射区,这是因为该区域的
线性地址和物理地址之间存在线性转换关系
线性地址=3G+物理地址

* 动态内存映射区(Vmalloc Region)该区域的地址由内核函数vmalloc来进行分配,
其特点是线性空间连续,但对应的物理空间不一定连续。vmalloc分配的线性地址所
对应的物理页可能处于低端内存,也可能处于高端内存。

* 永久内存映射区(PKMap Region)对于896MB以上的高端内存,可使用该区域来访问
,访问方法:
1. 使用alloc_page(__GFP_HIGHMEM)分配高端内存页
2. 使用kmap函数将分配到的高端内存映射到该区域

* 固定映射区(Fixing Mapping Region)
PKMap区上面,有4M的线性空间,被称作固定映射区,它和4G顶端只有4K的隔离带.
固定映射区中每个地址项都服务于特定的用途,如ACPI_BASE等。

转载于:https://www.cnblogs.com/Daniel-G/archive/2012/10/16/2725800.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值