內部碎片
概念:一個分區內部出現的碎片(即被浪費的空間),不能被利用。(能明確指出屬於哪個進程)
例子:
- 固定分區法中,當6KB的進程被分配了10KB的內存空間,就有4KB的內部碎片;
- 一個進程申請43KB的內存空間,某些處理器因為限制(比如其體系結構規定只能整除4、8、16),該進程被分配了44KB,就有1KB的內部碎片。
外部碎片
概念:在所有分區之外新增的碎片。(不屬於任何一個進程)
例子:
- 動態分區法中,頻繁進行分配回收后,會出現越來越多的小空閑塊,由於太小了,無法裝進小進程,就是外部碎片
解決方法
- 緊縮(利用動態重定位技術):移動某些已分配區的內容,是所有進程的分區緊挨在一起,把空閑區留在另一端。
注意:不是從上至下依次放置,而是采用“占兩頭,空中間”的方法