I/O types
- programmable
- CPU sends data to device
- CPU polls the device, whether it’s ready/busy
- interrupt-driven
- interrupts instead of polling
- a lot of time to process interrupt
- direct memory access (DMA)
- controller processes request instead of CPU
- premapped
- physical RAM addressing
- fully mapped
- logical RAM addressing