MS-DOS 2.0: The Rewrite That Almost Didn't Happen

The Road to MS-DOS 2.0

MS-DOS 2.0: The Rewrite That Almost Didn't Happen

MS-DOS 2.0 was a major rewrite, but it nearly stayed a minor update. IBM wanted only hard disk support, but Paul Allen pushed for a UNIX-inspired hierarchical file system, installable drivers, and print spooling. Despite Bill Gates' fears of alienating IBM, Allen's team of six delivered a much larger OS, shipping with the IBM PC XT in 1983.

But it soon became clear that IBM was committed to keeping DOS 2.0 as close as possible to the eight thousand bytes used by DOS 1.1, so as not to disrupt their existing user base.
  1. add2

    Unexpectedly, MS-DOS 2.0 included a /dev directory.

    https://github.com/microsoft/MS-DOS/blob/main/v2.0/source/CO...

  2. pjmlp

    Traditional reference how Microsoft was doubling down on UNIX with Xenix, before having a change of heart.

    The Future of Xenix, Bill Gates Interview on Unix World, back in 1985

    https://archive.org/details/Unix_World_Vol02_10.pdf

  3. markus_zhang

    I was teaching myself 8086 16-bit assembly a few nights ago on MS-DOS 5.0. It was so much fun getting a color block to display on CGA.

    Nevertheless, writing system code in assembly was probably going to cause a lot of insomnia and other side effects, especially when Microsoft was far from the domination force on IBM PC.

  4. EvanAnderson

    This is enlightening. Growing up playing with Unix boxes (and XENIX, specifically, mostly writing shell scripts and playing in the filesystem) and programming MS-DOS in assembly I could often see strange parallels between how stuff worked in MS-DOS and his stuff was in Unix. I just assumed MSFT programmers had used Unix at some point and wanted to lift features and idioms from it to use in DOS. It never occurred to me, knowing XENIX was a MSFT-licensed Unic derivative, that there might be more direct inspiration in that vague Unix "flavor" in DOS.

    I never did any CP/M programming, so the whole FCB-based file manipulation API in MS-dos just seemed like strange old cruft to me. Had I been exposed to CP/M the Unix inspiration behind the handle-based API would have been a lot more apparent. (I got in about the MS-DOS 3.3 timeframe...)

    What a strange world it would have been in MSFT got IBM to buy into the Unix path separator.

  5. walrus01

    I know this is software focused, but as much of the work done in DOS 2.0 was to support the introduction of hard disks, it would be worth mentioning what the hardware was in the PC/XT:

    https://en.wikipedia.org/wiki/ST-506/ST-412

    https://www.google.com/search?client=firefox-b-d&q=ST-212+ha...

More from this day

2026-08-18