Provision of DOS compatibility requires a combination of hardware, operating system, and application software support. The MVDM DOS Emulation component of OS/2 Version 2.0 addresses only the software aspects of providing DOS compatibility; the VDM Manager, 8086 Emulation and virtual device drivers work together to provide hardware and ROM BIOS compatibility.
DOS Emulation provides DOS services to DOS applications running in a virtual DOS machine in such a way as to provide maximum compatibility with the same services provided to DOS applications running under native DOS 5.0.
DOS Emulation is implemented by running a very small portion of the DOS Emulation kernel in V86 mode and a much larger portion of code in protected mode outside the VDM. In OS/2 Version 2.0, physical device drivers are loaded above 1MB and only the DOS Emulation kernel resides below 1MB; hence, any user-installed OS/2 device drivers will not affect the amount of application space available to a DOS application running in a VDM. Similarly, adding LAN drivers to the OS/2 configuration to support the network server or redirector functions does not take up DOS application space, even though DOS applications may make use of these network devices. Virtual device drivers are also loaded outside the VDM address space, and therefore do not reduce the amount of memory available to a DOS application.
In this way, the MVDM architecture makes available to DOS applications the maximum amount of memory. In fact, up to 630KB is free for multiple DOS sessions; this represents an increase of about 100KB over memory available to the single DOS session that was available under OS/2 Version 1.3. Note that this amount may be reduced if DOS device drivers and/or TSR programs are loaded in a VDM.
DOS Emulation supports all documented DOS interrupts and features. In addition, some undocumented aspects of these functions (especially INT 21h) are supported because a large number of significant DOS applications rely upon these interfaces.
DOS Emulation is described in more detail in MVDM DOS Emulation.