From that point on, the
main computer is free to do other work, while the I/O controller handles the details and timing of moving the data
to its destination. When the data transfer is complete, the I/O controller creates an ???interrupt??? which notifies the
main computer that the transfer is now finished. The operating system responds to the interrupt in an appropriate
way, perhaps by starting another output operation to the same device (think of multiple lines going to a printer).
When a program requires input, the operating system will suspend the execution of the requesting program
and command the I/O controller of the device to start reading the necessary data. The operating system will then
transfer control of the CPU to a different program, which will execute while the first program is waiting for its
input. When the requested data become available, the I/O controller for the device will generate an interrupt.
The operating system will respond by suspending the execution of the second program, moving the data from
the buffer on the I/O controller to the program that requested the data initially, and restarting the first program.
The interrupt system is used for all data transfers today. While that is so, there are also some useful
categorizations of device types.
Pages:
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119