是否可以将内部和外部碎片结合在一起?

时间:2013-11-20 15:13:13

标签: memory-management memory-fragmentation

据我所知,内部碎片仅适用于固定大小的块,外部碎片仅适用于动态大小的块。

这种情况(显然有内部碎片)外部碎片在技术上是否正确?

---
Block1 (empty)
---
Block2 (half full) (internal fragmentation)
---
Block 3 (empty)
---

说,进程P不能适合block1或block2。但它可以适合他们的总和。

1 个答案:

答案 0 :(得分:0)

是的,完全可以将两者结合在一起。在典型情况下,您的块大小有限,例如将每个分配舍入到下一个更大的2的幂。

这限制了不同大小的块的数量,因此现有的空闲块更可能满足特定的分配请求,但仍然留下许多不同的块大小,因此外部碎片是可能的。同时,这意味着请求的大小和块大小不一定相同,因此您也经常会有一些内部碎片。