我们知道动态分区受到外部碎片的影响。 但是,这可能会导致一些严重的问题。
为了避免压缩,我们需要更改规则,该规则指出进程无法存储在内存中的不同位置。
也可以使用压缩来减少外部碎片的可能性。 在压缩过程中,所有的空闲分区都是连续的,所有加载的分区都集中在一起。
通过应用这种技术,可以将更大的进程存储在内存中。 合并可用分区,现在可以根据新进程的需要分配这些分区。 这种技术也称为碎片整理。
如上图所示,由于缺少连续的空间,无法将内存装载到内存中的进程P5现在可以加载到内存中,因为空闲分区是连续的。
由于所有的自由空间将从几个地方转移到一个地方,因此在压实的情况下系统的效率会降低。
这个过程投入了大量的时间,并且CPU一直保持空闲状态。 尽管压实避免了外部碎片,但却使得系统效率低下。
让我们考虑一下,操作系统需要6个NS将1个字节从一个地方复制到另一个地方。
1 B转移需要6 NS
256 MB传输需要256 X 2 ^ 20 X 6 X 10 ^ -9秒
因此,在一定程度上证明,较大容量的存储器传输需要几秒钟的大量时间。