Device Management Flashcards

1
Q

Define Device Management.

A

Process of managing the implementation, operation and maintenance of physical and/or virtual devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define Device status.

A

the status of any computing devices, internal or external may be free or busy. If a device requested by a process is free, the OS allocates it to the process. It uses device controllers and device drivers to help.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a device Controller?

A

Hardware components that contain some buffer registers to store the data temporarily (e.g. disk controller, printer controller etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a device driver?

A

Software programs that are used by an OS to control the functioning of various devices in a uniform manner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does device management work?

A

The device controller used in a device management operation includes 3 different registers : command, status and data. The major responsibility of the device management function is to implement Application Programming Interfaces (API’s). Each device controller is specific to a particular device. This is so that the correct commands are sent to the controller, to interpret the Controller Status Register (CSR) correctly, and to transfer data to and from device controller data registers as required for correct device operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the 4 communication approaches between the I/O devices and the processor?

A

Polling, Interrupts, Direct I/O and memory-mapped I/O

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe 2 of the 4 communication approaches between an I/O device and the processor. Mention its implementation and efficiency.

A

Polling -
Implementation: It periodically checks the status of the device to see if it is time for the next I/O operation. The I/O device puts the info into the Status register adn the processor must come and get it.
Efficiency: It is the simplest way for communication between the two however, it is an inefficient method because most of the time, devices won’t require attention and when one does, it will have to wait until it is next interrogated by the polling program.

Interrupt -
Implementation: A device controller puts out an interrupt signal whe it needs the CPU’s attention. When the CPU recievers an interrupt, it saves the current state ad invokes an appropriate interrupt handler vector. Once it’s done, the CPU continues with its original task as if it’s never been interrupted.
Efficiency: Interrupts allow the processor to deal with events that can happen at any time as well as removing the need for the CPU to constantly check the Controller Status Register.

Direct I/O -
Implementation: Uses software which explicitly transfers data to/from the controller’s data registers. This separates the I/O device and the memory. The control indicates whether address info is for memory or I/O.
Efficiency: reduces the CPU utilisation because it will be busy transferring data rather than doing an actual job.

Memory Mapped I/O -
Implementation: Direct connection between I/O device and certain main memory locations so that I/O device can transfer blocks to/from memory without going through the CPU. The OS allocates buffer in memory to the I/O device to send data to the CPU, they work asynchronously and it only interrupts the CPU when finished.
Efficiency: Memory Mapped I/O is ideal for most high-speed I/O devices list disks, communication interfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is buffering?

A

It is a technique by which the device manager can keep slower I/O devices busy during times when a process is not requiring I/O operations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name and explain the two types of buffering.

A

Input buffering: having the input device read info into the primary memory before the process requests it.

Output buffering: saving info in memory and then writing it to the device while the process continues execution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the design objective when it comes to buffering?

A

Efficiency -> buffering is a way to deal with most I/O devices being extremely slow compared to the processor and main memory.
Generality - > it is desirable to handle all devices in a uniform and consistent manner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe what happens in hardware level buffering.

A

Instead of waiting for the retrieval of from the data register, the next thing to be read by the process has already been placed into the data register (even though the process has not yet called for the read operation). Adding a hardware buffer to the controller decreases the amount of time the process has to wait.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is double buffering? and what is another name for it?

A

Driver Level Buffering or Double Buffering is when there is one buffer for the driver to store the data while waiting for the higher layers to read it. The other buffer is to store data from the lower-level module.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Desribe how using Multiple buffers works (/Circular buffering).

A

The number of buffers is extended from 2 to n. The data producer is writing into buffer i while the data consumer is reading from buffer j.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly