Architectural Support
Introduction
Hardware should support certain features to run OS properly!
I/O
- I/O devices and CPU can execute concurrently
- Each device controller is in charge of a particular device type
- Each device has a local buffer
- CPU issues specific commands to I/O devices
- CPU moves data between main memory and local buffers
Problem: I/O is too slow (sometimes, its time is unknown e.g. keyboards)
CPU is a precious resource, it should be freed from time-consuming tasks!