简单聊早期Mac OS与Mac OS X的文件系统

请注意:本文章发表于 2018年10月22日 ,已经超过一年,其内容可能已经过期。对于发表时间较久的文章,本站不能在准确性和质量方面做出保证。虽然仍然欢迎提出改进建议,但一般不再维护,敬请谅解。

Mac OS X 10.13起,苹果开始将既有的HFS+文件系统格式化的默认文件系统转换到APFS。那么你是否了解那些Mac上曾经广为流行的文件系统,包括MFS,HFS甚至UFS?


Macintosh 文件系统(MFS)

Macintosh 文件系统(MFS)是最初应用在Mac电脑上的文件系统。它支持20MB的最大容量,听起来是一个很小的数据,但在1984年Macintosh 128K推出时它的主要应用场景是400KB的Mac软盘,所以实际上在当年20MB算是天文数字。它支持255字符的文件名,执行MacRoman代码页。MFS不支持子目录。System 7是最后一代可以将MFS装上为读写的系统,Mac OS 8.0中MFS只能装上为只读,Mac OS 8.1开始Mac彻底抛弃了对MFS的支持。

MFS的推出的最重要的意义就是建立了Mac OS最基本的文件概念,包括resource fork「资源派生」和data fork「数据派生」,其中resource fork是文件最底层的结构,存储文件的结构数据,元数据等,而data fork则存储文件没有结构化的资源数据。resource fork在Mac OS应用程序上不可或缺,它存储了应用程序的图标、窗口大小、应用程序菜单的样式和内容等结构化的数据,并且可以通过Macintosh Toolbox中的API来调用。每个文件都可以包含resource fork。如此,Mac OS上的文件概念与PC完全不同;电脑通过读取resource fork来判断该文件的类型,并且Mac的文件都无需扩展名这一PC概念来正确地打开它们。

使用ResEdit软件来查看和编辑Finder的resource fork

HFS与HFS+

HFS(Mac OS 标准格式)是很长时间中的Mac专有主要文件系统,也是苹果Open Firmware所支持的最基本的文件系统,非常常见于早期的Mac电脑的硬盘、软盘和光盘等。1984年随着苹果的第一代硬盘推出,HFS就在Macintosh上得到应用,它对比MFS是全新的设计,最初专注于硬盘等大容量存储场景,而不是在MFS的基础上改进。显而易见地,HFS不但保留了之前文件所设定的基本概念,更带来了极大的功能增强:应用了全新的目录文件,支持子目录结构等基本功能,支持最初的权限概念,支持更多的Mac文件属性,并且它随着Mac OS的更新不断更新。HFS的支持持续至今,Mac OS X 10.5 Leopard之前,HFS可以装上为读写;而之后只可以装上为只读。

而HFS+(Mac OS 扩充格式,或HFS扩展)则是Mac的专有大容量硬盘文件系统,在HFS的基础上加以改进。在1998年Mac OS 8.1时苹果首次带来了对HFS+的支持。HFS+抛弃了MacRoman,从而执行Unicode作为文件命名的编码标准。HFS+通过增加可分配块数目,降低单一文件的最大大小值,HFS+推出的第一目标是优化大容量硬盘的存储能力。例如,在一个4GB的硬盘上,一个仅包含4K信息的HFS文件需要64KB存储空间;而HFS+文件则只需要4KB。HFS+同样扩容了文件数量大小,并且极大地提升了单个文件的最大大小和硬盘容量到8EB,在如今这几乎都是无限的;而HFS则最大大小为2GB,最大仅支持2TB硬盘。HFS+的完整支持同样持续至今,直至Mac OS X 10.12 Sierra中它都作为系统的默认文件系统;在Mac OS X 10.13 High Sierra中,它被AFPS取代,后者优化了SSD性能,作为SSD上的默认文件系统。

HFS+出生在一个承上启下的时代,Copland为代号的Mac OS 8承载了苹果的现代化操作系统梦想,而HFS+又将为随后的Mac OS X提供基础。HFS+的兼容性要求苛刻。它只能作为PowerPC电脑的启动磁盘,并且只被Mac OS 8.1以上的系统版本支持。Mac OS X开始,由Mac OS X磁盘工具所格式化的HFS+支持Mac OS X的安装;分区表基础上的,由Mac OS X磁盘工具格式化的HFS+需要安装基于分区表的驱动程序,才能被Classic所读取。Mac OS 9所初始化的基于分区表的HFS+默认安装驱动程序。彻底取代HFS后HFS+作为Mac OS 9.2或更高版本的建议文件系统,被一路改进,增加多个分支后最终被APFS取代。

在Mac OS 7下,以HFS+格式化的磁盘不能正常装上,文件全部消失,只留下一个说明文档
该说明文档的内容

UFS

UFS在Macintosh上的应用源远流长,但时间不长,场景不多,不能撼动HFS的主流地位,也不能被Open Firmware读取用于直接启动电脑。A/UX是第一个在Mac上应用UFS(UFS System V Release 2)的操作系统,同样地还有一些第三方Linux;Rhapsody和Rhapsody内核的早期Mac OS X Server是第二个在Mac上应用UFS(Rhapsody UFS)的操作系统;Mac OS X的早期版本是第三个在Mac上应用UFS的操作系统。三种操作系统的UFS不能互相读取,例如,Mac OS X正式版不能读取Rhapsody UFS。

在Mac OS X承上启下的时代,UFS短暂亮相。Rhapsody内核的操作系统不能在HFS+上运行,系统必须被安装在Rhapsody UFS格式化的分区上;但由于Open Firmware不能直接启动UFS分区上的系统,需要一个HFS分区辅助引导操作系统。进入Darwin时代的Mac OS X早期版本,UFS曾被提供短暂的支持,但此时苹果已经提供在HFS+分区上安装的选项,UFS文件系统从未成为主流。一切Mac OS都不能装上UFS。

Rhapsody 5.6,即Mac OS X Server 1.2正在UFS格式化的磁盘下运行

FAT(DOS 文件系统)

FAT(DOS 文件系统)从未作为Mac的默认文件系统,但Macintosh电脑在Mac OS下通过一个系统默认安装的控制板——PC Exchange(文件交换程序),就可以装上FAT的磁盘。System 7中苹果提供PC Exchange,以作为增强PC兼容性措施的一部分;而其他部分包括PC兼容卡也是非常有趣的,它通过一个486处理器,赋予了Macintosh在控制板的基础上同时运行DOS和Windows的能力。PC Exchange提供对FAT文件系统的完整支持,并且带来了对文件扩展名的映射,毕竟Mac OS的文件没有扩展名这一PC概念。

在Mac OS X下,Mac OS X不再有控制板这一形式的程序。Mac OS X是先进的UNIX操作系统,它使用完全不同类型的驱动程序提供FAT支持。

Mac OS 8.6下的文件交换程序控制板

拓展阅读

赞赏站长

本站是原创性质的个人站点,站长拥有所有原创内容的著作权,版权所有。

站长欢迎任何人利用本站内容进行高质量的二次创作,但必须为站长署名(@paizhangpi 或 @paizhang),并附上本站的链接,或事先与站长协商授权事宜。除此之外,严禁任何人盗用本站包括图片在内的任何原创内容,形式包括但不限于低质量或未署名的二创或使用、转载、抄袭、引用、改编、翻译,乃至用于商业用途等。以上行为一经发现,将会追究到底。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据