動態分割槽分配演算法

2021-08-16 11:15:35 字數 1164 閱讀 9401

動態分割槽分配演算法

一.順序搜尋的動態分割槽分配演算法

1.首次適應演算法(first fit)

演算法思想:將空閒分割槽鏈以位址遞增的順序連線;在進行記憶體分配時,從鏈首開始順序查詢,直到找到一塊分割槽的大小可以滿足需求時,按照該作業的大小,從該分割槽中分配出記憶體,將剩下的空閒分割槽仍然鏈在空閒分割槽鏈中。

優點:高址部分的大的空閒分割槽得到保留,為大作業的記憶體分配創造了條件;

缺點:(1)每次都是優先利用低址部分的空閒分割槽,造成低址部分產生大量的外碎                      片。

(2)每次都是從低址部分查詢,使得查詢空閒分割槽的開銷增大;

2.迴圈首次適應演算法(next fit)

演算法:分配記憶體時不是從鏈首進行查詢可以分配 記憶體的空閒分割槽,而是從上一次分配記憶體的空閒分割槽的下乙個分割槽開始查詢,直到找到可以為該程序分配記憶體的空閒分割槽;

優點:(1)使得空閒分割槽分布更加均勻;

(2)空閒分割槽的查詢開銷小;

缺點:高址部分的大空閒分割槽被分小,使得大作業進入無法分配記憶體;

3.最佳適應演算法(best fit)

演算法:將空閒分割槽鏈中的空閒分割槽按照空閒分割槽由小到大的順序排序,從而形成空閒分割槽鏈。每次從鏈首進行查詢合適的空閒分割槽為作業分配記憶體,這樣每次找到的空閒分割槽是和作業大小最接近的,所謂「最佳」。

優點:第一次找到的空閒分割槽是大小最接近待分配記憶體作業大小的;

缺點:產生大量難以利用的外部碎片。

4.最壞適應演算法(worst fit)

演算法:與最佳適應演算法剛好相反,將空閒分割槽鏈的分割槽按照從大到小的順序排序形成空閒分割槽鏈,每次查詢時只要看第乙個空閒分割槽是否滿足即可。

優點:效率高,分割槽查詢方便;

缺點:當小作業把大空閒分區分小了,那麼,大作業就找不到合適的空閒分割槽。

動態分割槽分配演算法

1.首次適應演算法 ff 2.迴圈首次適應演算法 nf 和首次適應演算法的區別就是,在為程序分配記憶體空間的時候,不再是都從鏈首開始查詢,而是從上次找到的空閒的分割槽的下乙個空閒分割槽開始查詢,直到找到乙個能滿足要求的空閒分割槽。3.最佳適應演算法 bf 將所有的空閒空間按其容量從小到大的順序形成一...

動態分割槽分配演算法

主函式 乙個選單欄的形式,可以選擇要執行的演算法。首次適應演算法 每次都從開始往後找滿足條件的分割槽。迴圈首次適應演算法 從前一次找到的地方往後繼續找分割槽。最佳適應演算法 先從小到大排序,找比前乙個大後乙個小的分割槽。1.首次適應演算法 該演算法從空閒分割槽鏈首開始查詢,直至找到乙個能滿足其大小要...

動態分割槽分配

一 實驗目的 1.通過這次實驗,加深對動態分割槽分配的理解,進一步掌握首次適應演算法和最佳適應演算法的理解。了 解動態分割槽分配方式中使用的資料結構和分配演算法,進一步加深對動態分割槽儲存管理方式及其實現 過程的理解。提高學生設計實驗 發現問題 分析問題和解決問題的能力。2.學會可變式分割槽管理的原...