基本介紹
首次適應算法的特點(First Fit):
該算法傾向於優先利用記憶體中低址部分的空閒分區,從而保留了高址部分的大空閒區,這為以後到達的大作業分配大的記憶體空間創造了條件。
缺點
低址部分不斷被劃分,會留下許多難以利用的,很小的空閒分區,稱為碎片。而每次查找又都是從低址部分開始的,這無疑又會增加查找可用空閒分區時的開銷。
算法實現過程舉例
Question 3: Segment Allocation Algorithms
Given five memory partitions of 100 KB, 500 KB, 200 KB, 300 KB, and 600 KB (in order), how would the first-fit algorithms place processes of 212 KB, 417 KB, 112 KB, and 426 KB (in order)?
對於上述問題,該算法將實現以下操作
為212k分配空間:
依次找尋,找到第一個大於212k的空閒區;
找到第二個空閒區500k>212k,分配給212k,剩餘288k空閒區;
為417k分配空間:
依次找尋,找到第一個大於417k的空閒區;
找到第五個空閒區600k>417k,分配給417k,剩餘183k空閒區
為112k分配空間:
依次找尋,找到第一個大於112k的空閒區;
找到第二個空閒區288k>112k,分配給112k,剩餘176k空閒區
為426k分配空間:
依次找尋,找到第一個大於426k的空閒區;
未找到,此作業將等待釋放空間