【内存】高端内存映射

    高端内存含义为:线性地址空间 PAGE_OFFSET + 896M至4G的最后128M线性地址  <==映射==> 896M以上的物理页框,非直接映射。有3种方法:非连续内存区映射,永久内核映射,临时内核映射(固定映射)
   从 PAGE_OFFSET开始的线性地址区域为:
   PAGE_OFFSET(3G)|物理内存映射 --8M-- vmallot区 --4K-- vmallot区 --8K-- 永久内核映射--临时内核映射(固定映射)|4G

1. 非连续区映射

1.1 每个非连续内存区都对应一个类型为 vm_struct的描述符,通过next字段,这些描述符被插入到一个vmlist链表中。

1.2 三种非连续区的类型:
   VM_ALLOC   -- 物理内存(调用alloc_page)和线性地址同时申请,物理内存是 __GFP_HIGHMEM类型(分配顺序是HIGH, NORMAL, DMA )
   VM_MAP     -- 仅申请线性区,物理内存另外申请,是VM_ALLOC的简化版
   VM_IOREMAP -- 仅申请线性区,物理内存另外申请(这里的物理内存一般都是高端内存,大于896M的内存)

2. 永久内核映射

2.1 永久内存映射允许建立长期映射。使用主内核页表中swapper_pg_dir的一个专门页表。
    pkmap_page_table: 专门的页表。页表表项数由LAST_PKMAP(512或1024)产生。
    page_address_htable: 存放地址的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值