首次适应算法(FF)及其应用
我们在操作系统和后台存储一些东西的时候,需要考虑存储管理器的问题,就是如何把我们要放置安置的东西,如虚拟机等东西最优化地存储,就需要用到今天讲的分区分配算法。我们用的比较多的就是FF,首次适应算法。空闲分区链以地址递增的次序链接分配时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止;再按照要存东西的大小(我们称之为作业),从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍...
我们在操作系统和后台存储一些东西的时候,需要考虑存储管理器的问题,就是如何把我们要放置安置的东西,如虚拟机等东西最优化地存储,就需要用到今天讲的分区分配算法。
我们用的比较多的就是FF,首次适应算法。空闲分区链以地址递增的次序链接
分配时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止;再按照要存东西的大小(我们称之为作业),从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍然留在空闲链中。
要是都找不到,就失败返回。
所以这里有个缺点就是空闲区分布的不均匀,之前的小的占满了,后面的高地址可能就占不到了。
这里举一个例子,分配这三种作业,到后台的存储中,如何分配?
对于FF算法,低地址的A是18K,我们首先看到了30K内存空间,就分配给A了。后面的B是25K,我们找空闲的,但是只有最后一个满足,所以把C给了46K的内存空间。
可以看到最佳适应就可以很好对应上每个作业。
申请的不同类型的虚拟机要放置在物理内存当中,也可以用这种方法做,先给你一个,一个一个来放,放完发现第一个物理内存已经放不下最新的一个虚拟机的时候,就开辟新的一个物理内存来存放。这里需要和粒子群算法并用,我们需要优化放置的物理内存最少,最终得到的结果是粒子群的群体最优解,我们把它和FF结合就能得到相对最少的物理服务器。
更多推荐
所有评论(0)