连续分配方式(二)
动态分区分配
⛵动态分区分配是指系统运行的过程中建立分区,并使分区的大小刚好与作业的大小相等。
动态分区需要的数据结构
- 在动态分区存储管理中,要有相应的数据结构来登记空闲分区的说明信息,它包括空闲分区的大小和位置
- 不同系统根据设计采用不同的结构。常用的有空闲分区表和空闲分区队列结构。
- 系统还要设置等待分区队列,当系统中无空闲区或无满足要求的空闲区时,则把申请者送入等待队列中,等待别的进程释放内存之后再唤醒队列中的进程。
动态分区的分配和回收
动态分区时的三种情况
动态分区回收
定义: 当某个进程释放某存储区时,系统首先检查释放区是否与系统的空闲分区相邻,若相邻则把释放区合并到相邻的空闲区中去,否则把释放区作为一个空闲区插入到空闲分区表的适当位置。
释放区与空闲区相邻的四种情况
说明:
空闲分区表或队列的排序
定义: 按空闲区首址递增的次序归类组织空闲分区表或空闲分区队列;
- 首次适应法(first-fit)
回收:
- 下次匹配法(next-fit)
- 最佳适应法(best-fit)
回收:
- 最坏适应法(worst-fit)
分析: