## Physical Device Driver Reference

[prev][next][parent][TOC]

### I/O Support for the DOS Session

A device driver is responsible for managing input and output for its device . Because system resources must be accessible to both DOS applications and OS/2 applications, OS/2 device drivers for system resources come in physical device driver/virtual device driver pairs (PDD/VDD). (Physical device drivers have the additional capability of communicating with virtual device drivers.) PDD/VDD pairs are provided for the disk, keyboard, screen , mouse, and parallel port.

Device I/O in a DOS session is performed in one of three ways:

DOS INT 21h interface
ROM BIOS interface
Direct access to the device

I/O that uses the DOS INT 21h interface is passed to the OS/2 File System and transformed into a request packet, which is then received by the physical device driver. I/O that uses the OS/2 dynamic link functions is similarly transformed into a request packet. This level of support exists in all OS/2 device drivers.

I/O that uses the ROM BIOS interface is handled by the virtual device driver. The OS/2 virtual device driver must intercept the ROM BIOS software interrupt and pass the request along to its associated physical device driver. The virtual device driver and physical device driver serialize access to the device by using semaphores to indicate when the device is busy with a request (and consequently cannot accept or tolerate a request from ROM BIOS).

Direct access for standard system resources, such as RS232-ASYNC communication, disk, keyboard, mouse, parallel port, video, numeric coprocessor, and ROM BIOS, are virtualized by virtual device drivers provided by the OS/2 operating system.

Note: Virtual device drivers are not normally required for feature hardware (for example, scanners, FAX, or MIDI) when the feature is operated only from a single DOS session.