内部碎片与外部碎片2025年4月4日 | 阅读 4 分钟 什么是碎片化?“碎片化是一种数据存储过程,其中内存空间使用不足,降低了能力或效率,有时两者兼而有之。” 碎片化的确切含义取决于正在运行的特定存储空间分配方案和特定的碎片类型。在某些情况下,碎片化会导致“未使用的”存储容量,并且该概念也适用于在这种情况下生成的不可用空间。用于保留数据集的内存(例如文件格式)与其他系统(例如 FAT 文件系统)类似,无论碎片化程度如何(从无到极端)。 存在三种不同的碎片化类型:内部碎片、外部碎片和数据碎片,它们可以单独存在或组合存在。为提高效率、性能或可用性,碎片化通常被视为可接受。对于其他工具(如处理器),也会发生类似的情况。 碎片化的基本概念当计算机程序向操作系统 (OS) 请求存储片段时,这些元素以块的形式分配。当软件程序的某个块完成时,它可以被释放回系统,使其准备好在之后再次传输到下一个或类似的程序。软件在块被其保留的大小和持续时间上有所不同。计算机程序在其生命周期中可以请求和释放多个存储块。 当系统启动时,未使用的内存区域是大的且连续的。大的连续区域会随着时间和利用率而逐渐碎片化成较小的区域。最终,系统访问大的连续存储块可能会变得困难。 ![]() 内部碎片通常会保留比实际需要更多的内存空间,以遵守管理存储空间的限制。例如,内存只能以块(4 的倍数)的形式提供给系统,因此,如果程序请求 29 字节,它将获得 32 字节的分配。当发生这种情况时,多余的存储空间就会浪费掉。在这种情况下,无用的空间位于分配区域的内部。这种称为固定段的结构存在内存过度使用的问题——无论过程多么微不足道,都会消耗一个巨大的块。这种浪费被称为内部碎片。与许多其他形式的碎片不同,内部碎片通常无法恢复,消除它的唯一方法是重新设计。 例如,在动态存储分配中,通过将空间开销扩展到更多元素上,存储池显著减少了内部碎片。 ![]() 上面提到的图显示了内部碎片,因为内部碎片被认为是分配的存储空间和所需空间或内存之间的区别。 外部碎片化当已使用的存储空间被分成较小的批次并被分配的内存空间中断时,就会发生外部碎片。它是许多存储分配方法的弱点,因为它们无法有效地调度系统使用的内存。结果是,尽管有未使用的存储空间可用,但实际上无法访问,因为它被单独分割成太小的片段,无法满足软件的要求。“外部”一词源于不可访问空间存储在分配区域之外的事实。 例如,考虑这样一种情况:系统分配三个连续的内存块,然后释放中间块。内存分配器可以将此未使用的存储分配用于将来的分配。幸运的是,如果待保留的存储空间大于此可用区域,它将不会使用此组件。 在数据文件中,外部碎片通常存在于形成、调整大小和丢弃各种大小的多个文件时。如果一个被分成几个小块的文档被删除,影响会更糟,因为这会保留同样小的空闲空间段。 ![]() 您可以看到,在上面提到的图中,有足够的内存空间 (55 KB) 来执行进程-07(需要 50 KB),但存储(碎片)不相邻。在这里,为了使用空闲空间运行一个过程,您可以使用压缩、分页或分段策略。 内部碎片与外部碎片![]() 下面以表格形式讨论了内部碎片和外部碎片之间的区别。
|
? 什么是 Azure CLI?Microsoft Azure CLI(命令行界面)是一组命令行工具。它用于管理和协作 Microsoft Azure 云产品和资源。而不是使用图形用户界面 (GUI),用户可以执行各种...
阅读 16 分钟
ReactOS 操作系统专为 i586/amd64 个人计算机设计。它是免费的开源软件,并提供二进制兼容功能。它与为 Windows Server 2003 及以上版本创建的软件和设备驱动程序二进制兼容。ReactOS 专注于对未公开的 Windows API 的了解,并提供开源的替换方案...
7 分钟阅读
多任务处理是指同时运行多个程序或进程的方法。大多数现代操作系统都支持多任务处理,以最大限度地利用处理器。多任务处理主要有两种类型:抢占式和协作式多任务处理。在本文中,您将了解抢占式...
阅读 4 分钟
在本文中,您将了解操作系统中的分布式文件系统及其功能、组件、优点和缺点。什么是?分布式文件系统 (DFS) 是分布在各种文件服务器和位置上的文件系统。它允许程序访问……
阅读 6 分钟
IBM 创建了名为 IBM i 的操作系统,代表“集成”,用于 IBM Power Systems。当它于 1988 年首次发布为 OS/400 时,它是 IBM AS/400 系列的唯一可用操作系统。在...年。
阅读 6 分钟
在本文中,我们将讨论计算机网络中的第 2 层隧道协议 (L2TP) 及其组件、功能、优点和局限性。L2TP 简介:第 2 层隧道协议 (L2TP) 是计算机网络中一种流行的协议,特别用于虚拟专用网络 (VPN)。它在...
11 分钟阅读
在本文中,您将了解 Cisco 国际操作系统及其历史、功能、优点等等。Cisco IOS 可以追溯到计算机网络发展的早期。Leonard Bosack 和 Sandy Lerner 于 1984 年创立了 Cisco System,它...
11 分钟阅读
LINUX 操作系统的类型 Linux 是计算机和其他设备中最流行的操作系统之一。尽管 Linux 的多个版本也用于台式机、笔记本电脑和大型机,以及一些不太常见的设备,但它们可能是最广为人知的……
阅读 8 分钟
缓冲区是主内存中用于临时存储或保存数据的区域。换句话说,缓冲区临时存储从一个地方传输到另一个地方的数据,无论是设备之间还是应用程序之间。在缓冲区中临时存储数据的行为...
阅读 6 分钟
上下文切换是多任务操作系统中的一项关键操作,CPU 在执行一个进程到另一个进程之间进行转换。这种机制使我们能够充分利用 CPU,确保多个进程可以共享 CPU。但是上下文切换是有成本的,...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India