Device Files
Device files allow user programs to access hardware devices on the system through the kernel. They are not “files” per se, but look like files from the program’s point of view: you can read from them, write to them, mmap() onto them, and so forth. When you access such a device “file,” the kernel recognizes the I/O request and passes it a device driver, which performs some operation, such as reading data from a serial port, or sending data to a sound card.
Device files (although inappropriately named, we will continue to use this term) provide a convenient way to access system resources without requiring the applications programmer to know how the underlying device works. Under Linux, as with most Unix systems, device drivers themselves are part of the kernel. In Section 7.4.2 in Chapter 7 , we show you how to build your own kernel, including only those device drivers for the hardware on your system.
Device files are located in the directory /dev
on nearly all Unix-like
systems. Each device on the system should have a corresponding
entry in /dev
. For example, /dev/ttyS0
corresponds to the first
serial port, known as COM1 under MS-DOS; /dev/hda2
corresponds
to the second partition on the first IDE drive. In fact, there should be
entries in /dev
for devices you do not have. The device
files are generally created during system installation and include
every possible device driver. They don’t necessarily correspond to the
actual hardware on your system.
There are a ...
Get Running Linux, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.