Device Driver - Applications

Applications

Because of the diversity of modern hardware and operating systems, drivers operate in many different environments. Drivers may interface with:

  • printers
  • video adapters
  • network cards
  • sound cards
  • local buses of various sorts — in particular, for bus mastering on modern systems
  • low-bandwidth I/O buses of various sorts (for pointing devices such as mice, keyboards, USB, etc.)
  • computer storage devices such as hard disk, CD-ROM and floppy disk buses (ATA, SATA, SCSI)
  • implementing support for different file systems
  • image scanners
  • digital cameras

Common levels of abstraction for device drivers include:

  • for hardware:
    • interfacing directly
    • writing to or reading from a device control register
    • using some higher-level interface (e.g. Video BIOS)
    • using another lower-level device driver (e.g. file system drivers using disk drivers)
    • simulating work with hardware, while doing something entirely different
  • for software:
    • allowing the operating system direct access to hardware resources
    • implementing only primitives
    • implementing an interface for non-driver software (e.g. TWAIN)
    • implementing a language, sometimes quite high-level (e.g. PostScript)

Choosing and installing the correct device drivers for given hardware is often a key component of computer system configuration.

Read more about this topic:  Device Driver