Top Banner
1 Operating Systems Input/Output Management
21

1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

Mar 30, 2015

Download

Documents

Augustus Dakin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

1

Operating Systems

Input/Output

Management

Page 2: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

2

What is the I/O System

A collection of devices that different sub-systems of a computer use to communicate with each other.

Inputs are the signals received by the device, and outputs are the signals sent from it.

Input Device: keyboard, mouse. Output Device: monitor, printer.

Page 3: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

3

The I/O Bus

The CPU communicates with the I/O system by means of an I/O bus.

The I/O bus is simply a common set of wires that connect all the I/O devices to the CPU. These wires are used to transmit data, housekeeping signals (such as clock pulses), addresses and instructions.

The size or width of a bus is how many bits it carries in parallel.

The speed of a bus is how fast it moves data along the path. This is usually measured in MHz.

Page 4: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

4

I/O Bus Architectures

The ISA (Industry Standard Architecture) bus was first introduced in1984. It had a 16-bit width and ran at a speed of 8 MHz.

EISA (Extended ISA) was introduced in 1988 as an extension to the ISA standard. It had a 32-bit width but only ran at 8 MHz to be compatible with ISA devices.

Page 5: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

5

I/O Bus Architectures

PCI (Peripheral Component Interconnect) was created in 1993. PCI is available in both a 32 bit version running at 33 MHz and a 64 bit version running at 66 MHz. PCI is currently the standard bus for PCs.

AGP (Accelerated Graphics Port) was created in 1997. The first version of AGP, now called AGP 1.0 or AGP 1x, had a 32-bit width and operated at 66 MHz. Newer versions of AGP increase the speed up to 266 MHz. AGP is used only for video controllers.

Page 6: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

6

How I/O Devices Communicate

The O/S sends commands or data to an I/O device by writing to its device registers.

The O/S retrieves status or data from an I/O device by reading from its registers.– Remember, registers are like memory

storage spaces.

Page 7: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

7

How I/O Devices Communicate

The address which the O/S uses to communicate with an I/O device is called the I/O address or the I/O port.

I/O devices use interrupts (IRQs – Interrupt ReQuests) to signal to the CPU that a task has been completed. Interrupts enable I/O devices to operate independently of, and at the same time with the CPU.

On ISA buses, data can be sent directly from the I/O controller to memory without the involvement of the CPU.

– This is referred to as DMA (Direct Memory Access).

Page 8: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

8

I/O Addresses

If more than one I/O device attempt to use the same I/O address an I/O conflict occurs. This can cause information to get mixed up and overwritten.

I/O addresses vary in size, from 4 to 32 bytes.

Page 9: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

9

I/O Address Assignments

Some I/O address assignments in Windows XP Device Manager.

Page 10: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

10

Interrupts

Device interrupts are fed to the processor using an interrupt controller.

The interrupt controller has 8 input lines that take requests from one of 8 different devices. The controller then passes the request on to the processor, telling it which device issued the request.

Modern PCs have 2 interrupt controllers. The 2nd controller is cascaded onto the 1st through input line 2 (IRQ2).

Page 11: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

11

Interrupts

Interrupts 0, 1, 2, 8 and 13 are reserved for internal use, the remainder are used by I/O devices.

On an ISA bus when more than one I/O device attempt to use the same interrupt at the same time an interrupt conflict occurs. The CPU is unable to determine which device raised the interrupt.

Devices on a PCI bus can share interrupts.

Page 12: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

12

Interrupts

Page 13: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

13

Typical Interrupt Usage

IRQ Default use IRQ Default use

0 System timer 8 Real-time clock

1 Keyboard Controller 9 Available

2 None 10 Available

3 COM2 11 Available

4 COM1 12 PS/2 mouse

5 Sound card 13 FPU

6 Floppy Disk Controller 14 Primary IDE channel

7 LPT1 15 Secondary IDE channel

Page 14: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

14

Typical Interrupt Usage

Interrupt assignments in Windows XP Device Manager.

Page 15: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

15

DMA

DMA transfers are managed by a DMA controller. A DMA controller has 4 channels, numbered 0 to 3.

Most PCs have 2 DMA controllers, with the 1st controller cascaded to the 2nd on channel 0. This leaves 7 usable DMA channels.

A DMA conflict arises if two I/O devices try to use the same DMA channel at the same time.

DMA channel 0 is reserved for system use.

Page 16: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

16

DMA

Page 17: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

17

DMA Channel Assignment

DMA channel assignment in Windows XP Device Manager.

Page 18: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

18

Objectives of the I/O System

Efficiency– I/O devices must do useful work at the maximum rate.

Device independence– programs can access any I/O device without specifying

device in advance.

Uniform naming– name of I/O device is independent of how the device is

manufactured.

Error handling– What to do if something goes wrong!– Retransmitting data

Page 19: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

19

Structure of the I/O System

Input-output control system (IOCS)– The part of the O/S that deals with I/O activity.– Performs initial processing and validation on the I/O request

from the application and routes it to the appropriate device driver at the next stage.

Device Driver– A software module which manages the communication with,

and control of, a specific I/O device.– It converts requests from the application to specific

commands to the I/O device.– Device drivers are considered to be part of the O/S.– Frequently written in assembly language

Page 20: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

20

Structure of the I/O System

Device Controller– Hardware device that is attached to the I/O bus and provides

an interface between the computer and the I/O device. Responsible for sending data to the device in a way the device

will understand

Application Program

Input-output Control System

(IOCS)

Device Driver

Device Controller

I/O Device

System Calls

I/O Bus

}Operating System

Page 21: 1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.

21

I/O Buffering

A buffer is an intermediate main memory storage area under the control of the O/S.

A buffer holds data in-transit between a process’ memory area and an I/O device.

More than two buffers can be used to let the I/O activity keep up with the CPU processing.

– The buffers are organised into a circular queue with data being transferred into the queue at one end and being moved out of the queue at the other.