Filesystems 内部和外部碎片化
在为文件分配磁盘空间时,有人能告诉我内部碎片和外部碎片的区别吗?大概来自: 内部碎片内部碎片发生在内存 分配器在内存块中留下多余的空间 已为客户端分配。这通常是因为 处理器的设计规定内存必须被分割成块 某些尺寸——例如,可能要求块均匀分布 除以4、8或16字节。发生这种情况时,客户端 例如,需要57字节的内存,可以分配一个 包含60个字节,甚至64个字节。客户端不需要的额外字节 需要去浪费,随着时间的推移,这些小块未使用的内存可以 建立并创建大量无法存储的内存 由分配器使用。因为所有这些无用的字节都在里面 内存块越大,碎片被认为是内部的 外部碎片外部碎片发生在 内存分配器将未使用内存块的部分保留在 已分配内存的一部分。例如,如果有几个内存块 在连续行中分配,但在 行被释放(可能是因为使用该块的进程 在内存停止运行的情况下),空闲块被碎片化。这个街区是 如果以后需要,分配器仍然可以使用 适合该块的内存,但该块现在无法用于 需要更大的内存。它不能和总的自由度归并在一起 系统可用的内存,因为总内存必须是连续的 它可以用于更大的任务。这样,整个 空闲内存最终可能与通常过于复杂的整体隔离 小到可以显著使用,这会导致自由空间的整体减少 随着时间的推移,可能导致钥匙的可用内存不足 任务Filesystems 内部和外部碎片化,filesystems,disk,fragmentation,Filesystems,Disk,Fragmentation,在为文件分配磁盘空间时,有人能告诉我内部碎片和外部碎片的区别吗?大概来自: 内部碎片内部碎片发生在内存 分配器在内存块中留下多余的空间 已为客户端分配。这通常是因为 处理器的设计规定内存必须被分割成块 某些尺寸——例如,可能要求块均匀分布 除以4、8或16字节。发生这种情况时,客户端 例如,需要57字节的内存,可以分配一个 包含60个字节,甚至64个字节。客户端不需要的额外字节 需要去浪费,随着时间的推移,这些小块未使用的内存可以 建立并创建大量无法存储的内存 由分配器使用。因为所有这些无用的字
外部碎片化
总内存空间足以满足请求或驻留其中的进程,但它不是连续的,因此无法使用 内部碎片化
分配给进程的内存块更大。内存的某些部分未被使用,因为它不能被另一个进程使用 首先,术语碎片提示有一个实体被划分为多个部分-碎片
- 内部碎片:典型的纸质书是一个页面集合(文本分为多个页面)。当一个章节的结尾不在页面的末尾,而新的章节从新的页面开始时,这些章节之间会有一个间隙,这是对空间的浪费-一块(一本书的页面)内部(内部)有未使用的空间-“空白”
- 外部碎片:假设你有一本纸质日记,你没有一页一页地按顺序写下你的想法,而是随机写下的。你可能会遇到这样一种情况:你想一行写3页,但你不能,因为没有3页干净的一页接一页,你可能在日记中总共有15页干净的,但它们不是连续的
- 你需要17mb的内存
- 我给你20mb的内存
- 你需要20mb的内存
- 我给你20mb的内存
- 我提供给您的20mb内存与另一个已分配内存块相邻,而不是紧靠在一起。在给你们这些记忆的过程中,我把一个未分配的空间“分割”成了两个空间
满足这一要求只会导致外部碎片化@binary担忧者:对不起..我是Stackoverflow的新手..但我得到了我的问题的答案,无论它们是否与编程相关。完全与编程相关-任何操作系统课程都会在文件系统中涵盖这一点。Maddy,您可能是从另一个站点复制了此文本。如果您这样做,至少需要添加一个指向站点的链接,指明您从何处复制它。我在这里为你做的。这仍然是一个边缘答案,虽然-在未来,请使用像这样的信息作为你自己写的答案的基础,而不是作为整个答案。这是一个惊人的类比。难以置信的类比!也许永远不会忘记这个概念,多亏了这个。有史以来最好的例子