Search⌘ K

The Canonical Protocol

Explore how operating systems use the canonical protocol to manage I/O devices by polling status registers, writing to data and command registers, and monitoring device completion. Understand the inefficiencies of polling and the impact on CPU utilization, setting the stage for improved device management strategies.

Let’s look at the diagram of a canonical device reproduced from the previous lesson.

In the picture above, the (simplified) device interface is comprised of three registers:

  • A status register, which can be read to see the current status of the device.
  • A command register, to tell the device to perform a certain task.
  • A data register to pass data to the device or get data from the device.

By ...