1.2.1g Device Drivers

Definition: software to operate/control a device connected to a computer
 * Serial ports
 * Printers
 * NICs
 * Storage controllers (e.g. SATA)

Purpose
memory used by kernel)
 * Abstract away specific hardware from users
 * Write software independently of the hardware
 * App developers don’t have to write code for every possible device
 * E.g. every make and model of printer.
 * Written for specific architecture
 * Might run in
 * User mode (errors can’t crash a computer as no access to memory used by kernel)
 * Kernel mode (errors in a badly written driver can crash a computer as direct access to

Virtual Device Drivers
are handled by a virtual device driver
 * Emulate hardware e.g. old Soundblaster soundcard
 * E.g. older DOS programs can send interrupts etc. that