为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?

首先回顾一下分页机制中逻辑地址的结构:页号:页内偏移量

再来回顾一下分段机制中逻辑地址的结构:段号:段内偏移量

 

针对上面的问题,老羊快跑这里给大家简单解释一下。

假设有一段程序,在没有采用分段机制的时候(采用分页机制),这段程序会被编译成一大段机器指令,这些指令之间地址是连续的。如下图:


从图中我们可以看出逻辑地址空间如果采用分页机制,那么第0页的最后一个地址和第1页的第一个地址在数值上是连续的。因此分页机制的逻辑地址空间是一维的。

 

相对应的如果采用分段机制,那么这段程序就会被编译程序编译成多个段,比如数据段、代码段、附加段等,每个段的段号是编译器自动分配的,每个段的长度不定(一般最长64k)。如下图所示。从下图中我们可以看到,由于每个段的长度不一,因此虽然数据段、代码段的段号是连续的,但是数据段的最后一个地址和代码段的第一个地址是不连续,因此分段机制中的地址不是一维的,而是二维的。



欢迎关注老羊快跑公众号。一个操作系统考试、考研的公众号。

  • 53
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值