Week 8 Flashcards
What is a bus?
A bus is a common set of wires that multiple devices share
What is a port?
A port is a connection point a device uses to connect to a computer system.
What is a controller?
A controller is a collection of electronics that can operate a port, a bus, or a device. For example, a serial-port controller is a simple device controller
What is polling?
Polling is where the CPU keeps on checking if the device needs attention. Polling becomes inefficient when it is attempted repeatedly yet rarely finds a device ready for service, while other useful CPU processing remains undone
What does an interrupt occur?
An interrupt occurs when the I/O device notifies the CPU that it requires its attention. The CPU will then hold its current task and starts executing the corresponding interrupt.
What is the interrupt request line?
The interrupt request line is a wire in the CPU hardware that the CPU senses after executing every instruction. When the interrupt-request line is triggered by an I/O device the CPU performs a state save and jumps to the interrupt-handler routine. The device controller raises an interrupt by asserting a signal on the interrupt request line, the CPU catches the interrupt and dispatches it to the interrupt handler, and the handler clears the interrupt by servicing the device. Interrupt-driven I/O is now much more common than polling
What is DMA?
Direct memory access is the process of transferring data without the involvement of the CPU itself. This enables the device to perform tasks without interrupting the CPU. A DMA controller manages the data transfers between memory and the various devices. The CPU tells the DMA controller the source and destination of the transfer and size of data then goes on with other work.
What is application I/O interface?
I/O system encapsulates device behaviours in generic classes
Device-driver layer hides differences among I/O controllers
New devices taking already-implemented protocols need no extra work
Each OS has its own I/O subsystem structures and device driver frameworks.
What are block and character devices?
- Block devices include things like disk drives and their commands include read, write, and seek
- Character devices include keyboards, mice, and serial ports their commands include get(), put().
What are network devices?
Network devices vary enough from block and character devices enough to have their own interface.
What is buffering?
Buffering is where data is stored in memory while transferring between devices to cope with:
- Device speed mismatch
- Device transfer mismatch
- To maintain “copy semantics”
What is caching?
Caching is a region of fast memory that holds a copy of the data and is key to performance.
What is spooling?
Spooling is holding output for a device if the device can serve only one request at a time.
How can devices and I/O transfers fail?
Transient reasons - network becomes overloaded
Permanent reasons - disk controller becomes defective
What are the three types of data files?
- Numeric
- Character
- Binary