Reading Devices
Polling
Checks current device state
Immediate
Possibly more overhead
Event driven
Program waits for an event
OS wakes program up
Checks all devices