During any period of time, the processor may communicate with one or more external devices in unpredictable manner, depending on the program's need for I/O.
The internal resources, such as main memory and the system bus, must be shared among a number of activities, including data I/O.