1. OS/2 driver architecture overview
1.1 Introduction
Device drivers are software components to implement a device-independent way to access devices. This reduces the development overhead for applications.
To achieve this, a well defined interface from the application's point of view needs to be available to use the device.
All the device-dependent code resides in the device driver. Therefore it's necessary to have different drivers for different devices.
OS/2 defines three different types:
Presentation Drivers
(PD)
The I/O interface of the Presentation Manager (PM) uses
these driver types so only PM-Applications use these drivers
(indirectly). These drivers handle the PM device contexts to draw to
a virtual device (e.g. printer and screen). Presentation Drivers are
implemented with 32 bit code running in ring 3 and some parts
with 16 bit, running in ring 2 to gain I/O access. These drivers
are NOT discussed here!
Virtual Device
Drivers (VDD)
These drivers are ONLY necessary for the Virtual
DOS Machine (VDM) and for DOS applications like WinOS/2 and others.
Usually these drivers communicate with Physical Device Drivers to
gain access to devices. Virtual Device Drivers are implemented in 32
bit code, running in ring 0. These drivers are NOT discussed
here!
Physical Device
Drivers (PDD)
These drivers usually handls I/O requests, e.g.
Disks, harddisks, CD-ROMs, Video, Mouse, Keyboard, serial/parallel
ports etc. This workshop will cover parts of these types of
drivers.
Warpstock Europe 1999 |