Polling is the active querying of the hardware status by the client process, this is typically a low-level interaction with simple hardware
Check device status flag; process continually fetches this status data in a busy/wait loop This makes it very simple, but also very inefficient
Ex:
while (num_bytes) {
while (device_not_ready()) {
busy_wait();
}
if (device_ready()) {
transfer_byte_of_data();
num_bytes--:
}
}