Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5178
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 42
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-02 12:41
文章分类
文章存档

2015年(3)

我的朋友

分类: LINUX

2015-08-02 13:02:16

进程是运行在虚拟空间,所有的内存请求返回的都是虚拟地址。实际上在我自己的理解来看,寻址的过程就是在寻找页表。在linux中,对于32位系统,不论是开启还是未开启PAE都是把前896M的页框映射到内核空间,也就是在建立分页阶段,根据页框号(从0号页框开始)和权限合成了页表,然后逐一写进页表项中,因此,此时建立了一一映射的关系,因此此部分线性地址变化就可以直接访问页表获得物理地址。那么剩余的128M留做动态重映射,映射更多的地址。今天就来讲讲这128M内的永久内核映射部分。

文章开始已经说了,进程需要的是虚拟地址,而对于高端内存页框在分页初期并未建立映射,也就是说,并未对高端内存页框建立页表,所以也没有写进页表项。所以此时返回线性地址没有什么意义,也不可能返回线性地址。因此最重要的矛盾付出水面了——就是为高端内存页框到线性地址建立映射。

在主内核页全局目录中有一个专门的目录项,它指向的1024个页表项只能被写进永久内核映射而建立的页表。

阅读(631) | 评论(0) | 转发(0) |
0

上一篇:高度概括几种页框到线性地址的映射技术

下一篇:没有了

给主人留下些什么吧!~~