Hacker News new | ask | show | jobs
by nradov 830 days ago
MS-DOS was inspired by CP/M to an extent, but not directly based on it. The device handling, BIOS functions, and command line were similar.

When IBM first developed the PC they needed an OS. At first they tried to license CP/M from Digital Research since it already existed with many applications available. But when DR fumbled the business negotiations, Microsoft stepped in and offered IBM favorable terms for MS-DOS. It wasn't exactly compatible with CP/M, but close enough that the transition was easy for users and developers.

2 comments

Some things were identical, for example .com files were loaded at 0x0100 which meant that before the start of the loaded program there was space for the FCB:

https://en.wikipedia.org/wiki/File_Control_Block

This block would contain the command-line arguments, and have space for working with files (via FindFirst and FindNext), using the same globbing patterns as CP/M supported.

Of course things changed when MS-DOS got support for subdirectories, and later int21 functions expanded filesystem support. Later still .exe files became more dominant as they could be larger than 64k (minus PSP).

You left out the part where Microsoft offered to IBM to create an operating system and then bought https://en.wikipedia.org/wiki/86-DOS which was written because Digital Research didn't release CP/M for the 8086 soon enough.
I left out a lot of parts to keep the comment short. Whole books have been written about those events. Accidental Empires has one perspective on the story, although I wouldn't take it as completely accurate.

https://www.cringely.com/2013/02/28/accidental-empires-chapt...