FreeBSD Architecture Handbook
Prev |  | Next

# Chapter 9 Writing FreeBSD Device Drivers

Written by Murray Stokely. Based on intro(4) manual page by Jörg Wunsch.

# 9.1 Introduction

This chapter provides a brief introduction to writing device drivers for FreeBSD. A device in this context is a term used mostly for hardware-related stuff that belongs to the system, like disks, printers, or a graphics display with its keyboard. A device driver is the software component of the operating system that controls a specific device. There are also so-called pseudo-devices where a device driver emulates the behavior of a device in software without any particular underlying hardware. Device drivers can be compiled into the system statically or loaded on demand through the dynamic kernel linker facility `kld'.

Most devices in a UNIX®-like operating system are accessed through device-nodes, sometimes also called special files. These files are usually located under the directory `/dev` in the filesystem hierarchy.

Device drivers can roughly be broken down into two categories; character and network device drivers.

Prev | Home | Next
Device Drivers | Up | Dynamic Kernel Linker Facility - KLD