Device Characteristics
Devices vary widely in characteristics such as: Data rate, applications, complexity of control, unit of transfer, data representation, Error conditions.
Programmed IO , Interrupt-driven IO and Direct-memory access are three techniques for performing IO.