I/O Systems Flashcards
(24 cards)
What is a major component of operating system design and operation?
I/O management
I/O management is crucial for the functioning of a computer system.
What are the types of I/O devices?
- Storage
- Transmission
- Human-interface
These categories reflect the diverse functionalities of I/O devices.
What connects various I/O devices to a computer?
- Ports
- Busses
- Device controllers
These components facilitate communication between the computer and I/O devices.
What encapsulates device details and presents a uniform interface to the I/O subsystem?
Device drivers
Device drivers are essential for managing the interaction between the operating system and hardware.
What is the common bus used in PCs and servers?
PCI bus
PCI Express (PCIe) is a modern evolution of the PCI bus.
What is a controller in the context of I/O hardware?
Electronics that operate port, bus, or device
Controllers can be integrated or on a separate circuit board.
What are the types of registers typically found in I/O devices?
- Data-in register
- Data-out register
- Status register
- Control register
These registers facilitate communication between the device and the driver.
Describe the polling process for I/O.
- Read busy bit from status register until 0
- Host sets read or write bit
- Host sets command-ready bit
- Controller executes transfer
- Clear busy bit when done
Polling is often inefficient if the device is slow.
True or False: Interrupts allow the CPU to stop polling and handle I/O requests more efficiently.
True
Interrupts improve efficiency by allowing the CPU to perform other tasks while waiting for I/O.
What is Direct Memory Access (DMA)?
A method to transfer data directly between I/O devices and memory, bypassing the CPU
DMA is used for large data movements to enhance efficiency.
What does the Application I/O Interface do?
Encapsulates device behaviors in generic classes
This allows for a uniform way to interact with different devices.
What are the characteristics used to group I/O devices by the OS?
- Block I/O
- Character I/O (Stream)
- Memory-mapped file access
- Network sockets
These characteristics help in managing and interfacing with devices.
What does nonblocking I/O mean?
I/O call returns as much data as available without suspending the process
Nonblocking I/O is important for applications that require responsiveness.
Fill in the blank: Vectored I/O allows one system call to perform multiple ______ operations.
I/O
This method reduces context switching and system call overhead.
What is the purpose of buffering in the Kernel I/O Subsystem?
To store data in memory while transferring between devices
Buffering helps manage speed mismatches between devices.
What is the role of caching in I/O operations?
Holds a faster copy of data to improve performance
Caching is key for enhancing I/O operation speeds.
What is spooling in the context of I/O?
Holding output for a device that can only serve one request at a time
Spooling is commonly used in printing.
What type of error handling can an OS perform?
Recover from disk read errors, device unavailability, transient write failures
Advanced systems can track error frequencies and take appropriate actions.
True or False: All I/O instructions must be performed via system calls.
True
This restriction is in place to maintain system stability and security.
What does the ioctl() call do in Unix?
Sends arbitrary bits to a device control register and data to device data register
It provides a way to manipulate device characteristics directly.
What is the significance of power management in I/O?
Helps manage electricity use and heat generation in devices
Effective power management is crucial for mobile and cloud computing environments.
What are the steps involved in an I/O request to read a file from disk?
- Determine device holding file
- Translate name to device representation
- Physically read data into buffer
- Make data available to requesting process
These steps are critical for ensuring data is accurately retrieved from storage.
What is a STREAM in Unix System V?
A full-duplex communication channel between a user-level process and a device
STREAMs architecture allows for flexible communication with devices.
What are some ways to improve I/O performance?
- Reduce context switches
- Reduce data copying
- Use DMA
- Balance CPU, memory, bus, and I/O performance
These strategies help optimize system throughput and responsiveness.