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 they are 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.
A number ...
Get Running Linux, Fourth 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.