分页和分段
各位高手,我研究了很长时间的分段和分页概念,但是我现在仍然不能很好的理解,为什么要分页?为什么要分段?分页是不是说我现在硬盘比如讲有10M,然后我的内存之后1M,然后我的...
各位高手,我研究了很长时间的分段和分页概念,但是我现在仍然不能很好的理解,为什么要分页?为什么要分段?分页是不是说我现在硬盘比如讲有10M,然后我的内存之后1M,然后我的程序有2M大,放在硬盘里面,不能直接拷贝到内存,于是我吧硬盘分页,运行到哪块就把哪块的程序内容拷贝到内存的当前页上面运行,如果要切换到下一页就把下一页拷贝上来?那分段是不是就是对于程序上面的逻辑分段?比如讲吧程序的全局变量分为一段,放到一页上,然后程序的逻辑分为一段,放到一页上?这样的理解对不对?我很迷茫,有人讲段是二维的这个是为什么?还有linux系统上的实模式和保护模式是指什么,这个我也不太了解。
i need not copy and paste 展开
i need not copy and paste 展开
1个回答
展开全部
页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询