Computer, Operating System

Input/Output (I/O)

Three techniques are possible for I/O operations:

  1. O (busy waiting, process is still RUNNING)
  2. O (process is BLOCKED)
  3. Direct Memory Access (process is BLOCKED too?)

In practice, which I/O method is used?

For example, when I write a program to grab an image from a camera, is it interrupt-driven or programmed I/O?

What are the different ways to connect I/O to computer?

What about USB?

USB devices connect to the CPU through a USB controller, which is interfaced with the CPU via system buses like PCI or PCIe. So it’s actually PCIe.