Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283285
  • 博文数量: 43
  • 博客积分: 2515
  • 博客等级: 少校
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-10 16:15
文章存档

2009年(2)

2008年(12)

2007年(29)

我的朋友

分类: LINUX

2007-12-27 16:03:46

内存地址
  逻辑地址(Logic Address):每一个逻辑地址都由一个段(Segment)和偏移量(Offset或Placement)组成,偏移量指明了从段开始的地方到实际地址之间的距离。
  线性地址(Linear Address)(也称为虚拟地址Virtual Address):是一个32位的无符号整数,可以用来表示高达4GB的地址。线性地址通常用十六位进制的数字表示,值的范围从0x00000000到0xFFFFFFFF。
  物理地址(Physical Address):用于内存芯片内存单元寻址。它们从微处理器的地址引脚发送到内存总线上的电信号相对应。物理地址由32位或者36位无符号整数表示。
  内存控制单元(MMU)通过一种分段单元(Segmentation Unit)的硬件电路吧一个逻辑地址转换成为一个线性地址;接着,第二个称为分页单元(Paging Unit)的硬件电路吧线性地址转换成为一个物理地址。
  分段可以给一个进程分配不同的线性地址空间,分页可以把同一线性地址空间映射到不同的物理空间。Linux更喜欢分页的方式,因为:
     当所有的进程使用相同的段寄存器值时,内存管理变得简单,也就是说他们能共享同样的一组线性地址。
     Linux设计目标之一就是可以把它移植到绝大多数的流行处理器平台上,然而RISC对分段的支持十分有限。
阅读(1336) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~