首次適應演算法 FF 及其應用

2021-09-11 03:03:04 字數 910 閱讀 2857

我們在作業系統和後台儲存一些東西的時候,需要考慮儲存管理器的問題,就是如何把我們要放置安置的東西,如虛擬機器等東西最優化地儲存,就需要用到今天講的分割槽分配演算法。

我們用的比較多的就是ff,首次適應演算法。空閒分割槽鏈以位址遞增的次序鏈結

分配時,從鏈首開始順序查詢,直至找到乙個大小能滿足要求的空閒分割槽為止;再按照要存東西的大小(我們稱之為作業),從該分割槽中劃出一塊記憶體空間分配給請求者,餘下的空閒分割槽仍然留在空閒鏈中。

要是都找不到,就失敗返回。

所以這裡有個缺點就是空閒區分布的不均勻,之前的小的佔滿了,後面的高位址可能就佔不到了。

這裡舉乙個例子,分配這三種作業,到後台的儲存中,如何分配?

對於ff演算法,低位址的a是18k,我們首先看到了30k記憶體空間,就分配給a了。後面的b是25k,我們找空閒的,但是只有最後乙個滿足,所以把c給了46k的記憶體空間。

可以看到最佳適應就可以很好對應上每個作業。

申請的不同型別的虛擬機器要放置在物理記憶體當中,也可以用這種方法做,先給你乙個,乙個乙個來放,放完發現第乙個物理記憶體已經放不下最新的乙個虛擬機器的時候,就開闢新的乙個物理記憶體來存放。這裡需要和粒子群演算法並用,我們需要優化放置的物理記憶體最少,最終得到的結果是粒子群的群體最優解,我們把它和ff結合就能得到相對最少的物理伺服器。

首次適應演算法 FF 和迴圈首次適應演算法 NF

原文 ff和nf演算法都是基於順序搜尋的動態分割槽分配演算法,在記憶體中檢索一塊分割槽分配給作業。如果空間大小合適則分配,如果找不到空間則等待。ff演算法按位址遞增從頭掃瞄空閒分割槽,如果找到空閒分割槽大小 作業大小則分配。如果掃瞄完空閒分割槽表都沒有找到分割槽,則分配失敗。nf演算法和ff演算法類...

首次適應演算法 最佳適應演算法和最差適應演算法

首次適應演算法 first fit 從空閒分割槽表的第乙個表目起查詢該錶,把最先能夠滿足要求的空閒區分配給作業,這種方法的目的在於減少查詢時間。最佳適應演算法 best fit 從全部空閒區中找出能滿足作業要求的,且大小最小的空閒分割槽,這種方法能使碎片盡量小。最差適應演算法 worst fit 它...

模擬首次適應(First Fit)演算法

首次適應演算法 ff first fit 基本思想 要求空閒分割槽按位址遞增的次序排列。當進行記憶體分配時,從空閒區表頭開始順序查詢,直到找到第乙個能滿足其大小要求的空閒區為止。分一塊給請求者,餘下部分仍留在空閒區中。include include include include define nu...