内部碎片和外部碎片的区别

内部碎片和外部碎片的区别

操作系统中有两种类型的碎片,即内部碎片和外部碎片。

1、内部碎片化:

当内存被分成安装大小的块时,就会发生内部碎片。每当请求内存的方法时,都会将已安装大小的块分配给该方法。在分配给方法的内存比请求的内存稍大的情况下,分配的内存和请求的内存之间的差异称为内部碎片。

内部碎片和外部碎片的区别

上图清楚地显示了内部碎片,因为分配的内存与所需空间或内存之间的差异称为内部碎片。

2. 外部碎片:

当内存中有足够数量的区域来满足方法的内存请求时,就会发生外部碎片。但是,由于提供的内存是不连续的,因此无法满足进程的内存请求。无论您应用最适合还是最适合的内存分配策略,它都会导致外部碎片。

内部碎片和外部碎片的区别

在上图中,我们可以看到,有足够的空间(55 KB)来运行一个 process-07(需要 50 KB),但内存(片段)不是连续的。在这里使用压缩、分页或分段来使用可用空间来运行进程。

内部碎片和外部碎片的区别:

编号 内部碎片 外部碎片
1 在内部分片固定大小的内存中,分块被指定处理。 在外部碎片中,可变大小的内存块被指定给方法。
2 当方法或进程小于内存时,会发生内部碎片。 删除方法或进程时会发生外部碎片。
3 内部碎片的解决方案是最佳拟合块。 外部碎片的解决方案是压缩和分页。
4 内存被划分为固定大小的分区时会发生内部碎片。 当内存根据进程的大小划分为可变大小的分区时,就会发生外部碎片。
5 分配的内存与所需的空间或内存之间的差异称为内部碎片。 不连续的内存碎片之间形成的未使用空间太小,无法为新进程服务,这称为外部碎片。
6 内部碎片发生在分页和固定分区上。 外部碎片发生在分段和动态分区中。
7 内部碎片发生在将进程分配到大于进程要求的分区时。剩余空间会导致系统性能下降。 外部碎片发生在将进程分配给更大的分区时,该分区与所需的内存空间完全相同。
8 内部碎片发生在最差的内存分配方法中。 外部碎片以最佳拟合和首次拟合内存分配方法发生。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册