分层文件系统
分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。
历史
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卷需要下面的五个结构:
- 卷的逻辑块0和1是启动块,它包含系统启动信息。例如,启动时载入的系统名称和壳(通常是Finder)文件。
- 逻辑块2包含主目录块(Master Directory Block,简称MDB)。
- 逻辑块3是卷位图(Volume Bitmap)的启动块,它追踪分配块使用状态。
- 总目录文件(Catalog File)是一个包含所有文件的记录和储存在卷中目录的B*-tree。
- 扩展溢出文件(Extent Overflow File)是当最初总目录文件中三个扩展占用后,另外一个包含额外扩展记录的分配块对应信息的B*-tree。
参见
外部链接
- (英文)HFS规格(官方)
- (英文)HFS入门——来自 MWJ 的PDF文件
- (英文)MacWindows(解答转换平台问题的网站)
- (英文)Filesystems HOWTO - Macintosh分层文件系统(有点过时) (页面存档备份,存于互联网档案馆)
- (简体中文)Mac OS X开发文件中的文件系统