European MS-DOS 4.00 aka multitasking DOS

DOS 4.00M

DOS 4.00M


So this gem popped into my mailbox as everyone over at os2museum was whipped into a frenzy over the apparence of the predecessor to OS/2 making a showing!

So what is this, where did it come from?

To quote the excellent book, Inside OS/2 here is what this version is all about:

Microsoft started work on a multitasking version of MS-DOS in January 1983. At the time, it was internally called MS-DOS version 3.0. When a new version of the single-tasking MS-DOS was shipped under the name MS-DOS version 3.0, the multitasking version was renamed, internally, to MS-DOS version 4.0. A version of this product–a multitasking, real-mode only MS- DOS–was shipped as MS-DOS version 4.0. Because MS-DOS version 4.0 runs only in real mode, it can run on 8088 and 8086 machines as well as on 80286 machines. The limitations of the real mode environment make MS-DOS version 4.0 a specialized product. Although MS-DOS version 4.0 supports full preemptive multitasking, system memory is limited to the 640 KB available in real mode, with no swapping.

It is not feasible to support general purpose swapping without memory management hardware that is unavailable in 8086 real mode. This means that all processes have to fit into the single 640 KB memory area. Only one MS-DOS version 3.x compatible real mode application can be run; the other processes must be special MS-DOS version 4.0 processes that understand their environment and cooperate with the operating system to coexist peacefully with the single MS-DOS version 3.x real mode application.

Because of these restrictions, MS-DOS version 4.0 was not intended for general release, but as a platform for specific OEMs to support extended PC architectures. For example, a powerful telephone management system could be built into a PC by using special MS-DOS version 4.0 background processes to control the telephone equipment. The resulting machine could then be marketed as a “compatible MS-DOS 3 PC with a built-in superphone.”

Although MS-DOS version 4.0 was released as a special OEM product, the project–now called MS-DOS version 5.0–continued. The goal was to take advantage of the protected mode of the 80286 to provide full general purpose multitasking without the limitations–as seen in MS-DOS version 4.0–of a real-mode only environment. Soon, Microsoft and IBM signed a Joint Development Agreement that provided for the design and development of MS-DOS version 5.0 (now called CP/DOS). The agreement is complex, but it basically provides for joint development and then subsequent joint ownership, with both companies holding full rights to the resulting product.

As the project neared completion, the marketing staffs looked at CP/DOS, nee DOS 5, nee DOS 4, nee DOS 3, and decided that it needed…you guessed it…a name change. As a result, the remainder of this book will discuss the design and function of an operating system called OS/2.

So there you have it, OS/2 started out as a multitasking version of MS-DOS, one can even tell from some of the information on LINK4, that its architecture was also contributed to Windows, and much of how the original Windows 1.x and 2.x ‘wanted to be run from 286 protected mode, well I’d venture a guess that as OS/2 was being ‘born’ there were a lot of plans for this common architecture.  Of course I have no proof but it would seem to fit.. From Saving Windows from the OS/2 Bulldozer:

Thanks to Steve Wood’s original memory-allocation design, many of the changes involved bypassing real-mode code that served only to emulate the protected mode of the 286.

It would make sense at the time both multitasking DOS, being used for parts of early Windows, as both would be fighting the same problems regarding trying to live in the 640kb dos memory area.  While going with a protected mode in OS/2 there would be no need to maintain this, and they could start with a new memory model, Windows 3.0 went with an in house DOS Extender, and fleshed out more of its memory handling to be more 286 native.

Its a shame they didn’t go straight to 32bit stuff on the 386, bypassing the 286 but IBM was the proverbial elephant demanding 286 support.

For anyone wanting to try out this ancient OS, I was able to find out that it does run on DOSBox! So that means if you have a java capable machine you can quickly boot it up! The left alt key brings up the task switcher, and you can use the arrow keys to navigate.

DOOM runs.  I’m really still amazed at this, but it does crash on exit.  I think it was more so geared to small text mode stuff, much like what Windows 1.x or 2.x is capable of on a 286.


This entry was posted in MS-DOS, OS/2 by neozeed. Bookmark the permalink.

About neozeed

What is there to tell? I've loved UNIX like things since I was first exposed to QNX in highschool (we had the Unisys ICONS!), and spent the better time of my teenage years trying to get my own UNIX... I should have bought Coherent in retrospect.. Anyways latched onto Linux in 1992, and then got some old BSD admin books and have been hooked on the VAX BSD & other big/ancient things since...!

7 thoughts on “European MS-DOS 4.00 aka multitasking DOS

    • Hm I haven’t even tried MS-DOS device drivers, or TSRs. As far as I can tell only the current MS-DOS session will run, but special MS-DOS 4 tasks multitask… It is basically like a real mode version of OS/2.

  1. I sort of stumbled across your site as i am looking for information about virtualisation for a presentation. I am looking to make it interesting with some old program commands. In the age of the commodore hence how i came across your site. Do you have any advice?

    • Well I’d probably start with the difference between emulation & virtualization, then go from there. If it is to be strictly about virtualzation, you may want to compare virtual pc, HyperV, KVM & VMWare… The rise & fall of Commodore would be more geared towards emulation.

      search around, and check out and go from there…

Leave a Reply

Your email address will not be published.

Notify me of followup comments via e-mail. You can also subscribe without commenting.