文件和群集

文件是文件系统中用户可以访问和管理的数据单元。 文件在其目录中必须具有唯一的名称。 它由一个或多个字节流组成,这些字节流包含一组相关数据,以及一组属性 (也称为属性) ,用于描述文件或文件中的数据。 文件的创建时间是文件属性的一个示例。

创建文件时,会创建一个未命名的默认流,以存储文件打开时写入该文件的所有数据。 还可以在 文件中创建其他流。 这些附加流称为备用流。 下图描绘了一个具有默认流和两个备用流的文件。

具有默认流和两个备用流的文件

文件属性不存储在包含文件数据的数据流中,而是存储在其他位置并由操作系统管理。

所有文件系统数据(包括系统启动代码和目录)都由 NTFS 文件系统存储在文件中。 其他文件系统将此信息存储在文件系统外部的磁盘区域中。 将此信息存储在文件中的一个优点是 Windows 可以轻松查找、访问和维护信息。 其他优点是,其中每个文件都可能受安全描述符的保护,在部分磁盘损坏的情况下,它们可能会快速重定位到磁盘的更安全部分。

所有受支持的文件系统的基本存储单元都是 群集,它是一组扇区。 这使文件系统可以独立于硬件磁盘控制器设置的磁盘扇区大小来优化磁盘数据的管理。 如果要管理的磁盘很大,并且在单个操作中移动和组织大量数据,管理员可以调整群集大小以适应这种情况。

Windows 通过 文件对象文件句柄文件指针管理文件

有关文件流的详细信息,请参阅 文件流。 有关群集的详细信息,请参阅 群集和范围。 有关如何访问和管理文件的详细信息,请参阅文件管理和文件管理参考

在本节中

主题 说明
文件流
在 NTFS 文件系统中,流包含写入文件的数据,这些数据比属性和属性更能提供有关文件的信息。
文件对象
文件对象 充当内核和用户模式进程与驻留在物理磁盘上的文件数据之间的逻辑接口。
文件句柄
当某个进程使用 CreateFile 函数打开文件时, 文件句柄 将与之关联,直到进程终止或使用 CloseHandle 函数关闭句柄为止。
文件指针
文件指针是一个 64 位偏移值,指定要读取的下一个字节或接收写入的下一个字节的位置。
群集和盘区
可以从两个不同的角度引用群集:在文件内和卷上。