MS-DOS 4.0 (multitasking)
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
MS-DOS 4.0 was a multitasking release of MS-DOS developed by Microsoft based on MS-DOS 3.1.[citation needed] Lack of interest from OEMs, particularly IBM, led to it being released only in a scaled-back form. It is sometimes referred to as European MS-DOS 4.0, as it was primarily used there. It should not be confused with PC DOS 4.00 or MS-DOS 4.01 and later, which did not contain the multi-tasking features.
History
Apricot Computers pre-announced "MS-DOS 4.0" in early 1986,[1] and Microsoft demonstrated it in September of that year at a Paris trade show. However, only a few European OEMs, such as fr and International Computers Limited (ICL), actually licensed releases of the software. In particular, IBM declined the product, concentrating instead on improvements to MS-DOS 3.x and their new joint development with Microsoft to produce OS/2.
As a result, the project was scaled back, and only those features promised to particular OEMs were delivered. In September 1987, a version of multi-tasking MS-DOS 4.1 was reported to be developed for the ICL DRS Professional Workstation (PWS). No further releases were made once the contracts had been fulfilled.
In July 1988, IBM announced "IBM DOS 4.0", an unrelated product continuing from DOS 3.3 and 3.4, leading to initial conjecture that Microsoft might release it under a different version number.[2] However, Microsoft eventually released it as "MS-DOS 4.0",[citation needed] with a MS-DOS 4.01 following quickly to fix issues many had reported.
Features
As well as minor improvements such as support for the New Executable file format, the key feature of the release was its support for preemptive multitasking. This did not use the protected mode available on 80386 processors, but allowed specially-written programs to continue executing in a "background mode", where they had no access to user input and output until returned to the foreground. The OS was reported to include a time-sliced scheduler and interprocess communication via pipes and shared memory. This limited form of multitasking was considered to be more useful in a server rather than workstation environment, particularly coupled with MS-Net 2.0, which was released simultaneously.
Other limitations of MS-DOS 3.0 remained, including the inability to use memory above 640 KB, and this contributed to the product's lack of adoption, particularly in light of the need to write programs specifically targeted at the new environment.
INT 21h/AH=87h can be used to distinguish between the multitasking MS-DOS 4.x and the later MS-DOS/PC DOS 4.x issues.[3]
Microsoft president Jon Shirley described it as a "specialized version" and went as far as saying "maybe we shouldn't have called it DOS 4.0", although it's not clear whether this was always the intention, or if a more enthusiastic response from OEMs would have resulted in it being the true successor to DOS 3.x. The marketing positioned it as an additional option between DOS 3.x for workstations, and Xenix for higher-end servers and multiuser systems.
See also
- Concurrent DOS, Concurrent DOS 286, Concurrent DOS 386 - Concurrent CP/M-based multiuser multitasking OS with DOS emulator since 1983
- DOS Plus - Concurrent PC DOS-based multitasking OS with DOS emulator since 1985
- Novell DOS, OpenDOS, DR-DOS - successors of DOS Plus with preemptive multitasking in VDMs since 1993
- FlexOS - successor of Concurrent DOS 286 since 1986
- Multiuser DOS - successor of Concurrent DOS 386
- REAL/32 - successor of Multiuser DOS
- DOS Plus - Concurrent PC DOS-based multitasking OS with DOS emulator since 1985
- PC-MOS/386 - multiuser multitasking DOS clone since 1987
- VM/386 - multiuser multitasking DOS environment since 1987
- TopView - DOS-based multitasking environment since 1985
- DESQview, DESQview/X - DOS-based multitasking environment since 1985
- Virtual DOS machine
References
Footnotes
Other citations
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.