分页与分段的区别

本文对比了分页和分段两种内存管理方式的特点,包括它们的目的、长度、地址空间、碎片及管理方式的不同,并介绍了段页式内存管理的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 目的

  • 页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率,即分页是处于系统管理的需要而不是用户的需要
  • 段时信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要

2. 长度

  • 页大小固定且由操作系统决定,系统把逻辑地址划分为页号和页内地址两个部分,由及其硬件实现的,因此系统中只能由一种大小的页面
  • 段的长度不固定,由用户编写的程序所决定,通常由编译程序在对程序编译时,根据信息的性质来划分。

3. 地址空间

  • 页的地址空间时一维的,即单一的线性地址空间
  • 页地址空间时二维的,在标识一个地址时,既要给出段名,有需要给出段内地址

4. 碎片

  • 分页由内部碎片无外部碎片
  • 分段由外部碎片无内部碎片

5. 管理方式

  • 对于分页,操作系统必须为每一个进程维护一个页表,以说明每个页对应的页框。另外操作系统还需要维护一个空闲页框列表
  • 对于分段,操作系统必须为每个进程维护一个段表,以说明每个段的加载地址以及长度。另外操作系统还需要维护一个内存中空闲的空洞列表。

段页式内存管理

  • 先将程序分段,分为代码段、数据段、堆栈段等
  • 再将这些段分页(分页一般比较小,由操作系统决定)
  • 然后我们可以通过段号、页号、页内偏移地址找到程序的地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值