内部碎片
概念:一个分区内部出现的碎片(即被浪费的空间),不能被利用。(能明确指出属于哪个进程)
例子:
- 固定分区法中,当6KB的进程被分配了10KB的内存空间,就有4KB的内部碎片;
- 一个进程申请43KB的内存空间,某些处理器因为限制(比如其体系结构规定只能整除4、8、16),该进程被分配了44KB,就有1KB的内部碎片。
外部碎片
概念:在所有分区之外新增的碎片。(不属于任何一个进程)
例子:
- 动态分区法中,频繁进行分配回收后,会出现越来越多的小空闲块,由于太小了,无法装进小进程,就是外部碎片
解决方法
- 紧缩(利用动态重定位技术):移动某些已分配区的内容,是所有进程的分区紧挨在一起,把空闲区留在另一端。
注意:不是从上至下依次放置,而是采用“占两头,空中间”的方法