连续分配管理 - wolai 笔记

1.单一连续分配

  • 连续分配,指用户进程分配的必须是一个连续的内存空间
  • 只支持单道程序,内存分为系统区和用户区,用户程序存放在用户区
  • 无外部碎片,有内部碎片
  • 实现简单;但只能用于单用户、单任务的操作系统中,可采用覆盖技术;存储器利用率极低

2.固定分区分配

  • 支持多道程序,内存用户空间分为若干个固定大小的分区,每个分区只能装一道作业
  • 无外部碎片,有内部碎片
  • 两种分区方式
    • 分区大小相等:缺乏灵活性;适用于一台计算机控制多个相同的对象
    • 分区大小不等:增加灵活性
  • 操作系统需要建立一个数据结构 — 分区说明表,实现各个分区的分配和回收

3.动态分区分配

  • 支持多道程序,在进程装入内存时,根据进程的大小动态的建立分区
  • 无内部碎片,有外部碎片
  • 外部碎片可用“紧凑”技术来解决
  • 回收内存分区,可能遇到四种情况
    • 回收区之后有相邻的空闲分区
    • 回收区之前有相邻的空闲分区
    • 回收区前、后都有相邻的空闲分区
    • 回收区前、后度没有相邻的空闲分区
  • 记录内存使用的数据结构

4.补充:碎片

4.1内部碎片

  • 分配给某进程的内存区域中,如果有些部分没有用上

4.2外部碎片

  • 内存中的某些空闲分区由于太小而难以利用
  • 可通过紧凑(拼凑,Compaction)技术解决外部碎片

Comment