Ninth Edition, Global Edition by William Stallings
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Human-readable devices: Communication with computer users.
Examples: Printers, terminals, video displays, keyboards, mice.
Machine-readable devices: Communication with electronic equipment.
Examples: Disk drives, USB keys, sensors, controllers.
Communication devices: Interaction with remote devices.
Examples: Modems, digital line drivers.
Data Rate: Differences in data transfer rates among devices.
Application: Influence of device use on software and processes.
Complexity of Control: Impact on operating system management based on I/O module complexity.
Unit of Transfer: Bytes, characters, or larger blocks can be transferred.
Data Representation: Various encoding schemes may be utilized.
Error Conditions: Devices have different error reporting and response mechanisms.
Programmed I/O: Processor waits for I/O operation completion after issuing a command.
Interrupt-driven I/O:
Non-blocking mode: Processor continues with other tasks after issuing I/O command.
Blocking mode: Processor halts current task, puts it in a blocked state until the I/O complete.
Direct Memory Access (DMA): DMA module manages data exchanges between main memory and I/O modules.
Various configurations for integrating DMA to enhance data transfer efficiency.
Efficiency: Critical since I/O operations can bottleneck performance; slow compared to CPU and memory speeds.
Generality: Need for uniform handling of diverse devices; hierarchical and modular design approaches are encouraged.
Separation of operating system functions based on complexity and abstraction levels leads to layered OS design.
Single Buffering: A single buffer in memory to process I/O; can result in speedup but complicates logic.
Double Buffering: Two buffers allow for overlapping operations: one buffer is processed while the other is filled.
Circular Buffering: Multiple buffers utilized in a circular configuration, solving issues where I/O must match processing pace.
Single Buffer: Basic buffering.
Double Buffer: Increased efficiency through simultaneous operations.
Circular Buffer: Keeps process continuous without interruption, adjusting for I/O peaks.
Understanding I/O management and disk scheduling is essential for optimizing computer system performance, addressing factors like buffering, I/O techniques, and device characteristics to improve overall system efficiency.