quartz/content/notes/16-device-drivers.md
2022-09-22 12:09:01 +12:00

1.4 KiB

title aliases tags
16-device-drivers
lecture
cosc204

Device controller and driver

driver Defn: a special kernel module that contrls the operations of a device with the device specific information controller Defn: a hardware unit on a device that can know and control a devices status or behaviour, which communicates with the CPU via a driver

device drivers and controllers diagram|300

Types of IO devices

  • character stream vs block
  • swqeuential vs random access
  • synchronous vs async
  • sharable or dedicated

OS provides a consistent interface for them in the /dev folder (unix systems). e.g., ramdisk device is name /dev/memdrv. each device has a file under /dev that can be handled with file operations read()/write()

block devices

commands (sent from device driver to device controller)

  • read block
  • write block
  • seek block (for random access block devices)

the sequence of read/write requests can (should) be optimized

character devices

  • commands
    • get char
    • put char

also support buffering (accepting keyboard input line by line) and editing of buffers (e.g., spcial treatement of backspace character)

IO models

IO system calls use different IO models

  • blocking - when a proccess needs IO input it waits to recieve it before c
  • non blocking
  • async

IO scheduling and buffering

UI for IO devices