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.



1.2 OS/2 driver types

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

Overview - Contents

back - forward