我目前正在从事与文件系统历史相关的研究。
显然,主引导记录是在 1983 年随 MS-DOS 2 引入的,这也是第一个支持硬盘的 DOS。
MBR 持续了多年,部分原因是我们在 2000 年代初才开始达到其极限。
考虑到当时的限制,我很好奇为什么 IBM 和 Microsoft 从一开始就增加了对分区的支持。我相信双启动尚未成为现实,磁盘映像也尚未成为现实。FAT16 显然支持最大 4GB 的磁盘。MS-DOS此时显得非常功利,所以这对我来说是一个令人惊讶的功能。
为什么分区是一个如此早期的功能,人们是如何使用它们的?
仅仅因为您不需要双启动并不意味着您不需要分区。
当时存在且仍然相关的一个论点是,出于多种原因,您可能希望将操作系统和用户数据放在不同的分区上。
另外,DOS 是为软盘而不是硬盘设计的。当硬盘驱动器问世时,它们比软盘大得多,并且较大的尺寸暴露了文件系统中的问题,导致在不将磁盘分区的情况下使用较大尺寸的效率低下或不可能。
随着时间的推移,这些文件系统(FAT12、FAT16)被更新以处理更大的大小(FAT32 ext2fs),并最终被具有新的更大限制(vfat ext4)的新文件系统所取代......最终仍然不够大。历史重演。(xfat ntfs xfs zfs)
这些问题当时就存在,今天仍然存在,我们现在出于同样的原因对磁盘进行分区……还有更多原因。
虽然MS-DOS 2.0添加了MBR格式,但它实际上不支持使用多个分区。直到 1987 年 MS-DOS 3.3 才添加多分区支持。
相反,分区表用于双引导。来自PC-DOS 2.0 手册:
其他操作系统通常是 Xenix。来自Xenix 用户手册 (1984):
从某种意义上说,MBR 只是塞进了软盘上的引导扇区。软盘和硬盘驱动器 MBR 都以 BIOS 将在启动时加载的可执行代码开始其第一个扇区。MBR只是选择使用该扇区的最后64字节来存储有关分区的信息,然后将控制权传递给该分区的第一个扇区。
IBM PC 从一开始就令人惊讶地欢迎替代操作系统。IBM PC/XT 5160 操作指南甚至在第 3 节的第二段中提到。操作您的 IBM 个人计算机 XT:
由于簇大小限制,原始 FAT16(分区类型 0x04)不支持大于 32 MB 的分区大小。FAT16 分区类型 0x06 支持更大的分区大小,于 1987 年在 Compaq PC-DOS 3.31 中引入,后来在 MS-DOS 4.0 中可用
拥有分区的另一个好处是可以将外部 HDD 柱面分配给一个分区,将内部柱面分配给另一个分区。外柱面速度更快,并且还减少了硬盘磁头在分区柱面内的寻道时间。
从PC-DOS:
这表明创建了多个分区以允许使用大于 32MB 的磁盘而不浪费。
事实上,按理说磁盘格式是由磁盘技术的发展推动的。更大的磁盘意味着分区、扩展分区、MBR 和现在的 GPT 的演变。
有关该主题的其他来源:
哪个 MS-/PC-DOS 版本第一个允许使用多个分区?
当有两个以上软盘驱动器时,MS-DOS 如何分配驱动器号?
块大小问题是一个大问题,而且不仅仅是对于 MS-DOS。我记得(虽然细节有点模糊 - 这是在 1985 年左右)Altos 586-20 上的 MP/M-86 将文件块的数量从 1,024 增加到 2,048,因为 1,024 还不够。
FAT16 允许大约 2^16 = 64k 文件。确切的数量因各种因素而异,稍少一些,但基本上是 64k。到了 20 世纪 90 年代初,1 场演出。并不是那么不寻常。1 演出。64k 集群 = 每个集群 16k。更糟糕的是,如果您有 1.5 Gig。每个集群 32k。
对于数据库和其他大文件来说这很好。对于大文件和小文件的混合,通常没问题。但是,如果您有很多小文件,那么这将是对宝贵存储空间的极大浪费,在这种情况下,分区确实可以提高可用空间的利用率。虽然多个物理驱动器通常可以提供更好的性能,但它们通常成本更高,并且需要更多的空间和电力,因此具有多个分区的单个大型驱动器可以很好地工作。
20 世纪 80 年代确实不存在我们想象中的“PC 用户”。大多数 PC 都是配备较低分辨率显示器的荣耀 Wang 终端,并且仅用于运行 WordPerfect。
大多数系统设计仍然是专有的,互操作性也很小。“PC”存储仍然保持原始状态,主要是由于少数供应商做出的大多数决定更担心威胁商业存储业务。
我在 20 世纪 80 年代末开发了一个 BSD Unix Sun 克隆工作站,它的存储性能比 PC 好得多。我相信 Mac 也使用了 SCSI。
无论如何,直到 1990 年的 Windows 3.0 之前,Windows 才真正被认为是一个真正的通用产品。