THE I/O SYSTEM
Chapter 5:-
1. Present I/O is design to acheive 2 goals:-
a) To Provide a simple but abstract software interface to manage I/O for computations.
b) Ensure as much overlap between I/O devices and CPU to avoid "busy-waiting" situations.
2. Polling I/O is better and faster when handling one single process. It reads the operation and block. Starts the driver, and keep on checking until the operation is complete. It does a clean up and return control to the application.
In contrast, Interrupt driven I/O is better at multiprocess, as it is more efficient to handle more then one task. The average time for all processes is faster then what Polling I/O can do for multiprocesses. The interrupt I/O does what the Polling I/O does and also invokes a scheduler part of the process manager when data transfer is completed before terminating.
3. There are 2 kinds of buffering, Input buffering => which copy info to main memory before the process request it.
While for the Output buffering works the other way around => copying info to main memory before writing to a device.