MVDM Architecture

MVDM is designed to exploit the virtual 8086 (V86) mode of the 80386 processor, which allows operating systems such as OS/2 Version 2.0 to execute multiple DOS applications within the 80386 protected mode environment. Under OS/2 Version 2.0, each DOS application executes in a virtual DOS machine (VDM), which runs as a single-threaded protected mode process. The operating system scheduler controls task switching of VDMs in the same way as it does OS/2 application processes.

The MVDM kernel controls the state and operation of concurrent VDMs, and is composed of the following four major components as shown in Figure "MVDM Architecture".

  • The Virtual DOS Machine Manager (VDMM) contains the mechanism to start and interact with DOS applications. It creates, initializes, and terminates VDMs. The VDMM manages system resources such as memory, timers, semaphores, and files for all VDMs active in the system. The VDMM is responsible for loading and initializing all virtual device drivers, in conjunction with the Virtual Device Driver Manager. The VDMM is described in more detail in MVDM Architecture.

  • 8086 Emulation manages communication between 8086 instruction streams and virtual device drivers. This emulation performs 8086 instruction decoding, controls the 80386 processor's I/O Privilege Map for each VDM, manages the reflection of software interrupts for each VDM, routes IN/OUT instruction traps to the appropriate virtual device driver, and manages various control structures required by each virtual device driver. 8086 emulation is described in more detail in 8086 Emulation.

  • DOS Emulation emulates the function and operation of the DOS operating system on a per-VDM basis. Each VDM emulates an entirely independent instance of DOS. DOS services are emulated within the MVDM kernel, or by invoking protected-mode services provided by the OS/2 kernel. For example, most DOS file I/O functions are provided by the OS/2 file system. DOS 5.0 compatibility is provided. DOS emulation is described in more detail in MVDM DOS Emulation.

  • The Virtual Device Driver Manager (VDDM) loads, initializes, and communicates with virtual device drivers. Virtual device drivers are required to virtualize the hardware and ROM BIOS, thereby allowing DOS applications to access hardware devices and BIOS without affecting other VDMs or other non-V86 mode processes in the system. The VDDM provides various system services, known as Virtual Device Helper (VDH) services, to virtual device drivers. The Virtual Device Driver Manager is described in more detail in Device Drivers.

    These four components interact with one another and with the OS/2 Version 2.0 operating system kernel to provide requested services to DOS applications executing in VDMs.


    [Back: Multiple Virtual DOS Machines]
    [Next: Virtual Device Drivers]