context switching

8
1 Context Switching Group 1 – Presented by David Calhoun Question 3.7: What are the actions taken by the kernel to context- switch between processes?

Upload: franksvalli

Post on 26-May-2015

4.005 views

Category:

Documents


31 download

TRANSCRIPT

Page 1: Context Switching

1

Context SwitchingGroup 1 – Presented by David Calhoun

Question 3.7: What are the actions taken by the kernel to context-switch between processes?

Page 2: Context Switching

2

Multitasking (real life)

(Look carefully...)

Page 3: Context Switching

3

Multitasking (OS)

(process scheduler)

Page 4: Context Switching

4

What is a context switch?

-process of suspending and resuming processes

-triggered by interrupt (for instance, an IO interrupt), preemptive multitasking, or as part of

user/kernel mode switching

-process context represented by the Process Control Block (PCB)

Page 5: Context Switching

5

Process Control Block (PCB)

The PCB is "the manifestation of a process in an operating system"

Harvey M. Deitel (1984) [1982]. An introduction to operating systems

Page 6: Context Switching

6

What's in the PCB?

Page 7: Context Switching

7

PCB components

-PCB implementations differ, but generally contain:

Process ID (PID) Process state (fig 3.2) (ready, running, waiting,

etc) Registers (including Program Counter) Memory management info (address space of

the process)

More complete list: p. 104

Page 8: Context Switching

8

Overhead

Switching contexts

involves a lot of

overhead (typically a

few milliseconds).

Think of the overhead

involved in multitasking

in real life.