Proper handling of various devices attached to a computer system is essential. A machine is useless if it can't communicate with the users, save data in disk files, or output results. A major piece of the kernel is composed of code to talk to and control hardware. This is known as the device driver layer in the kernel; it is the "interface layer" between the specific hardware attached to a particular machine and the kernel itself. Generally, an operating system is written to handshake with this driver layer through a standard set of functions, structures, and conventions. We'll take a quick look at the requirements and format of a device driver in both the SunOS 4.x kernels (BSD-based) and the Solaris 2 systems (SVR4-based). |