Эту главу написал Мюррэй Стокели (Murray Stokely) на основе множества источников, включая справочную страницу intro(4), созданную Джоргом Вуншем (Joerg Wunsch).
Эта глава является кратким введением в процесс написания драйверов устройств для FreeBSD. В этом контексте термин устройство используется в основном для вещей, связанных с оборудованием, относящимся к системе, таких, как диски, печатающие устройства или графические дисплеи с клавиатурами. Драйвер устройства является программной компонентой операционной системы, управляющей некоторым устройством. Имеются также так называемые псевдо-устройства, в случае которых драйвер устройства эмулирует поведение устройства программно, без наличия какой-либо соответствующей аппаратуры. Драйверы устройств могут быть вкомпилированы в систему статически или могут загружаться по требованию при помощи механизма динамического компоновщика ядра `kld'.
Большинство устройств в Unix-подобной операционной системе доступны через файлы устройств (device-nodes), иногда также называемые специальными файлами. В иерархии файловой системы эти файлы обычно находятся в каталоге /dev. Пока система devfs полностью не интегрирована во FreeBSD, каждый файл устройства должен создаваться статически и вне зависимости от наличия соответствующего драйвера устройста. Большинство файлов устройств в системе создаются при помощи команды MAKEDEV.
Драйверы устройств могут быть условно разделены на две категории; драйверы символьных и сетевых устройств.