1. 目的
- 页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率,即分页是处于系统管理的需要而不是用户的需要
- 段时信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要
2. 长度
- 页大小固定且由操作系统决定,系统把逻辑地址划分为页号和页内地址两个部分,由及其硬件实现的,因此系统中只能由一种大小的页面
- 段的长度不固定,由用户编写的程序所决定,通常由编译程序在对程序编译时,根据信息的性质来划分。
3. 地址空间
- 页的地址空间时一维的,即单一的线性地址空间
- 页地址空间时二维的,在标识一个地址时,既要给出段名,有需要给出段内地址
4. 碎片
- 分页由内部碎片无外部碎片
- 分段由外部碎片无内部碎片
5. 管理方式
- 对于分页,操作系统必须为每一个进程维护一个页表,以说明每个页对应的页框。另外操作系统还需要维护一个空闲页框列表
- 对于分段,操作系统必须为每个进程维护一个段表,以说明每个段的加载地址以及长度。另外操作系统还需要维护一个内存中空闲的空洞列表。
段页式内存管理
- 先将程序分段,分为代码段、数据段、堆栈段等
- 再将这些段分页(分页一般比较小,由操作系统决定)
- 然后我们可以通过段号、页号、页内偏移地址找到程序的地址。