20

I'm currently working on research related to the history of file systems.

Apparently the Master Boot Record was introduced with MS-DOS 2 in 1983, which was also the first DOS that supported hard disks.

MBR lasted for years, in part because we've only started hitting its limits in the early 2000s.

Given the constraints of the time, I'm curious why IBM and Microsoft added support for partitions right from the start. I believe dual boot was not yet a thing and neither was disk imaging. FAT16 apparently supported disks up to 4GB. MS-DOS at this time seems very utilitarian, so this was a surprising feature to me.

Why were partitions such an early feature, and how did people use them?

Evert
  • 423

6 Answers6

38

While MS-DOS 2.0 added the MBR format, it actually didn't support using multiple partitions. Multiple partition support wasn't added until MS-DOS 3.3 in 1987.

Instead, the partition table was for dual-booting. From the PC-DOS 2.0 Manual:

If you intend to use part of the fixed disk with another operating system, then you should go to "Partitioning Your Fixed Disk" in this chapter.

The other operating system would typically be Xenix. From Xenix User's Handbook (1984):

Hard Disk Partitions

For this discussion, we assume that only two operating systems are to be resident on the hard disk. These two systems will be XENIX and MS-DOS.

In a sense the MBR was just crammed in to what would have been the boot sector on a floppy disk. Both floppy disks and hard drive MBR begin their first sector with executable code that the BIOS will load on boot. MBR just chooses to use the last 64 bytes of that sector to store information about partitions, and then pass control to the first sector of the partition.

IBM PC was surprisingly welcoming of alternate operating systems right from the start. The IBM PC/XT 5160 Guide to Operations even mentions in second paragraph of Section 3. Operating your IBM Personal Computer XT:

If you choose to write your own operating system, the IBM Personal Computer XT Technical Reference manual will provide valuable information.

jpa
  • 1,077
22

Just because you don't need dual boot doesn't mean you don't need partitions.

One argument that existed then and still is relevant is that you may want to put the operating system and user data on different partitions for multiple reasons.

Also, DOS was designed for floppy disks, not hard drives. When hard drives were introduced, they were significantly larger than floppy disks, and the larger size exposed issues in the filesystems that made it inefficient or impossible to use the larger sizes without partitioning the disk into pieces.

Over time, these filesystems (FAT12, FAT16) were updated to handle larger sizes (FAT32 ext2fs), and eventually replaced with new filesystems with new larger limits (fat+ ext4) ...that were eventually still not big enough. History repeats. (exfat ntfs xfs zfs)

These issues existed then, and they still exist today, and we partition disks now for the same reasons...and a few more.

user10489
  • 2,081
19

The original FAT16 (partition type 0x04) didn't support partition sizes larger than 32 MB due to cluster size limits. The FAT16 partition type 0x06 does support larger partition sizes and was introduced in 1987 in Compaq PC-DOS 3.31 and later became available in MS-DOS 4.0

Another benefit of having partitions is that it was possible to allocate outer HDD cylinders to one partition and inner cylinders to another. Outer cylinders were faster and it also reduced HDD head seek time within the partition cylinders.

AlexD
  • 386
6

From PC-DOS :

PC-DOS 3.30

The final version of the "classic PC-DOS family," PC-DOS 3.30, had a few major improvements. First, multiple partitions were supported, still up to 32 MB each.

Quick anecdote, in the late 80s, most hard drive came in either 20 or 40 MB in size. 32 MB drives were rare. So, using PC-DOS or MS-DOS 3.30 most owners would partition a 40 MB drive into a 32 and an 8 MB partition and largely ignore the 8 MB partition. The reason for this is if you didn't know the ins and out of fdisk, this is how it would partition the drive by default even though if you just either read the documentation or played around with the settings, you would find that you could easily partition it into 2 equal 20 MB partitions.

This suggests that multiple partitions were created to allow the usage of disks larger than 32MB without waste.

Actually, it stands to reason that disk formats were driven by the evolution in disk technology. Larger disks meant the evolution of partitions, extended partitions, MBR and now GPT.

Other sources about the subject :

harrymc
  • 498,455
3

The block size issue was a big deal, and not just with MS-DOS. I remember (though details are bit fuzzy - this was around 1985) MP/M-86 on an Altos 586-20 to increase the number of file blocks from 1,024 to 2,048 because 1,024 just wasn't enough.

FAT16 allowed for roughly 2^16 = 64k files. The exact number varied depending on various factors and was slightly less, but basically 64k. By the early 1990s, 1 Gig. was not that unusual. 1 Gig. at 64k clusters = 16k per cluster. Even worse is if you have 1.5 Gig. and 32k per cluster.

For databases and other large files that's fine. For a mix of large and small files it was generally fine. But if you have a lot of small files then it would be a major waste of precious storage space, and In these types of situations, partitions can really improve utilization of the available space. While multiple physical drives often provided better performance, they often cost more and require more space and power, so a single large drive with multiple partitions can work quite well.

-12

There really weren't "PC users" in the 1980s in the sense that we think. Most PCs were glorified Wang terminals with lower resolution displays and used only to run WordPerfect.

Most systems design was still proprietary and interoperability was minimal. "PC" Storage continued to remain primitive, primarily due to most decisions made by a small number of vendors that were more concerned about threatening the commercial storage business.

I worked on a BSD Unix Sun workstation clone in the late 1980s that simply had just way better storage than PCs. That and I believe the Mac also used SCSI.

Windows wasn't really considered a serious general purpose product until Windows 3.0 in 1990 anyway.

Giacomo1968
  • 58,727