分页和分段的区别


  分页和分段系统有许多相似之处。比如,两者都采用离散分配方式,且都是通过地址映射机构实现地址转换。但在概念上两者完全不同,主要表现在下述三个方面:

  1、页是信息的物理单位。采用分页存储管理是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅只是系统管理上的需要,完全是系统的行为,对用户是不可见的。分段存储管理方式中的段则是信息的逻辑单位,它通常包含的是一组意义相对完整的信息。分段的目的主要在于更好地满足用户的需要。

  2、页的大小固定且由系统决定。在采用分页存储管理方式的系统中,在硬件结构上,就把用户程序的逻辑地址划分为页号和页内地址两部分,也就是说直接由硬件实现的,因而每个系统中只能有一种大小的页面。而段的长度则不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。

  3、分页的用户程序地址空间是一维的。分页完全是系统的行为,故在分页系统中,用户程序的地址是属于单一的线性地址空间,程序员只需利用一个记忆符即可表示一个地址。而分段式用户的行为,故在分段系统中,用户程序的地址是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

os