Purpose : To configure and manage the device and convert requests from the kernel into requests to the Hardware.
Textbook oriented definition of 'device driver' : A device driver can be thought of a translator, that has two functions INPUT (commands) and OUTPUT (Instructions):
- INPUT : High level commands such as "retrieve block 123"
- OUTPUT : Low-level hardware specific instructions used by the hardware-controller, which interfaces the IO device to the rest of the system.
Drivers rely on three interfaces:
1. Interface between Driver and Kernel
2. Interface between Driver and Device
3. Interface between Driver and BUS
There are 3 categories of drivers:
1. Character drivers = byte-stream oriented [Media/video/sound]
2. Block drivers = random-access oriented [ata/ide/scsi]
3. Network drivers = packet-stream oriented [Ethernet/wireless/infiband]
Sounds informative, but there is plenty that goes into it, and google is your good friend.
No comments:
Post a Comment