Purpose
A device driver simplifies programming by acting as translator between a hardware device and the applications or operating systems that use it. Programmers can write the higher-level application code independently of whatever specific hardware the end-user is using. Physical layers communicate with specific device instances. For example, a serial port needs to handle standard communication protocols such as XON/XOFF that are common for all serial port hardware. This would be managed by a serial port logical layer. However, the physical layer needs to communicate with a particular serial port chip. 16550 UART hardware differs from PL-011. The physical layer addresses these chip-specific variations. Conventionally, OS requests go to the logical layer first. In turn, the logical layer calls upon the physical layer to implement OS requests in terms understandable by the hardware. Conversely, when a hardware device needs to respond to the OS, it uses the physical layer to speak to the logical layer.
In Linux environments, programmers can build device drivers either as parts of the kernel or separately as loadable modules. Makedev includes a list of the devices in Linux: ttyS (terminal), lp (parallel port), hd (disk), loop (loopback disk device), sound (these include mixer, sequencer, dsp, and audio)...
The Microsoft Windows .sys files and Linux .ko modules contain loadable device drivers. The advantage of loadable device drivers is that they can be loaded only when necessary and then unloaded, thus saving kernel memory.
Read more about this topic: Device Driver
Famous quotes containing the word purpose:
“In considering the policy to be adopted for suppressing the insurrection, I have been anxious and careful that the inevitable conflict for this purpose shall not degenerate into a violent and remorseless revolutionary struggle.”
—Abraham Lincoln (18091865)
“Culture is the tacit agreement to let the means of subsistence disappear behind the purpose of existence. Civilization is the subordination of the latter to the former.”
—Karl Kraus (18741936)
“And is the price for your acceptance for me to conform? To be as you would want me to be?... You must accept me as I am. Do not question.... If my behavior seems different perhaps it is because it serves a higher purpose than to find acceptance in this dull and useless world.”
—Pat Fielder, and Paul Landres. Dracula (Francis Lederer)