To manage the wide variety of devices it supports more easily, the operating system classifies them hierarchically. One advantage of this arrangement is that device methods and high-level commands can operate against a whole set of similar devices.
Devices are categorized into three main groups:
Devices are organized into a set of functional classes at the highest level. From a user's point of view, all devices belonging to the same class perform the same functions. For example, all printer devices basically perform the same function of generating printed output.
However, devices within a class can have different interfaces. A class can therefore be partitioned into a set of functional subclasses in which devices belonging to the same subclass have similar interfaces. For example, serial printers and parallel printers form two subclasses of printer devices.
Finally, a device subclass is a collection of device types. All devices belonging to the same device type share the same manufacturer's model name and number. For example, 3812-2 (model 2 Pageprinter) and 4201 (Proprinter II) printers represent two types of printers.
Devices of the same device type can be managed by different drivers if the type belongs to more than one subclass. For example, the 4201 printer belongs to both the serial interface and parallel interface subclasses of the printer class, although there are different drivers for the two interfaces. However, a device of a particular class, subclass, and type can be managed by only one device driver.
Devices in the system are organized in clusters of tree structures known as nodes. For example, the system node consists of all the physical devices in the system. At the top of the node is the system device. Below the bus and connected to it are the adapters. The bottom of the hierarchy contains the devices to which no other devices are connected. Most pseudo-devices, including LFT and PTY, are organized as separate nodes.
The Devices Graph: Examples of Connectivity and Dependence diagram illustrates this structure.
Predefined Devices Object Class.
Machine Device Driver.
Writing a Device Method.
List of Device Configuration Subroutines.
List of Device Configuration Commands.