Top Banner
1 Operating Systems Chapter 6
72

1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

Mar 28, 2015

Download

Documents

Jesse Greer
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 Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

1

Operating Systems

Chapter 6

Page 2: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

2

What is an operating system? A program that runs on the hardware and supports

Resource Abstraction Resource Sharing

Abstracts and standardises the interface to the user across different type of hardware

Virtual machine hides the messy details witch must be performed.

Manages the hardware resources Each program gets time with the resource Each program gets space on the resource

Page 3: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

3

Introduction

The aims of an operating system are: User convenience System performance

Number of requests serviced per unit time, etc

Page 4: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

4

Introduction Fundamental tasks of an operation system

Management of Programs Organize their execution by sharing the CPU Ensure good user service and efficient use

Management of Resources Efficient allocation/de-allocation without constraining user

programs Security and Protection

Ensure absence of interference with programs and resources by entities within and outside the operating system

Page 5: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

5

Operating Systems Application programs needs to access the

devices connected to a computer. Operation System: (system program – slide-19, chapter

2). is a software layer between the hardware and the

user. provides a consistent application program interface

(API). first program that runs when the computer boots up. is a program that is always running when the

machine is on.

Page 6: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

6

Main functions of an operating system

1. User/computer interface:• Provides an interface between the

user and the computer

2. Resource manager: • manages all computer’s resources.

• Process manager• Memory manager• Device manager• File manager, etc.

Page 7: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

7

Operation System

User command interface

Resource management

Process Manager

Memory manager

Device Manager

File manager

Network manager

A model of an operation System

Page 8: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

8

Operating system as a user/computer interface A user command such as open, save or

print would correspond a sequence of machine-code instructions.

The user does not need to provide these sequences of instructions.

Operating system translates these commands to a machine-code instructions.

Page 9: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

9

Operating system as a resource manager

Resource management

Process Manager:• Next program to be executed? • Time to be given to each program?

Memory manager:• Best use of the memory to run as many programs as possible

I/O Device (e.g.printer) Manager:• Which program should use a particular I/O

device?Network manager:

• which computer should execute a particular program?

Page 10: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

10

Type of operating systems Multi-programming

Operating system can handle several programs at once.

Time-sharing Operating system allows many user to

share the same computer and interact with it.

Or, in case of a single-user computer (e.g. PC), the user can work on several programs at the same time.

Page 11: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

11

How the operating system get started? Main memory has a small section of

permanent read only memory (ROM)

ROM contains a program, bootstrap.

At the start the CPU runs bootstrap. Which directs the CPU to load the operation system from disk and transfer control to it.

Page 12: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

12

OperatingSystem

Main memory

Bootstrapprogram

Main memory

BootstrapProgram

Operating System

Disk storageROM

ROM

RAM

RAM

Page 13: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

13

Operating system as a process manager Coordinates the occupation of the main

memory by different processes and their data.

At any time the operation system may be dealing with many processes.

e.g. a process may be executed or allowed to wait in main memory, or swapped out of the main memory.

Page 14: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

14

Processes

Definition of a process Process Scheduling Operations on Processes Cooperating Processes

Page 15: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

15

What is a process

Process – a program in execution; process execution must progress in sequential fashion.

A process includes: program counter stack data section heap

Page 16: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

16

Process State

As a process executes, it changes state

new: The process is being created.

running: Instructions are being executed.

waiting: The process is waiting for some event to occur.

ready: The process is waiting to be assigned to a process.

terminated: The process has finished execution.

Page 17: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

17

Process Control Block (PCB)

Information associated with each process. Identifier Process state Program counter CPU registers CPU scheduling information Memory-management information Accounting information I/O status information

Page 18: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

18

CPU Switch From Process to Process

The PCB is saved when a process is removed from the CPU and another process takes its place (context switch).

Page 19: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

19

Process Scheduling Queues

Job queue – set of all processes in the system.

Ready queue – set of all processes residing in main memory, ready and waiting to execute.

Device queues – set of processes waiting for an I/O device.

Process migration between the various queues.

Page 20: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

20

Schedulers

Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue.

Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU.

Page 21: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

21

Medium Term Scheduling

Time sharing Operating systems may introduce a medium term scheduler

Removes processes from memory (and thus CPU contention) to reduce the degree of multiprogramming – swapping

Swapping may be needed to improve the process mix or to free up memory if it has become overcommitted

Page 22: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

22

Intermediate queue

Job queue

CPU

I/O

I/O

I/O

I/O

ReadyqueueProcess

request

End

Page 23: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

23

Scheduling Criteria

CPU utilization – keep the CPU as busy as possible Throughput – # of processes that complete their

execution per time unit Turnaround time – amount of time to execute a

particular process waiting to get into memory + waiting in the ready queue

+ executing on the CPU + I/O Waiting time – amount of time a process has been

waiting in the ready queue Response time – amount of time it takes from when

a request was submitted until the first response is produced,

Page 24: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

24

Optimization Criteria

Max CPU utilization Max throughput Min turnaround time Min waiting time Min response time In most cases we optimize the average

measure

Page 25: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

25

Scheduling AlgorithmsFirst-Come, First-Served (FCFS)

Process Burst TimeP1 24

P2 3 P3 3

Suppose that the processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is:

Waiting time for P1 = 0; P2 = 24; P3 = 27 Average waiting time: (0 + 24 + 27)/3 = 17

P1 P2 P3

24 27 300

CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait.

Page 26: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

26

FCFS Scheduling (Cont.)

Suppose that the processes arrive in the order P2 , P3 , P1 The Gantt chart for the schedule is:

Waiting time for P1 = 6; P2 = 0; P3 = 3 Average waiting time: (6 + 0 + 3)/3 = 3 Much better than previous case. Average waiting time is generally not minimal and may

vary substantially if the process CPU-burst times vary greatly

P1P3P2

63 300

Page 27: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

27

FCFS Scheduling (Cont.)

FCFS is non-preemptive Not good for time sharing systems where where each

user needs to get a share of the CPU at regular intervals

Short process(I/O bound) wait for one long CPU-bound process to complete a CPU burst before they get a turn lowers CPU and device utilization

1. I/O bound processes complete their burst and enter ready queue – I/O devices idle and I/O bound processes waiting

2. CPU bound process completes CPU burst and moves to I/O device

3. I/O bound processes all quickly complete their CPU bursts and enter I/O queue – now CPU is idle

4. CPU bound completes I/O and executes on CPU; back to step 1

Page 28: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

28

Shortest-Job-First (SJR) Scheduling

Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time (on a tie use FCFS)

Two schemes: nonpreemptive – once CPU given to the process it cannot be

preempted until completes its CPU burst. preemptive – if a new process arrives with CPU burst length

less than remaining time of current executing process, preempt. This scheme is know as the shortest-Remaining-Time-First

(SRTF).

SJF is optimal – gives minimum average waiting time for a given set of processes.

Page 29: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

29

Process Arrival Time Burst Time

P1 0.0 7

P2 2.0 4

P3 4.0 1

P4 5.0 4 SJF (non-preemptive)

Average waiting time = (0 + 6 + 3 + 7)/4 = 4

Example of Non-Preemptive SJF

P1 P3 P2

73 160

P4

8 12

Page 30: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

30

Example of Preemptive SJFProcess Arrival Time Burst Time

P1 0.0 7

P2 2.0 4

P3 4.0 1

P4 5.0 4

SJF (preemptive)

Average waiting time = (9 + 1 + 0 +2)/4 = 3

P1 P3P2

42 110

P4

5 7

P2 P1

16

Page 31: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

31

Priority Scheduling A priority number (integer) is associated with each

process The CPU is allocated to the process with the highest

priority (smallest integer highest priority). Can be preemptive (compares priority of process

that has arrived at the ready queue with priority of currently running process) or non-preemptive (put at the head of the ready queue)

SJF is a priority scheduling where priority is the predicted next CPU burst time.

Problem Starvation – low priority processes may never execute.

Solution Aging – as time progresses increase the priority of the process.

Page 32: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

32

Round Robin (RR) Each process gets a small unit of CPU time

(time quantum), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue.

If there are n processes in the ready queue and the time quantum is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units.

Page 33: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

33

Example of RR with Time Quantum = 20

Process Burst Time

P1 53

P2 17

P3 68

P4 24 The Gantt chart is:

Typically, higher average turnaround than SJF, but better response.

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

Page 34: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

34

Memory Management When a process is executed it has to be

in main memory as the main memory can be accessed quicker.

An efficient use of the main memory is an important task of the operation system.

Different memory management techniques are used for this purpose.

Page 35: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

35

Memory partition

How processes are arranged in the main memory before been executed?

Fixed-sized partitions Variable-sized partitions

Page 36: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

36

Fixed-sized partitions OS 8M

8M

8M

8M

8M

Page 37: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

37

Variable-sized partitions OS 8M

2M

4M

8M

18M

Page 38: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

38

Swapping I/O operations are slow If a running process requires an I/O

operation. The CPU will move to another process in the main memory.

Suppose the main memory is full of processes waiting on I/O.

CPU becomes idle To solve this problem Swapping

technique is used.

Page 39: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

39

Operation System

Operation System

disk

Long-termqueue

Long-termqueue

Medium-term

Completedprocesses

Completedprocesses

No Swapping

With Swapping

Main memory

Main memory

Page 40: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

40

os os

P1

os

P1

p2

os

P1

p2

p3

os

P1

P3

os

P1

P4

P3

os

P4

p3

os

p2

P4

p3

adcb

ehgf

Page 41: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

41

Fragmentation Memory is divided into partitions Each partition has a different size Processes are allocated space and later freed After a while memory will be full of small holes!

No free space large enough for a new process even though there is enough free memory in total

If we allow free space within a partition we have internal fragmentation

Fragmentation: External fragmentation = unused space between

partitions Internal fragmentation = unused space within partitions

Page 42: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

42

Problems with swapping Swapped process are I/O output

processes. I/O processes are slower. The swapping process is slow as

well. Solution:

Reduce the amount of codes that needs to be swapped.

Paging

Page 43: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

43

Paging

A program is divided into small fixed-sized chunks(pages).

Main memory is divided into small fixed-sized chunks (frames).

A page is stored in one frame.

A program is stored in a set of frames. These frames do not need to be continuous.

Page 44: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

44

disk

Process A

page 0page 1page 2page 3

In use

In use

In use

disk

Process A

page 0page 1page 2page 3

In use

In use

In use page 3

of A

page 2 of A

page 1 of A

page 0 of A

141518

13

A- page table

13

14

1516

17

18

19

20

13

14

1516

17

18

19

20

Page 45: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

45

Logical and physical address

disk

Process A

page 0page 1page 2page 3

In use

In use

In use page 3

of A

page 2 of A

page 1 of A

page 0 of A

141518

13

A- page table

1314

1516

17

18

19

20

Page 1

I...

J(30)

Logical address(J)1:30

Physical address(J)

14:30

Page 46: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

46

simple paging is not efficient Better than fixed and variable-sized

partitions. OS - loads all pages of a process in the

main memory. However, not all pages of a process

need to be in the main memory in order to be executed.

OS - can still execute a process if only some of the pages are loaded

Demand paging.

Page 47: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

47

Demand paging Operating system – loads a page only when it

is required

No swapping in or out of unused pages is needed.

Better use of memory.

CPU can access only a number of pages of a process at one time.

Then asks for more pages to be loaded.

Page 48: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

48

Virtual memory Demand paging gives rise the concept of

virtual memory. Only a small part of a process needs to be

in main memory at one time. Programs which require bigger memory

that main memory can still be executed. Impression of a bigger computer memory. This concept of the main memory is called

virtual memory. Demand paging and virtual memory are

widely used in today’s operation systems (wind-2000, XP).

Page 49: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

49

InterruptsDefinition of ‘Interrupt’

Event that disrupts the normal execution of a program and causes the execution of special instructions

Page 50: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

50

Interrupts

Interrupt

Program

time t

Page 51: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

51

Interrupts

Program

time t

Page 52: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

52

Interrupts

Program

Interrupt Service Routine

Interrupt

Program

time t

Page 53: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

53

Interrupts

Interrupt

Program

time t

mov R1, cent mul R1, 9 div R1, 5 add R1, 32 mov fahr, R1

fahr= (cent * ) +329

5

Page 54: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

54

Interrupts

Program

Interrupt Service Routine

Interrupt

Program

time t

mov R1, cent mul R1, 9

Page 55: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

55

Interrupts

ProgramSave

Context Interrupt Service Routine

Restore Context

Interrupt

Program

time t

mov R1, cent mul R1, 9

Page 56: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

56

Interrupts

ProgramSave

Context Interrupt Service Routine

Restore Context

Interrupt

Program

time t

mov R1, cent mul R1, 9

eg push R1 eg pop R1

Page 57: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

57

I/O devices Called peripherals:

Keyboard Mouse Speakers Monitor scanner Printer Disk drive CD-drive.

OS – manages all I/O operations and devices

Page 58: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

58

OS - I/O management

There are four main I/O operations. Control: tell the system to perform

some action (e.g. rewind tape). Test: check the status of the device Read: read data from the device Write write data to the device.

Page 59: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

59

I/O modules

System bus

CPUMain

memory

I/O module I/O module

I/Odevice

I/Odevice

Page 60: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

60

Advantages of I/O modules They allow the CPU to view a wide range of

devices in a simple-minded format CPU does not need to know details of timing,

format, or electronic mechanics. CPU only needs to function in terms of a

simple read and write commands. They help the CPU to work more efficiently They are 3 ways in which I/O modules can

work Programmed I/O Interrupt-driven I/O Direct memory access.

Page 61: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

61

Programmed I/O The CPU controls I/O device directly Via the

I/O modules.

The CPU sends an I/O command the I/O module.

And waits until the I/O operation is completed before sending another I/O command.

The performance is poor as the CPU spends too much time waiting the I/O device.

Page 62: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

62

Programmed I/OIssue Read to

I/O module

Check status

Read word from I/O module

Write word To memory

done

yes

NO

Next instruction

Ready

Page 63: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

63

Interrupt-driven I/O

The CPU issues a command to the I/O module and then gets on with executing other instructions.

The I/O module interrupts the CPU when it is ready to exchange data with the CPU.

The CPU then executes the data transfer.

Most computer have interrupt lines to detect and record the arrival of an interrupt request.

Page 64: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

64

Interrupt-driven I/OIssue Read to

I/O module

Check status

Read word from I/O module

Write word To memory

done

yes

NO

Next instruction

Ready

CPU goes to do Other things

When the statusIs ready the I/O module sendsAn interrupt-signal

Page 65: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

65

How does I/O module send an interrupt to the CPU? I/O module is linked to the control bus.

I/O module reads a word from the I/O device.

Puts the word in the data register which is linked to data bus.

Sends a interrupt signal to the CPU via control bus.

Page 66: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

66

How does CPU know Interrupt-signal?

The CPU executes an instruction cycle. An interrupt stage is added at the end of the

cycle. At the end of an instruction cycle the CPU checks

for interrupts. The CPU hardware has a wire, interrupt-request

line that the CPU can sense. If no interrupt the CPU carries on executing next

instruction. Otherwise, it updates the process control block,

save it. Then process the interrupt. Resume the execution of the interrupted process.

Page 67: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

67

How does CPU process interrupts? Interrupt detection. CPU executes Interrupt-handler program. Interrupt-handler program makes use of

the process control block save earlier. Interrupt-handler decides what to do with

interrupt. Then asks the CPU to resume the

execution interrupted.

Page 68: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

68

Disadvantages of Interrupt-driven I/O CPU is responsible for managing I/O

data transfer. Every transferred word must go

through the CPU. Devices with large transfer, e.g. disk

drive, the CPU wastes time dealing with data transfer.

Solution: Direct-memory-access(DMA).

Page 69: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

69

Direct-memory-access - DMA Special-purpose processor. Handles data transfer. CPU issues to the DMA:

starting address in main memory to read/write to. Starting address in the I/O device to read/write to. The number of words to be transferred.

DMA transfers data without intervention from the CPU.

DMA sends interrupt to the CPU when transfer is completed.

Page 70: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

70

DMA/CPU - bus system DMA take care data transfer. CPU free to do other jobs. However, they can not use the bus

at the same time. DMA can use the bus only when

the CPU is not using it. Some times it has to force to CPU

to free the bus, cycles stealing.

Page 71: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

71

DMA/CPU

System bus

CPUMain

memory

I/O module

I/Odevice

DMA

Page 72: 1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.

72

Summery OS- memory manager

Fixed-sized partition: waist of memory. Variable-sized partition: fragmentation. Swapping. Time wasted in swapping the whole

process Simple paging: process divided into pages and

loaded into main memory(divided into frames). Demand paging: only the required pages are loaded to

main memory. OS- I/O manager

Programmed I/O: CPU waste waiting for I/O operation. Interrupt-driven I/O: CPU responsible for data transfer. DMA: takes care of data transfer instead the CPU.