压缩(碎片整理)

我们知道动态分区受到外部碎片的影响。 但是,这可能会导致一些严重的问题。

为了避免压缩,我们需要更改规则,该规则指出进程无法存储在内存中的不同位置。

也可以使用压缩来减少外部碎片的可能性。 在压缩过程中,所有的空闲分区都是连续的,所有加载的分区都集中在一起。

通过应用这种技术,可以将更大的进程存储在内存中。 合并可用分区,现在可以根据新进程的需要分配这些分区。 这种技术也称为碎片整理。

如上图所示,由于缺少连续的空间,无法将内存装载到内存中的进程P5现在可以加载到内存中,因为空闲分区是连续的。

压实问题

由于所有的自由空间将从几个地方转移到一个地方,因此在压实的情况下系统的效率会降低。

这个过程投入了大量的时间,并且CPU一直保持空闲状态。 尽管压实避免了外部碎片,但却使得系统效率低下。

让我们考虑一下,操作系统需要6个NS将1个字节从一个地方复制到另一个地方。

1 B转移需要6 NS
MB传输需要256 X 2 ^ 20 X 6 X 10 ^ -9秒

因此,在一定程度上证明,较大容量的存储器传输需要几秒钟的大量时间。


上一篇:动态分区

下一篇:用于动态分区的位图

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程