常見記憶體分配演算法及優缺點

2021-05-26 07:44:05 字數 967 閱讀 3665

常見記憶體分配演算法及優缺點

常見記憶體分配演算法及優缺點如下:

(1)首次適應演算法。使用該演算法進行記憶體分配時,從空閒分割槽鏈首開始查詢,直至找到乙個能滿足其大小要求的空閒分割槽為止。然後再按照作業的大小,從該分割槽中劃出一塊記憶體分配給請求者,餘下的空閒分割槽仍留在空閒分割槽鏈中。

該演算法傾向於使用記憶體中低位址部分的空閒分割槽,在高位址部分的空閒分割槽很少被利用,從而保留了高位址部分的大空閒區。顯然為以後到達的大作業分配大的內 存空間創造了條件。缺點在於低址部分不斷被劃分,留下許多難以利用、很小的空閒區,而每次查詢又都從低址部分開始,這無疑會增加查詢的開銷。

(2)迴圈首次適應演算法。該演算法是由首次適應演算法演變而成的。在為程序分配記憶體空間時,不再每次從鏈首開始查詢,而是從上次找到的空閒分割槽開始查詢,直至 找到乙個能滿足要求的空閒分割槽,並從中劃出一塊來分給作業。該演算法能使空閒中的記憶體分割槽分布得更加均勻,但將會缺乏大的空閒分割槽。

(3)最佳適應演算法。該演算法總是把既能滿足要求,又是最小的空閒分割槽分配給作業。

為了加速查詢,該演算法要求將所有的空閒區按其大小排序後,以遞增順序形成乙個空白鏈。這樣每次找到的第乙個滿足要求的空閒區,必然是最優的。孤立地看, 該演算法似乎是最優的,但事實上並不一定。因為每次分配後剩餘的空間一定是最小的,在儲存器中將留下許多難以利用的小空閒區。同時每次分配後必須重新排序, 這也帶來了一定的開銷。

(4)最差適應演算法。最差適應演算法中,該演算法按大小遞減的順序形成空閒區鏈,分配時直接從空閒區鏈的第乙個空閒分割槽中 分配(不能滿足需要則不分配)。很顯然,如果第乙個空閒分割槽不能滿足,那麼再沒有空閒分割槽能滿足需要。這種分配方法初看起來不太合理,但它也有很強的直觀 吸引力:在大空閒區中放入程式後,剩下的空閒區常常也很大,於是還能裝下乙個較大的新程式。

最壞適應演算法與最佳適應演算法的排序正好相反,它的佇列指標總是指向最大的空閒區,在進行分配時,總是從最大的空閒區開始查尋。

該演算法克服了最佳適應演算法留下的許多小的碎片的不足,但保留大的空閒區的可能性減小了,而且空閒區**也和最佳適應演算法一樣複雜。

常見機器學習演算法優缺點

1 線性模型 形式簡單 易於建模 很好的可解釋性 2 邏輯回歸 無需事先假設資料分布 可得到近似概率 對率函式任意階可導的凸函式,許多數值優化演算法都可直接用於求取最優解 3 線性判別分析 lda 當兩類資料同先驗 滿足高斯分布且協方差相等時,lda可達到最優分類 4 boosting 代表adab...

排程演算法的介紹及優缺點

一 先來先服務 fcfs 先進先出 fifo 排程演算法 1 概念 按照作業 程序進入系統的先後次序進行排程,先進入系統者先排程 即啟動等待時間最長的作業 程序。是一種最簡單的排程演算法,即可用於作業排程,也可用於程序排程 2 先來先服務 先進先出 優缺點 比較有利於長作業 程序 而不利於短作業 程...

演算法的優缺點 邏輯回歸演算法的優缺點

邏輯回歸演算法是最經典的幾個機器學習演算法之一,本文對它的優點,缺點進行總結。sigmoid函式 表示式如下 1.實現簡單,廣泛的應用於工業問題上 2.分類時計算量非常小,速度很快,儲存資源低 3.便利的觀測樣本概率分數 4.對邏輯回歸而言,多重共線性並不是問題,它可以結合l2正則化來解決該問題 5...