操作系统中页(Page)和块(Block)的区别

2025年6月18日 | 阅读 10 分钟

页(Page)和块(Block)都是操作系统中的数据存储单元。然而,两者对于操作系统都非常重要,因为它们各自服务于不同的目的。本文将概述操作系统中的,并讨论它们之间的区别。

操作系统中的页(Page)是什么?

页也是一种数据存储单位。页从主内存加载到处理器中。一个页由单元块或块组组成。页的大小是固定的,通常为 2k 或 4k,一个固定长度的连续内存块被称为页。页也称为虚拟页或内存页。

虚拟机操作系统中,它是数据管理的最小单位,借助页,操作系统执行文件的读写功能。当页在主内存和辅助内存之间传输时,这个过程被称为分页(paging)

操作系统更倾向于使用页而不是块,因为当存在多个存储设备时,使用页进行处理比使用块更容易。此外,页的大小通常是固定的,而块的大小是可变的。然而,页和块都是数据存储单元。

例如:

存储区域网络(SAN)是使用页的一个很好的例子。页的使用方式将取决于 SAN 在后端如何存储数据。在处理使用虚拟化的 SAN 时,分页是 SAN 在不同驱动器类型之间移动数据的方式。

Page vs Block in Operating System

分页是 SAN 操作系统优化和跟踪存储数据的方法。因此,当您向阵列写入数据时,写入操作通常被分解为可管理的段。这些段会消耗内存空间,通常您使用的页越小,消耗的内存就越多。

页的特性

以下是操作系统中页的一些特性:

  • 页的大小由处理器架构决定。
  • 有些操作系统使用页而不是块。
  • 页是内存中存储的最小单位,相当于 RAM 中的单位。
  • 如果处理器所需的页不在主内存中,这被称为缺页(page fault),它会通过一个称为缺页处理例程的特殊程序被调入主内存。
  • 将所需的页调入主内存的技术被称为按需分页(page demanding)。
  • 页充当操作系统和硬盘驱动器之间的中间人。

虚拟内存系统使用页的好处

  • 通过按需分配内存并将不需要的页移动到辅助存储,页让操作系统能够更有效地管理内存。
  • 页提供了更灵活的内存分配,因为程序可以以较小的块请求内存,而不必担心物理内存的限制。
  • 页使虚拟内存成为可能,从而允许应用程序访问比系统物理容量更多的内存。

虚拟内存系统中使用页的缺点

  • 由于操作系统必须管理虚拟内存和物理内存之间的映射,分页可能会导致额外的开销。
  • 如果系统发生颠簸(thrashing)——即操作系统不断地将页换入换出内存——分页可能会导致性能下降。

操作系统中的块(Block)是什么?

块是数据存储的最小单位。它用于读取文件或向文件写入数据。块也是一个比特和字节的序列。扇区是格式化磁盘上存储信息的物理位置。一个块由一个或多个扇区(2, 4, 6...)组成。块也称为物理记录

块是一个抽象概念,代表文件系统上最小的存储单位。在内核内部,所有的文件系统操作都是以块为单位进行的。每当您从磁盘读取或向磁盘写入时,您读取的数量是所需块数的倍数。默认的 NTFS 块大小(也称簇大小,也称分配单元)是 4096 字节(4KB)。

如果您有一个恰好是 4096 字节长的文件,那么您从磁盘读取一个块。如果文件是 4097 字节,那么您需要读取两个块。您不能读取部分块,所以即使文件实际上没有占满整个块,存储文件系统也会将块的其余部分留空。

操作系统可以寻址的块或驱动器地址数量是有限的。通过将一个块定义为多个扇区,操作系统可以使用更大的硬盘驱动器,而无需增加块地址的数量。

示例

PS DOS 使用了 65,536 个块地址(早期,现在使用页),每个块只能是一个扇区。因此,磁盘卷的最大大小可能是 32MB (64K * 512字节)。如果将块的大小增加到 4K,那么相同版本的 DOS 现在可以处理高达 256MB 的卷(64K 地址 * 4K 块)。

Page vs Block in Operating System

对于当前版本的操作系统,格式化软件会查看驱动器的大小,并计算出使用整个驱动器所需的最小扇区数。因此,当您格式化软盘时,块大小将是一个扇区。例如,当您格式化一个 230MB 的驱动器时,块大小是 8 个扇区(4K)。

当一个文件从硬盘复制到软盘时,它通常会占用比在硬盘上更少的空间。虽然文件大小相同,但存储文件将使用更少的扇区。

相反,当文件从软盘复制到硬盘时,它通常会占用更多的磁盘空间。当文件存储在磁盘上时,它们总是占用整数个块,块末尾任何不需要的空间都未被使用且被浪费了。

块在文件系统中如何使用?

文件系统中用于存储数据的每个块都需要存储一定量的元数据,以及您正在写入的实际文件数据,例如时间戳(创建、修改)、文件名、所有权和权限位。对于跨越多个块的文件,您还必须存储每个块的 ID 以及它们链接在一起的顺序等。

在操作系统中确定块大小是一个权衡的问题。每个文件必须至少占用一个块,即使文件大小为 0 字节,这意味着文件的元数据中有一些东西需要附加。对于不能完全容纳在该块内的文件,会有一定量的浪费。

当您需要存储大量小文件时,小块大小是好的选择。另一方面,更多的块等于更多的元数据,所以您最终会将存储系统的一部分浪费在开销上,用于跟踪所有文件的位置。大块意味着更少的元数据,但也意味着在存储小文件时浪费更多。例如,一个 1 字节的文件存储在一个 4k 的块中,会浪费该块的 3.99k。

块的特性

以下是操作系统中块的一些特性:

  • 大多数操作系统使用块来存储数据。
  • 当我们将数据放入块中时,这被称为分块(blocking),当我们从块中提取数据时,这被称为解块(deblocking)
  • 块可以有不同的大小,块的大小被称为块大小。
  • 操作系统中的每个文件至少占用一个块,即使它的大小为 0 字节。
  • 块为负责存储和检索数据的硬件提供了一个抽象层。
  • 分块提高了数据处理流的速度并减少了开销。

在存储系统中使用块的好处

  • 因为数据可以存储在更小、连续的单元中,而不是分散在多个扇区上,所以块能更有效地利用存储空间。
  • 通过允许存储设备同时读写多个块,块可以通过减少所需的磁盘寻道次数来提高速度。

使用块的存储系统的缺点

  • 如果文件小于块大小,使用固定块大小可能会导致存储空间浪费。
  • 由于文件系统必须跟踪每个块的大小和位置,使用可变块大小可能会导致显著的开销。

页(Page)和块(Block)的区别

页和块都是操作系统中的数据存储单元,但两者是不同的。以下是页和块之间的一些区别:

块是操作系统可以向文件写入或从文件读取的最小数据单位。页是虚拟机管理的最小数据单位。
块是比特和字节的序列。块由扇区组成。页由单元块或块组组成。
一个块由一个或多个扇区(2, 4, 6...)组成,这意味着块的大小是可变的。页有固定的大小。通常,4K 和 2K 是最常用的尺寸。
当有多个存储设备时,使用块进行处理很困难,因为每个设备支持的块大小都不同。当有多个存储设备时,由于页的大小固定,使用页进行处理比使用块更容易,而不需要去了解如何处理不同大小的块。
任何在硬盘和 RAM 之间传输的数据通常以块的形式发送,而不是实际的字节。页管理存储在 RAM 中的数据。

块是操作系统中可变大小的存储单元,而页是固定大小的内存单元。

在基于分页的虚拟内存系统中,页是在主内存和辅助存储(通常是硬盘)之间移动的最小数据单位。操作系统的内存管理单元负责管理页,页的大小通常为 4KB 或 8KB。页表记录了每个页与物理内存帧之间的映射关系。

另一方面,块是作为单个单元读写到辅助存储的连续记录或字节集合。

块的大小可能会变化,并且通常由存储设备或文件系统决定。例如,文件系统可能在硬盘上使用 4KB 或 16KB 的块大小来存储文件。

总之,块是由文件系统或存储设备控制的可变大小的存储单元,而页是由操作系统的内存管理单元控制的固定大小的内存单元。

为什么页比块更受青睐?

使用页是因为当有多个存储设备时,它们使处理变得更容易。毕竟,每个设备可能支持不同的块大小。通过使用页,操作系统可以只处理固定大小的页,而不用去弄清楚如何处理各种不同大小的块。因此,页是操作系统和硬件驱动程序之间的中间人,硬件驱动程序将页转换为适当的块。但是,页和块都用作数据存储的单位。

总结

总之,页和块都作为主内存和辅助存储之间数据传输的单位。在信息传输方面,操作系统更倾向于使用页而不是块。第一个论点是,当有多个存储设备时,用页处理比用块处理更简单。此外,块的大小各不相同,而页的大小通常是一致的。尽管如此,块和页都是数据存储单元。

常见问题

在虚拟内存管理方面,操作系统页的主要目的是什么?

页是一个固定大小的内存单元。它使操作系统能够有效地将物理内存映射到虚拟地址。页将加载到内存中的数据量限制为程序所需的部分,并减少碎片化,从而实现多任务处理,提高性能和资源利用率。

操作系统块的目的是什么?

操作系统块是磁盘上最小的数据存储单位。为了有效地存储文件,文件系统将磁盘划分为固定大小的块。在向磁盘读取或写入数据时,会使用块。这种结构有助于空间管理并提高 I/O 性能。

页和块如何与内存和存储管理相关?

操作系统使用分页或交换,这涉及到页和块之间的交互,以将内存内容移动到磁盘。在这些情况下,来自内存的一个页被包含在一个磁盘块中。当 RAM 已满时,系统可以通过使用存储空间来临时增加可用内存量。

为什么内存和磁盘存储有不同的管理机制?

内存和存储具有不同的易失性、功能和速度。RAM 速度快且是易失的,而磁盘存储速度较慢且是永久性的。长期文件数据存储采用块进行有效管理,而内存则使用页进行快速分配和访问。

对齐页和块的大小能提高性能吗?

协调页和块的大小确实可以提高效率,通过减少分割或合并数据的需要,尤其是在进行交换时。但这不是必需的,因为操作系统有内部机制来处理不同的大小。

访问页和块哪个更快,为什么?

由于 RAM 的纳秒级访问时间和磁盘较慢的速度,访问 RAM 中的页比访问磁盘上的块要快得多。因此,经常使用的数据保存在内存中,只有在必要时才访问磁盘。

为什么块对于文件系统有效读写数据是必需的?

没有块,逐字节处理数据会缓慢且无序。块通过促进元数据和索引等任务,加快了文件操作并使存储更易于管理。