Next | Prev | Up | Top | Contents | Index

Device Drivers

A device driver enables communication between a user process and a peripheral device. In addition to kernel-level drivers, there are user-level drivers and STREAMS modules. Device drivers perform functions such as taking the device online and offline, transmitting data from the kernel to the device, receiving data from the single device and passing it to the kernel, and handling and reporting I/O errors.

Silicon Graphics provides drivers for many popular devices. However, you still may find that you need to write a device driver to support a device for which no driver is available.

The IRIX filesystem provides a device-independent interface that allows device drivers to be opened, read, written, and closed as though they were files. The program issues standard system I/O calls, and the system then calls the driver you've written to handle the device.

Figure 1-1 illustrates the relationship between the various software modules that connect the user application and the device with which it needs to communicate.

Figure 1-1 : Driver Position in the Kernel The kernel interfaces for IRIX device drivers are

The following list describes some Silicon Graphics-specific features you may need to include in a device driver:



Next | Prev | Up | Top | Contents | Index