首次適應演算法還可以改進!

2021-10-14 12:16:36 字數 709 閱讀 6203

優質文章

優質專欄

基於順序搜尋的動態分割槽分配演算法

為了實現動態分割槽分配,通常是將系統中的空閒分割槽鏈結成乙個鏈。所謂順序搜尋,是指依次搜尋空閒分割槽鏈上的空閒分割槽,去尋找乙個其大小能滿足要求的分割槽。基於順序搜尋的動態分割槽分配演算法有如下四種:首次適應演算法,迴圈首次適應演算法、最佳適應演算法和最壞適應演算法。

首次適應演算法

演算法思想

優點

優先利用記憶體中低位址部分的空閒分割槽,從而保留了高位址部分的大空閒區,為大作業分配大的記憶體空間創造了條件。

缺點

低位址部分不斷被劃分,會留下許多難以利用的、很小的空閒分割槽。每次查詢都是從低位址部分開始查詢,這無疑怎能更加了查詢可用空閒分割槽時的開銷

我的想法

參考迴圈首次適應演算法,設定乙個起始尋查指標,以指示下一次起始查尋的空閒分割槽,每次查詢結束時,記錄從開始位置到起始尋查指標位置之間的空閒分割槽的最大容量,當下一次查詢時,如所需容量小於所記錄的最大容量,則從開始位置開始查詢,若所需容量大於所記錄的最大容量,則從起始查尋指標的位置開始查詢,從而減少了檢視可用空閒分割槽時的開銷

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

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

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

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

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

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