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

2015年(3)

我的朋友

分类: LINUX

2015-08-02 12:54:26

其实寻址这个问题,站在虚拟空间角度来看,就是通过线性地址寻找页表。站在物理空间角度来看,是通过地址总线寻找物理页框。中间的MMU起到承上启下的作用。

说的通俗一点,我举个例子。

虚拟空间好比阴间,物理空间好比阳间,阴间与阳间各有各自的法则,在保护着各自世界。使其正确平稳的运作。阴间的东西不能随便来到阳间,而阳间的东西也不能随便去到阴间,比如:阳间的人们一直在探索存不存在灵魂究竟有没有阴间,而阴间的东西其实也一直在努力冲破阴间的束缚来到阳间,因此就有这样一个奇怪的地方把这两个地方关联了起来,打通了束缚,就是半步多。这是连接阴阳两界的大门。


对于linux中的虚实空间问题也是一样的,因此话说回来,

虚拟地址不能访问物理空间,而物理空间返回的地址也不能直接拿给进程使用(进程运行在虚拟空间,需要虚拟地址),但这2个空间还必须关联起来,形成一个整体,因此需要一个枢纽,就像半步多一样。因此MMU就充当了半步多这个角色,它沟通了虚实空间 。MMU通过虚拟空间的页表,解析出物理地址给cpu,因此cpu可以通过地址总线寻址到物理空间。
至于页表的建立,也就是几种映射问题,请看下几篇博文。

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

上一篇:没有了

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

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