MVDM is composed of four major components:
These components operate in conjunction with the hardware and the OS/2 Version 2.0 operating system kernel to provide support for DOS applications under OS/2 Version 2.0.
MVDM allows OS/2 Version 2.0 to exploit the capabilities of the virtual 8086 mode of the 80386 processor. MVDM provides the capability to run multiple concurrent DOS applications in virtual DOS machines. Since each VDM is a protected mode task, MVDM provides pre-emptive multitasking and full memory protection for DOS applications, protecting other applications in the system and the operating system itself from interference by an ill-behaved application. Executing VDMs in protected mode (as opposed to real mode) also improves the performance of DOS applications, since the processor is never required to switch to real mode.
Each VDM executes in its own 4MB protected mode address space, with the DOS application having access to the lower 1MB of the linear address space. The remainder of the space is occupied by the MVDM code, device drivers, and extended or expanded memory objects. VDMs may run in window or full-screen mode, and a user can dynamically switch between the two.
All documented DOS system interfaces, most direct ROM BIOS interfaces, and memory extenders, such as LIM EMS Version 4.0 and LIMA XMS Version 2.0, are supported by the MVDM architecture. Direct manipulation of common hardware devices is also supported by MVDM. In addition, certain undocumented but commonly used INT 21h services are supported. DOS Emulation provides DOS 5.0 compatible support.