页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
实际物理内存很多都达不到4G,所以要用虚拟的,如果达到4G就完全可以不用虚拟的,32位的寻址范围是2的32次幂,也就是4G,达不到4G就要用虚拟的,达到了或者超过了就完全可以不用虚拟
分段是信息的逻辑单位由原程序的逻辑结构及含义所决定,是用户可见的,段长由用户根据需要来确定,段起始地址可从任何主存地址开始。在分段方式中,源程序经链接装配后仍保持二维结构,引入目的是满足用户模块化程序设计的需要。
分页是信息的物理单位与源程序的逻辑结构无关,是用户不可见的,页长由系统确定,页面只能从页大小的整数倍地址开始。在分页方式中,源程序经链接装配后变成一维结构,引入目的是实现离散分配并提高主存利用率。