动态分区分配算法(1、首次适应算法 2、最佳适应算法 3、最坏适应算法 4、邻近适应算法)
文章目錄
- 前言
- 知識總覽
- 1、首次適應(yīng)算法
- 2、最佳適應(yīng)算法
- 3、最壞適應(yīng)算法
- 4、鄰近適應(yīng)算法
- 知識回顧與重要考點
前言
此篇文章是我在B站學(xué)習(xí)時所做的筆記,大部分圖片都是課件老師的PPT,方便復(fù)習(xí)用。此篇文章僅供學(xué)習(xí)參考。
提示:以下是本篇文章正文內(nèi)容
知識總覽
動態(tài)分區(qū)分配算法:在動態(tài)分區(qū)分配方式中,當(dāng)很多個空閑分區(qū)都能滿足需求時,應(yīng)該選擇哪個分區(qū)進(jìn)行分配?
1、首次適應(yīng)算法
算法思想:每次都從低地址開始查找,找到第一個能滿足大小的空閑分區(qū)。
如何實現(xiàn):空閑分區(qū)以地址遞增的次序排列。每次分配內(nèi)存時順序查找空閑分區(qū)鏈(或空閑分區(qū)表),找到大小能滿足要求的第一個空閑分區(qū)。
考點!!!
首次適應(yīng)算法 是最有可能使得 高地址空間成為大的空閑區(qū) 的分配算法
2、最佳適應(yīng)算法
算法思想:由于動態(tài)分區(qū)分配是一種連續(xù)分配方式,為各進(jìn)程分配的空間必須是連續(xù)的一整片域。因此為了保證當(dāng)“大進(jìn)程”到來時能有連續(xù)的大片空間,可以盡可能多地留下大片的空閑區(qū),即,優(yōu)先使用更爾的空閑區(qū)。
如何實現(xiàn):
空閑分區(qū)按容量遞增次序鏈接。每次分配內(nèi)存時順序查找空閑分區(qū)鏈(或空閑分區(qū)表),找到大小能滿足要求的第一個空閑分區(qū)。
缺點:每次都選最小的分區(qū)進(jìn)行分配,會留下越來越多的、很小的、難以利用的內(nèi)存塊。因此這種方法會產(chǎn)生很多的外部碎片。
3、最壞適應(yīng)算法
又稱最大適應(yīng)算法(Largest Fit)
算法思想:為了解決最佳適應(yīng)算法的問題――即留下太多難以利用的小碎片,可以在每次分配時優(yōu)先使用最大的連續(xù)空閑區(qū),這樣分配后剩余的空閑區(qū)就不會太小,更方便使用。
如何實現(xiàn):空閑分區(qū)按容量遞減次序鏈接。每次分配內(nèi)存時順序查找空閑分區(qū)鏈(或空閑分區(qū)表),找到大小能滿足要求的第一個空閑分區(qū)。
缺點:每次都選最大的分區(qū)進(jìn)行分配,雖然可以讓分配后留下的空閑區(qū)更大,更可用,但是這種方式會導(dǎo)致較大的連續(xù)空閑區(qū)被迅速用完。如果之后有“大進(jìn)程”到達(dá),就沒有內(nèi)存分區(qū)可用了。
4、鄰近適應(yīng)算法
算法思想:首次適應(yīng)算法每次都從鏈頭開始查找的。這可能會導(dǎo)致低地址部分出現(xiàn)很多小的空閑分區(qū),而每次分配查找時,都要經(jīng)過這些分區(qū),因此也增加了查找的開銷。如果每次都從上次查找結(jié)束的位置開始檢索,就能解決上述問題。
如何實現(xiàn):空閑分區(qū)以地址遞增的順序排列(可排成一個循環(huán)鏈表)。每次分配內(nèi)存時從上次查找結(jié)束的位置開始查找空閑分區(qū)鏈(或空閑分區(qū)表),找到大小能滿足要求的第一個空閑分區(qū)
首次適應(yīng)算法,會導(dǎo)致低地址部分留下一些比較小的碎片,但是我們每一次開始檢索,都需要從低地址部分的這些小碎片開始往后檢索,所以這就會導(dǎo)致首次適應(yīng)算法在查找的時候,可能會多花一些時間。不過這并不意味著鄰近適應(yīng)算法就比首次適應(yīng)算法優(yōu)秀很多。
- 首次適應(yīng)算法每次都要從頭查找,每次都需要檢索低地址的小分區(qū)。但是這種規(guī)則也決定了當(dāng)?shù)偷刂凡糠钟懈〉姆謪^(qū)可以滿足需求時,會更有可能用到低地址部分的小分區(qū),也會更有可能把高地址部分的大分區(qū)保留下來(最佳適應(yīng)算法的優(yōu)點)
- 鄰近適應(yīng)算法的規(guī)則可能會導(dǎo)致無論低地址、高地址部分的空閑分區(qū)都有相同的概率被使用,也就導(dǎo)致了高地址部分的大分區(qū)更可能被使用,劃分為小分區(qū),最后導(dǎo)致無大分區(qū)可用(最大適應(yīng)算法的缺點)
知識回顧與重要考點
總結(jié)
以上是生活随笔為你收集整理的动态分区分配算法(1、首次适应算法 2、最佳适应算法 3、最坏适应算法 4、邻近适应算法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cesium 高程数据使用
- 下一篇: java-pdf转word