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:
“Any historian of the literature of the modern age will take virtually for granted the adversary intention, the actually subversive intention, that characterizes modern writinghe will perceive its clear purpose of detaching the reader from the habits of thought and feeling that the larger culture imposes, of giving him a ground and a vantage point from which to judge and condemn, and perhaps revise, the culture that produces him.”
—Lionel Trilling (19051975)
“To every thing there is a season, and a time to every purpose under the heaven:
A time to be born, and a time to die; a time to plant, and a time to pluck up that which is planted;”
—Bible: Hebrew Ecclesiastes (l. III, 12)
“Along the journey we commonly forget its goal. Almost every vocation is chosen and entered upon as a means to a purpose but is ultimately continued as a final purpose in itself. Forgetting our objectives is the most frequent stupidity in which we indulge ourselves.”
—Friedrich Nietzsche (18441900)