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]