DOS Application Support

OS/2 Version 1.3 provides the capability for a single DOS application to be executed in the system using a facility known as the DOS Compatibility Box. The DOS application executes in real mode, and is automatically suspended if the DOS Compatibility Box is switched to the background; that is, pre-emptive multitasking is not supported in the DOS Compatibility Box under OS/2 Version 1.3.

OS/2 Version 2.0 provides the capability to pre-emptively multitask DOS applications along with OS/2 applications, using the Multiple Virtual DOS Machines feature of OS/2 Version 2.0. The DOS support has been totally rewritten in OS/2 Version 2.0 and allows multiple concurrent DOS applications where each is executed as a single-threaded, protected mode OS/2 program. This method of implementation provides pre-emptive multitasking for DOS applications, and allows normal OS/2 levels of memory protection; that is, it provides isolation of system memory and other applications, protection from illegal memory accesses by ill-behaved applications, and the ability to terminate sessions where applications are "hung".

DOS support is achieved through the use of virtualization techniques, allowing the creation of multiple instances of separate, independent virtual DOS machines. Through this technique, a virtual interface is provided to each DOS machine, giving the impression that each application owns all of the required resources, both hardware and software.

Each virtual DOS machine has more memory than the DOS Compatability Box implemented in previous versions of OS/2, and OS/2 Version 2.0 supports the use of Lotus**-Intel-Microsoft (LIM) expanded memory (EMS) and extended memory (XMS) to provide additional memory for those DOS applications that are capable of using such extensions. OS/2 Version 2.0 maps this extended or expanded memory into the system's normal linear memory address space, and manages it in the same manner as any other allocated memory.

The ability of a virtual DOS machine to run within a Presentation Manager window provides immediate productivity gains to existing DOS applications, since they may utilize Presentation Manager desktop features. These features include window manipulation and the ability to cut/copy/paste information between applications using the clipboard.

Application compatibility in the virtual DOS machine is also enhanced over previous versions of OS/2. The virtual DOS machine can be used to execute DOS-based communications applications and other applications that address hardware I/O devices, through the use of virtual device drivers that map the device driver calls from the applications to the appropriate physical device driver within the operating system. Applications using hardware devices that are not required to be shared with other applications in the same system may be accessed using the standard DOS device drivers, without the need for a virtual device driver. Certain restrictions still apply with respect to communications line speed and time-critical interrupt handling.

For applications that require specific versions of DOS in order to operate, OS/2 Version 2.0 provides the capability to load a physical copy of that version into a virtual DOS machine. This provides compatability for those applications that internally manipulate DOS data structures or that use undocumented interfaces.

Application compatability in a virtual DOS machine is further enhanced by the DOS settings feature, which allows virtual DOS machines to be customized to suit the requirements of the applications running in them. Properties such as video characteristics, hardware environment emulation, and the use of memory extenders can all be customized using this feature.

Multiple Virtual DOS Machines is described in more detail in OS/2 Version 2.0 - Volume 2: DOS and Windows Environment.


[Back: Interprocess Communication and Synchronization]
[Next: Microsoft Windows Application Support]