存储管理-动态分区-多重动态分区
一、实现原理:多重动态分区是一种灵活的分区方式,它根据作业对内存空间的申请来划分主存区域,区域的大小可变,位置可变,数量也可变。
二、分配与释放:
当作业申请内存空间,分配哪一个区域需要进行选择,选择方式称为分配算法。分配算法有如下几种:
1.最先适应算法
该算法可将作业分配到内存中第一个碰到的大于或等于作业申请空间的未分配区。(见图(a))
2.最佳适应算法
该算法可将作业申请大小与内存中所有未分配区的大小进行比较,直到找到最小的大于或等于作业空间的区分配给作业。 (见图(b))
3.最坏适应算法
该算法可将作业申请大小与内存中所有未分配区的大小进行比较,直到找到最大的大于或等于作业空间的区分配给作业。 (见图(c))
以上各种算法各有其优缺点,最先适应算法简单但分配比较盲目,可能造成较小的作业分配了较大的空间,使大作业无法被分配。最佳适应算法优先使用小的*空间,但每次分配以后的剩余空间可能变得过小而成为废品。最坏适应算法优先使用大的*空间,在进行分割后剩余空间还可以被使用,但也使大的*空间无法保留给需要大空间的作业。