Input/Output (I/O)
Three techniques are possible for I/O operations:
- O (busy waiting, process is still RUNNING)
- O (process is BLOCKED)
- 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?
- Through a bus, see Operating System
- https://www.quora.com/How-do-computers-handle-I-O-devices
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.