BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Microsoft and IBM Release MS-DOS 4.0’s Source Code under the MIT License

Microsoft and IBM Release MS-DOS 4.0’s Source Code under the MIT License

This item in japanese

Microsoft and IBM have released the 1988 operating system MS-DOS 4.0 on GitHub under the MIT License. In addition to the source code for MS-DOS 4, the public repository contains unreleased beta Multitasking DOS binaries, the ibmbio.com source, and the scanned PDFs of the Multitasking MS-DOS 4.0 (MT-DOS) documentation.

MS-DOS 4.0 was notable for its support of FAT16 hard disk partitions greater than 32 MB and the addition of the MS-DOS Shell. MS-DOS 4.0, however, was originally supposed to include multi-tasking capabilities. As its product specification mentions:

MS-DOS 4.0 is a multitasking operating system, developed from and downwardly compatible with MS-DOS 3.0. It supports true multitasking as well as multiple current screen image facility which gives the user the illusion of and benefits from many independent computers. Further, MS-DOS 4.0 allows most existing MS-DOS 2.0 applications to run without changing the MS-DOS 4.0 multitasking environment.

To ease the transition from the 8086/8088 line of processors to the (then) new 286 processor without disrupting the installed base, Multitasking MS-DOS targeted two-way compatibility:

Microsoft resolves this situation by providing both upward and downward compatibility. The new environment is designed to allow old programs to run unchanged (upwardly compatible) and to allow most programs written for the new environment to run under the old environment (downwardly compatible).

This design choice brought crucial challenges. As the open-sourced documentation reveals:

The PC architecture supports up to 640K of memory. This is not nearly enough; just the DOS, a network package, a windows package, and Lotus Symphony will consume the entire memory. A software solution must be found to this hardware problem.

Ultimately, the multitasking version of MS-DOS was only licensed by a few European OEMs. IBM declined the product, concentrating instead on improvements to MS-DOS 3.x and their new joint development with Microsoft to produce OS/2.

In North America, what came to be released as MS-DOS 4.0 did not include multitasking and was quickly followed by an MS-DOS 4.01 release to fix issues many had reported.
As a matter of fact, the now open-sourced MS-DOS 4.0 notably featured significantly higher memory usage (92 KB of RAM) than previous and posterior versions at a time in computing history when RAM was scarce. One developer who compared miscellaneous MS-DOS versions commented:

Personally, I would not recommend any version of DOS lower than PC-DOS 3.30 / MS-DOS 3.31 unless you can live with the severe limitations with regard to disk support. I also wouldn’t recommend any version of 4.x, as it is notoriously buggy.

Steven Vaughan-Nichols reinforced that point:

MS-DOS 4.0 was an awful operating system. […] How awful? Popular programs of the day – such as WordPerfect 5.1, Lotus 1-2-3, and Doom – always broke on it. You’d be in the middle of a task, and, bang, your program would freeze completely. Long before we got to know and hate Windows’ Blue Screen of Death, MS-DOS 4.0 horrified PC users.

That was mainly because MS-DOS 4.0 used an enormous 92KB of RAM.

According to Microsoft, the interested reader may run MS-DOS 4.0 directly on an original IBM PC XT, a newer Pentium, and within the open source PCem and 86box emulators.

In 2014, Microsoft open-sourced the MS-DOS source code for versions 1.25 and 2.0 via the Computer History Museum. Microsoft additionally previously open-sourced Word (for Windows 1.1a), GW-BASIC (initially released in 1983), and the Windows File Manager (first released for Windows 3.0 in the early 1990s). The Windows File Manager continues to be actively maintained, with the last cumulative release occurring in March 2024.

MS-DOS (Microsoft Disk Operating System) is an adaptation of QDOS (Quick and Dirty Operating System) by developer Tim Paterson. It was destined to be the operating system for the IBM Personal Computer. MS-DOS 1.0 shipped on IBM PC in July 1981 and was, until 1990, the most used operating system on Compatible PCs.

About the Author

BT