• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/25

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

25 Cards in this Set

  • Front
  • Back
What are the three categories of I/O devices?
Human interface, machine readable, communication
Why can't OS make a uniform approach to I/O?
All so different - data rate, policies, priorities, complexity, data transfer models, error management
Give an example comparison of the variation in complexity of control.
Read-only devices like mice and keyboards require little contol. Bidirectional disks are far more complex.
Give an example comparison of the variation in data transfer models.
Keyboards use character-stream data transfer, disks use block-based.
Give an example of the variation in error management
Some errors are handled by OS, others in the user application
Give the three ways OS supports I/O
Programmed (polled) I/O, interrupt-driven, direct memory access
What is Programmed/Polled IO, and what is its major limitation?
An instruction issued by the CPU on behalf of the executing process. It loops until satisfied, delaying the multi-programming environment in a state called "Busy-Waiting".
What is Asynchronous IO?
A circumstance of Interrupt-driven IO where the process continues to execute until IO has completed.
What is Interrupt-driven IO?
An instruction is issued by CPU on behalf of executing process, which continues by asynchronous IO or it is blocked while another executes, and it becomes Ready when IO Done hardware interrupt is received.
What is DMA?
Direct Memory Access - Instruction issued by CPU on behalf of executing process, which directs the request to the DMA hardware module. The data transfer is managed by DMA between main memory and IO without the CPU. Once complete, DMA issues an interrupt to the CPU
How does the DMA share the main bus with the CPU?
Either in breakpoints or by Cycle-Stealing.
Describe the 'breakpoints' mechanism for DMA data transfer.
Inbetween instructions, the CPU has breakpoints where it does not use the main bus, allowing the DMA to transfer one byte at a time.
What is 'Cycle Stealing'?
The DMA 'Suspends' the CPU's execution to use the main bus
What is the effect of Cycle Stealing on CPU performance compared with other I/O techniques?
CPU runs slower, though not as slowly as as if interrupted after each byte transfer or if polling
Is a 'Suspend' the same as an interrupt?
No! It does not result in a state transition of the present execution.
What are the three main configurations of hardware with buses?
Single-bus detached DMA; Single-bus integrated DMA-IO; I/O bus.
What are the highlights of the Single-bus integrated DMA-IO configuration?
For faster devices, the DMA is integrated into the IO device - like having lots of smaller IO buses.
What are the highlights of the I/O bus configuration?
The DMA acts as a bridge between the main system bus and a new IO bus with numerous IO devices connected
What are IDE and SCSI and what are they used for?
Integrated Drive Electronics and Small Computer System Interface are buses for disk drives.
What is USB and what is it used for?
Universal Serial Bus - for external drives and scanners.
What is Firewire Bus and what is it used for?
IEEE 1394, for digital multimedia.
How is it beneficial to have different buses for devices?
It decreases the number of direct interfaces the DMA has to support, whilst removing about half of the bus traffic.
Why do we still use DMA?
Some devices are only contactable by DMA
What is logical IO?
Treats the device as a logical resource - a file. This means applications can interact by using familiar system calls like open, read, write, seek and close.
What is Device IO?
Where the device's operations and data's location are converted to sequences of instructions and accesses.