内部碎片(internal fragmentation)和外部碎片(external fragmentation)的区别

内部碎片和外部碎片之间的主要区别在于,内部碎片是分配的内存块之间未使用的存储空间,而外部碎片是相邻块之间非常小的用于服务请求的孔。...

主要区别

内部碎片和外部碎片之间的主要区别在于,内部碎片是分配的内存块之间未使用的存储空间,而外部碎片是相邻块之间非常小的用于服务请求的孔。

内部碎片(internal fragmentation) vs. 外部碎片(external fragmentation)

内部碎片是一种碎片类型,当分配给程序的内存比所需的内存大时会发生这种情况。在这里,自由空间被称为内部碎片。另一方面,外部碎片是在非传染性记忆块之间形成的一种自由空间。

内部碎片化的原因是内存被分成固定大小的块。另一方面,外部碎片是指内存根据不同进程的大小被划分为大小可变的块时发生的过程。

内部碎片问题可以通过将内存分配给内存块的动态部分中的程序来解决,并在程序执行过程中不需要内存时释放内存。另一方面,外部碎片可以通过分页、压缩和分段来解决,这样就可以以非连续的方式将内存分配给程序。

比较图

内部碎片外部碎片
程序所需内存与为其分配的内存之间的差异称为内部碎片。在非传染性存储碎片或碎片中出现的洞或未使用的空间太短而无法存储新程序,称为外部碎片。
它指的是在一个分配的区域中块之间未使用的空间。它是指由于存储请求太短而未使用的空间。
原因
内部碎片化的原因是内存被分成固定大小的块。当内存或存储器根据不同程序的大小由不同大小的块组成时,就会发生外部碎片。
发生
当分配给程序的空间超过所需空间时,就会发生这种情况。当从内存中删除程序时,会留下导致外部碎片的可用空间。
解决方案
它可以通过将内存分配给内存块的动态部分的程序来解决,并在程序执行过程中不需要内存时释放内存。它可以通过分页、压缩和分段来解决,因此内存可以以非连续的方式分配给程序。

什么是内部碎片(internal fragmentation)?

内部碎片是一种碎片类型,当分配给程序的内存比所需的内存大时会发生这种情况。当内存被分配到固定大小的块中时,就会发生这种情况。

每当程序需要内存时,系统都会分配固定大小的块。如果分配给程序的内存比所请求的内存更大,则称为内存碎片。固定大小块内的这个空间不能分配给任何程序,因为它不足以存储新程序。

内部碎片问题可以通过将内存划分为可变大小的块并将最佳大小的块分配给需要内存的程序来解决。它不能完全解决内部分裂问题,但会在一定程度上减轻内部分裂。

例子

这是一个内部碎片化的例子。内存空间被分成固定大小为18470字节的块。但是,一个程序需要18460字节。系统将为其分配固定大小的分区块,即18470字节。因此,18470字节的10个字节将保持为空,这是内部碎片的来源。

什么是外部碎片(external fragmentation)?

外部碎片(External fragmentation)是指在非传染性内存或存储碎片之间出现的洞或未使用的空间,它太短而无法存储新的程序。当系统的存储内存中有足够的可用空间来满足程序的内存需求时,就发生了这种情况。但是,由于系统的可用内存是非相邻的,因此对程序的需求无法实现或满足。

无论是应用第一适合的内存分配策略还是最适合的内存分配策略,这都将是外部碎片化的原因。当一个程序被加载并从内存中删除时,会留下造成漏洞的可用空间。内存空间中有大量这样的洞,导致外部碎片。

第一拟合和最佳拟合内存分配策略可以减少外部碎片的数量,但不能完全消除。分页、压缩和分段可以解决外部碎片问题。

压缩算**将内存的所有内容移到一边并释放大量内存块。但这是一个昂贵的程序。解决此问题的另一种解决方案是允许进程以非连续的方式获得物理内存。这个解决方案可以通过使用分页和分段过程来实现。

例子

在计算机系统中,当程序请求空间时,块以块的形式分配。假设为了在系统中存储信息和数据,有一块内存是空的。现在,有一个程序,我们想存储在内存中。程序将动态地保存在内存中,也就是说,随机地,在任何它感觉舒服或发现空间的地方。当下一个程序需要保存时,它会在内存空间中进行相应的调整。现在,我们从系统中删除一个程序。它会在内存中留下空间或漏洞。此孔或空间不能与其他存储器一起使用,即使它位于空闲内存旁边并导致外部碎片的形成。

主要区别

  1. 程序所需内存与分配给程序的内存之间的差异称为内部碎片,而非传染性内存碎片之间出现的洞或未使用的空间太短而无法存储新程序,则称为外部碎片。
  2. 内部碎片是指分配区域中块之间未使用的空间,另一方面,外部碎片是指由于太短而无法存储请求而保持未使用的空间。
  3. 内部碎片化的原因是内存被分成固定大小的块。相反地,当内存或存储器根据不同程序的大小被组合或划分为大小可变的块时,就会发生外部碎片。
  4. 当分配给程序的空间超过所需空间时,就会发生内部碎片。另一方面,当程序从内存中删除时,会在系统存储中留下导致外部碎片的可用空间时,就会出现外部碎片。
  5. 内部碎片问题可以通过将内存分配给内存块的动态部分中的程序来解决,并在程序执行过程中不需要内存时释放内存。另一方面,外部碎片可以通过分页、压缩和分段来解决,这样就可以以非连续的方式将内存分配给程序。

对比视频

结论

以上讨论总结了计算机存储中造成存储空间浪费的两个过程:内部碎片化和外部碎片化。当分配给程序的空间超过所需的空间时,就会发生内部碎片;而当程序从内存中删除后留下可用空间时,就会出现外部碎片。

  • 发表于 2020-02-13 05:09
  • 阅读 ( 645 )
  • 分类:IT

你可能感兴趣的文章

克莱诺碎片(klenow fragment)和dna聚合酶1(dna polymerase 1)的区别

...与DNA聚合酶1以表格形式 6. 摘要 什么是克莱诺碎片(klenow fragment)? Klenow片段是DNA聚合酶1的很大一部分。与DNA聚合酶1不同,Klenow片段缺乏5′至3′核酸前向核酸酶域,因此没有5′至3′核酸外切酶活性。Klenow片段是用一种叫做枯草...

  • 发布于 2020-09-18 15:44
  • 阅读 ( 548 )

内部的(internal)和外部经营环境(external business environment)的区别

内部和外部业务环境的关键区别在于,内部环境是特定的,对业务有直接影响,而外部环境对所有业务组都有影响,而不仅仅是一个特定的业务。 分析企业的内外部环境对企业的成功非常重要。此外,内部环境也称为微环境...

  • 发布于 2020-10-17 02:19
  • 阅读 ( 1303 )

多重裂变(multiple fission)和碎片化(fragmentation)的区别

...变从一个单一的母体细胞产生许多个体。 什么是碎片化(fragmentation)? 分裂是无性繁殖的一种形式,在这种情况下,母体有机体只会分裂成几块,每一块都会成长为一个全新的个体或母体的克隆体。此外,这种繁殖方式在丝状真...

  • 发布于 2020-10-20 20:34
  • 阅读 ( 263 )

裂变(fission)和碎片化(fragmentation)的区别

...素有很大的不同,这是一个核嬗变过程。 什么是碎片化(fragmentation)? 化学中的碎裂是离子与分子的分离。在这里,能量不稳定的离子可能离开分子。此外,这发生在质谱仪的电离室内。产生的产物称为碎片。此外,这些碎片可...

  • 发布于 2020-10-23 03:32
  • 阅读 ( 227 )

碎片(fragmentation)和再生(regeneration)的区别

...排比较-表格形式的碎片化与再生 6. 摘要 什么是碎片化(fragmentation)? 分裂是一个有机体的一部分被打破,然后有丝分裂细胞分裂的过程。它是一种无性生殖方式,不涉及减数分裂。此外,这个断裂的部分可以发展成一个独立的...

  • 发布于 2020-10-23 13:20
  • 阅读 ( 237 )

碎片化(fragmentation)和萌芽(budding)的区别

碎片化(fragmentation)和萌芽(budding)的区别 繁殖是产生新生物(后代)的机制。有两种基本的生殖方式:有性生殖和无性生殖。有性生殖发生在双亲之间,而无性生殖是由单亲进行的。有性生殖的结果是后代的遗传多样性和独特...

  • 发布于 2020-10-25 03:21
  • 阅读 ( 380 )

内部的(internal)和外部审计(external audit)的区别

内部的(internal)和外部审计(external audit)的区别 审计过程是组织长期生存和成功的重要方面之一。董事会设审计委员会,对公司审计过程的有效性进行评审。内部审计和外部审计是审计过程的两个主要组成部分。内部审计和外...

  • 发布于 2020-10-25 21:14
  • 阅读 ( 1082 )

内部的(internal)和外部碎片(external fragmentation)的区别

...空间将被分配,而不是连续的。 什么是内部碎片(internal fragmentation)? 考虑上图中遵循的是固定大小的内存分配机制。最初,内存是空的,分配器将内存划分为固定大小的分区。随后,三个名为A、B、C的程序被加载到前三个分区...

  • 发布于 2020-10-29 14:06
  • 阅读 ( 309 )

什么是磁盘碎片?我还需要碎片整理吗?

Do modern computers still need the kind of routine defragmentation procedures that older computers called for? Read on to learn about fragmentation and what modern operating systems and file systems do to minimize performance impacts. 今天的问答环节是由SuperUser提供的,SuperUser是Stack...

  • 发布于 2021-04-12 03:43
  • 阅读 ( 216 )

内部的(internal)和外部环境(external environment)的区别

...态、空气、水、矿物质等构成生物体内外环境的总和。 内部维持生命的液体,允许维持交换和包围细胞,形成内部环境。内部环境对细胞的正常功能很重要。生物体生存的周围环境构成了外部环境。 生物体内外环境之间的联系...

  • 发布于 2021-06-25 07:09
  • 阅读 ( 368 )
yu564328596
yu564328596

0 篇文章

相关推荐