Specifications

D
evice Driver Programming
9-2
Figure 9-1. Kernel I/O Structure
By issuing system calls from the user level, a program accesses the file and process control
subsystems, which, in turn, use the character and block interfaces to access the device
drivers. The driver provides and manages a path for the data to or from the hardware
device and services interrupts issued by the device’s controller.
Overview of Source Directories and Files 9
Three directories are commonly used while developing device drivers. The system config-
uration directory /etc/conf contains all of the configuration files, kernel build tools,
and the interrupt vector table. This directory is used by the Installable Driver Tools, which
facilitate packaging, installation and configuration of device drivers. Procedures for using
these tools are fully explained in Chapter 16. The /usr/include and
USER LEVEL
System Call Interface
Device
Drivers
File Subsystem
Buffer Cache
User Processes
Character Block
HARDWARE LEVEL
Hardware Control
Scheduler
Interprocess
Communication
Process
Control
Subsystem
Memory
Management
Hardware
KERNEL LEVEL