P3L5 I/O Management Flashcards Preview

Operating Systems > P3L5 I/O Management > Flashcards

Flashcards in P3L5 I/O Management Deck (30):

When comparing I/O to a toy shop shipping dept., what is the example for "Have protocols"?

interfaces for device I/O


When comparing I/O to a toy shop shipping dept., what is the example for "Have dedicated handlers"?

device drivers, interrupt handlers


When comparing I/O to a toy shop shipping dept., what is the example for "Decouple I/O details for core processing"?

abstract I/O device detail from applications


What are some examples of I/O devices?

Keyboard, microphone, speakers, display, mice, network interface cards...


I/O Devices Quiz:
For each device, indicate whether it's typically used for input (I), output (O) or both (B).

- keyboard
- speaker
- display
- hard disk drive
- microphone
- network interface cards (NIC)
- flash card

I - keyboard
O - speaker
O - display
B - hard disk drive
I - microphone
B - network interface cards (NIC)
B - flash card


Name basic I/O Device features

- Control registers
- Micro controller
- On device memory
- Other logic


What is the purpose of control registers in I/O?

control registers can be accessed by the CPU and permit the CPU/device interactions


How are control registers divided? Explain each part.

- command registers, CPU uses to control what exactly the device will be doing
- data transfer registers, control the data that transfers in and out of the device
- status registers, used by the CPU to find out exactly what's happening on the device


Describe the microcontroller on an I/O device.

A microcontroller is like a device's CPU. It is what controls all of the operations that actually take place on the device. It may be influenced by the CPU, but the microcontroller will make sure what things happen vs. not.


What is PCI?

Peripheral Component Interconnect. It's one of the standard methods for connecting devices to the CPU


What do today's platforms typically support in terms of PCI versions? Give some reasons why.

PCI Express Interconnect (PCIe)
which are technologically more advanced than PCI or PCI-X.
- More bandwidth
- faster
- has lower access latency
- supports more devices


Name types of CPU - Device interconnects other than PCI bus

- SCSI bus
- peripheral bus
- bridges


What determines what type of interconnect a device can directly attach to?

the controllers that are part of the device hardware


What are bridge controllers?

They can handle differences between different types of interconnects


T or F?

The operating system has to include a device driver for every type of different hardware device that is incorporated in the system.



What are device drivers responsible for?

All aspects of device access, management and control.
This includes logic that determines
- how requests can be passed from the higher levels of the system software applications to the actual device,
- how the system can response to device-level events like errors, response notifications or status change info
- in general any device specific details regarding the device configuration or operation


Who provides device drivers and are responsible for making sure they work for different OS or OS versions?

The manufacturers or the designers of the actual hardware


How do OS'es typically standardize device driver interfaces?

they provide some device driver framework so that the device manufacturers can develop their drivers within that framework given the specific interfaces that the OS supports


What are some benefits of standardizing device interfaces?

- device driver developers know exactly what is expected from the ways the rest of the OS will interact with their device
- The OS does not depend on one particular device (gives device independence and device diversity)


Name some different types of devices

- Block: disk
- Character : keyboard
- Network devices


What are key properties of Block: disk devices?

- read/write blocks of data
- direct access to arbitrary block


What are properties of Character: keyboard devices?

- get/put character


Network devices are somewhere in between block devices and character devices



What is memory mapped I/O?

Part of 'host' physical memory is dedicated for device interactions


What are Base Address Registers (BAR)?

These registers control the portion of the memory that's reserved for device interactions (memory mapped I/O)


What is the I/O port model?

A method for CPU to interact with devices that requires dedicated in/out instructions for device access


What the two paths for devices to communicate to the CPU? Describe the pros and cons of each method.

- interrupt handling steps
+ can be generated as soon as possible
+ when convenient for OS
- delay or CPU overhead


What is Programmed I/O (PIO)?

A method for the system to access/request an operation from a device.
There is no additional hardware support (involves CPU issuing instructions by writing into the command/data registers)
CPU "programs" the device
- via command registers
- data movement


What is Direct Memory Access (DMA)?

Relies on DMA controller (special hardware)
CPU "programs" the device
- via command registers
- via DMA controls


Memory can be swapped out to disk during a DMA transfer

Data buffer must be in physical memory until transfer completes