分层文件系统是什么

维基 问答 2022-05-25 18:30:25 阅读(...)

分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。

分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在 Mac OS 上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如 CD-ROM 上见到。

分层文件系统 Hierarchical File System

历史

HFS 首次出现在 1985 年 9 月 17 日,作为 Macintosh 电脑上新的文件系统。它取代只用于早期 Mac 型号所使用的平面文件系统 Macintosh File System(MFS)。因为 Macintosh 电脑所产生的数据,比其它通常的文件系统,如 DOS 使用的 FAT 或原始 Unix 文件系统所允许存储的数据更多。苹果电脑开发了一种新式更适用的文件系统,而不是采用现有的规格。例如,HFS 允许文件名最多有 31 个字符的长度,支持元数据和双分支(每个文件的数据和资源支分开存储)文件。

尽管 HFS 像其它大多数文件系统一样被视为专有的格式,但是只有它为大多数最新的操作系统提供了很好的通用解决方法以访问 HFS 格式磁盘。

在 1998 年,苹果电脑发布了 HFS Plus,其改善了 HFS 对磁盘空间的地址定位效率低下,并加入了其它的改进。当前版本的 Mac OS 仍旧支持 HFS,但从 Mac OS X 开始 HFS 卷不能作为启动用。

构成方式

分层文件系统把一个卷分为许多 512 字节的“逻辑块”。这些逻辑块被编组为“分配块”,这些分配块可以根据卷的尺寸包含一个或多个逻辑块。HFS 对地址分配块使用 16 位数值,分配块的最高限制数量是 65536。

组成一个 HFS 卷需要下面的五个结构:

  1. 卷的逻辑块 0 和 1 是启动块,它包含系统启动信息。例如,启动时加载的系统名称和壳(通常是 Finder)文件。
  2. 逻辑块 2 包含主目录块(Master Directory Block,简称 MDB)。
  3. 逻辑块 3 是卷位图(Volume Bitmap)的启动块,它追踪分配块使用状态。
  4. 总目录文件(Catalog File)是一个包含所有文件的记录和储存在卷中目录的 B*-tree。
  5. 扩展溢出文件(Extent Overflow File)是当最初总目录文件中三个扩展占用后,另外一个包含额外扩展记录的分配块对应信息的 B*-tree。
收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • file system 文件系统

    文件系统是什么

    计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。
  • 文件管理系统是什么

    文件管理系统是什么

    文件系统是操作系统用于明确存储设备(磁盘,NAND Flash固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
  • 延伸文件系统 Extended file system

    延伸文件系统是什么

    延伸文件系统(扩展文件系统)是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。它是在linux上,第一个利用虚拟文件系统实现出的文件系统,最大可支持2GB的文件系统。
  • file 文件

    闪存文件系统是什么

    闪存文件系统(Flash file system),是一种为了在闪存设备上存储资料而设计的文件系统,如JFFS2与YAFFS等。随着移动设备的日渐增加,闪存的存储能力增加以及价格下降,这类型的文件系统变得越来越普遍。
  • 嵌入式文件系统是什么

    嵌入式文件系统是什么

    嵌入式文件系统是指嵌入式系统中实现文件存取、管理等功能的模块,提供一系列文件输入输出等文件管理功能,为嵌入式系统和设备提供文件系统支持。
  • 文件系统结构是什么

    文件系统结构是什么

    文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构。文件系统是软件系统的一部分,它的存在使得应用可以方便的使用抽象命名的数据对象和大小可变的空间。