您的位置:首页 > 其它

分区存储管理——空闲分区的分配策略

2016-02-22 19:55 429 查看
在这里介绍操作系统查找和分配空闲区的三种分配算法,并结合实例深刻理解这三种算法的特征。这三种算法各有特色……

三种分配算法的概念

1 最先适应算法(FF)

它要求空闲分区表中的记录按地址递增的顺序排列。在每次分配主存时,总是从第一条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分隔这个空闲区。一部分分配给作业,另一部分仍作为空闲区。

特点

分配算法简单,容易产生过多的主存碎片。主存碎片是指小的不能使用的主存空间;这种算法把大的空闲区分成了小的空闲区,当有大的作业要求分配时,不能满足要求,降低了系统的效率。

2 最优适应算法(BF)

它是从所有的空闲分区中挑选一个能满足作业要求的最小空闲区进行分配。这样可以保证不去分割一个更大的空闲区,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲分区表中,分配时,顺序查找。

特点

解决了大作业的分配问题,不足是容易产生主存碎片,降低了主存空间的利用率。另外,回收主存时,要按长度递增顺序插入到空闲分区表中,增加了系统开销。

3 最坏适应分配算法(WF)

它每次分配主存时总是挑选一个最大的空闲区,分割一部分给作业使用,使剩下的部分不至于太小而成为主存碎片。为实现这种算法,把空闲区按长度递减的次序登记在空闲分区表中,分配时,顺序查找。

特点

不会产生过多的碎片。不足是影响大作业的分配。回收主存时,要按长度递减的顺序插入到空闲分区表中,增加了系统开销。

实例分析

例题

主存有两个空闲区 F1、F2,
F1=220KB,F2=120KB;
有三个作业J1、J2、J3,
主存需求量:
J1=40KB
J2=160KB
J3=100KB.
用最先适应分配算法(FF)、最优适应分配算法(BF)、最坏适应分配算法(WF)比较三种算法的性能。
我按照三种算法将计算结果整理成表格,如图:



结论

BF即最优适应分配算法虽然名字里有最优两个字,但是在该实际问题中第三个作业J3按照最优适应分配算法没有分配到合适的空间,而其他两种算法将三个作业全部分配了空间。
最优不是算法最优,而是代表一种分配方式,不同的条件下,适合不同的算法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: