我是靠谱客的博主 勤恳世界,最近开发中收集的这篇文章主要介绍为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

 

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

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


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

 

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



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

最后

以上就是勤恳世界为你收集整理的为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?的全部内容,希望文章能够帮你解决为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部