Device Driver Architecture

The architecture and structure of a device driver differs considerably, depending on whether the device driver is physical or virtual.

OS/2 Version 2.0 makes use of two distinct types of device driver to communicate between the operating system and hardware devices:

  • Physical device drivers are considered as true device drivers in the sense that they have a unique and rigid file structure, and interface directly with the hardware. They operate in protected mode, and are accessed by protected mode processes and by virtual device drivers.

  • Virtual device drivers are essentially a dynamic link library conforming to the EXE32 Load Module format, and generally do not interface directly with hardware devices. Instead, virtual device drivers are responsible for presenting a virtual copy of a hardware resource to DOS applications running in virtual DOS machines, and for coordinating physical access to that resource. DOS applications typically address hardware devices directly using interrupts; the virtual device driver allows the VDM environment to appear to the DOS application as though the application had direct control over the hardware. Virtual device drivers include a stub which executes in V86 mode within each VDM, while the main portion of the virtual device driver executes in protected mode.

    The relationship between applications, physical and virtual device drivers, and hardware devices is shown in Figure "Physical and Virtual Device Drivers under OS/2 Version 2.0".


    [Back: Device Drivers]
    [Next: Physical Device Drivers]