Top Banner
CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak
32

CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

Dec 14, 2015

Download

Documents

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: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

CS 149: Operating SystemsFebruary 3 Class Meeting

Department of Computer ScienceSan Jose State University

Spring 2015Instructor: Ron Mak

www.cs.sjsu.edu/~mak

Page 2: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

2Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Processes

A process is basically an abstraction of a running program.

The most central concept in any operating system.

Each process runs in its own address space._

Page 3: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

3Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Context Switching

A process’s stateinformation is keptin its process controlblock (PCB).

Operating Systems: Design and Implementation, 3rd ed. Andrew Tanenbaum & Albert Woodhull (c) 2006 Prentice-Hall, Inc. 0-13-142938-8

Page 4: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

4Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Contents of a Process Control Block (PCB)

Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Page 5: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

5Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process States

Running Actually using the CPU at that instant.

Ready Runnable, but temporarily stopped to let another process run.

Blocked Unable to run until some external event happens.

Operating Systems: Design and Implementation, 3rd ed. Andrew Tanenbaum & Albert Woodhull (c) 2006 Prentice-Hall, Inc. 0-13-142938-8

Page 6: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

6Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process Scheduler

Transitions 2 and 3 are caused by the process scheduler. A part of the operating system. A process does not know about the transitions.

Transition 2 can happen at the end of a time slice. Transition 3 can happen when it’s the process’s turn

again to run.

Page 7: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

7Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process Scheduling Goals

The process scheduler decides which process can run, i.e., which process can have the CPU.

The goal is to keep all parts of the computer system as busy as possible.

Which scheduling algorithm to use depends on The type of system How it’s used What policies are in place

Page 8: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

8Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process Behavior

A process may be: Computing: using the CPU Performing I/O

A compute-bound process spends most of its time computing. Long CPU bursts and infrequent I/O waits.

An I/O-bound process spends most of its time waiting for I/O operations to complete. Long I/O waits punctuated by short CPU bursts.

Page 9: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

9Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process Behavior, cont’d

As CPUs become faster relative to disks: Programs are becoming more I/O bound. Scheduling I/O-bound processes

becomes more important.Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Page 10: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

10Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Process Behavior, cont’d

Histogram of CPU burst durations. CPU-bound process: A few long bursts. I/O bound process: Many short bursts.

Silberschatz, Galvin, and Gagne Operating Systems Concepts with Java, 8th edition(c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Page 11: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

11Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

When to Schedule

When scheduling is absolutely required:

When a process exits. When a process blocks on I/O, or on a semaphore.

When scheduling usually done (although not absolutely required):

When a new process is created. When an I/O interrupt occurs. When a clock interrupt occurs.

Page 12: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

12Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Types of Scheduling Algorithms

Preemptive Each process is assigned a time interval to run,

called the quantum or time slice. At the end of a process’s time quantum,

the scheduler suspends the process and schedules another process to run.

Non-preemptive The scheduler allows a process to run until it blocks:

Waiting for I/O. Waiting for another process.

The process voluntarily releases the CPU.

Page 13: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

13Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Criteria

CPU utilization Keep the CPU as busy as possible.

Throughput Number of processes that complete their execution

per time unit.

Turnaround time The amount of elapsed time from when a process

enters the ready queue to when it completes execution.

Page 14: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

14Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Criteria, cont’d

Waiting time Amount of time a process waits in the ready queue.

Response time In an interactive environment, the amount of

elapsed time from when a request was submitted until the first response is produced.

Page 15: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

15Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Criteria, cont’d

Proportionality “Simple” tasks (as perceived by human users)

should take little time. “Complex” tasks can take longer time.

Page 16: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

16Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Goals

Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Page 17: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

17Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

First-Come First-Served (FCFS)Process Burst Time

P1 24

P2 3

P3 3

Suppose that the processes arrive in the order: P1 , P2 , P3 .

The timeline 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

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Page 18: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

18Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Shortest Job First (SJF)

P1P3P2

63 300

Now suppose that the processes arrive in the order:

P2 , P3 , P1

The timeline 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. Schedule short processes ahead of long processes.

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Process Burst Time P1 24 P2 3 P3 3

Page 19: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

19Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Shortest Job First (SJF), cont’d

Shortest Job First (SJF) gives the optimal average waiting time for a given set of processes.

How can you know in advance each process’s expected run time? It’s possible if you run the same jobs frequently.

Page 20: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

20

Practice Problem #1

Assume:

What is the average turnaround time with theFCFS scheduling algorithm?

With the SJF scheduling algorithm?

Process Arrival Time Burst Time

P1 0.0 8

P2 0.4 4

P3 1.0 1

53.103

)0.113()4.012()0.08(

53.93

)4.013()0.19()0.08(

P1 P2 P3

P1 P3 P2

Page 21: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

21Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Shortest Remaining Time (SRT) When a new job (process) arrives, its expected

run time is compared to the expected remaining run time of the currently executing process.

If the new job needs less time to finish than the current process, the scheduler suspends the current process and starts the new job.

New short jobs get good service.

As with Shortest Job First, you must know in advance each process’s expected run time.

Page 22: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

22Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Round Robin (RR)

Each process is assigned a time interval called a quantum during which it is allowed to run.

If the process is still running at the end of its quantum, the CPU is preempted and given to the next process. The preempted process moves

to the end of the ready queue.

Preemption can also occur if a process blocks.

Page 23: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

23Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Round Robin (RR), cont’d

Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Page 24: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

24Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Round Robin (RR), cont’d

Round Robin example with time quantum 4:Process Burst Time

P1 24

P2 3

P3 3

The timeline is:

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

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Page 25: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

25Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Time Quantum vs. Context Switch Time

A smaller time quantum increases the number of processor switches. Recall each context switch takes time.

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Page 26: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

26Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Interactive Systems

Turnaround time varies with the time quantum.

Each context switch incurs certain OS administrative overhead:

Save and load registers and memory maps. Switch memory maps. Update system tables and lists. Flush and reload the cache. etc.

Page 27: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

27Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Scheduling Interactive Systems, cont’d

Increasing the time quantum can increase response time.

Example with 100 msec quantum: 10 users press carriage return simultaneously. The last user has to wait 1 second for a response

Page 28: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

28Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Highest Priority First (HPF)

Operating Systems Concepts with Java, 8th editionSilberschatz, Galvin, and Gagne (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8

Page 29: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

29Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Highest Priority First (HPF), cont’d

HPF scheduling with four priority classes:

Use Round Robin schedulingwithin each priority class.

Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Page 30: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

30Computer Science Dept.Spring 2015: February 3

CS 149: Operating Systems© R. Mak

Highest Priority First (HPF), cont’d

A serious problem with HPF is starvation. The lowest priority processes

may never get to execute.

A solution is aging. As time progresses, the process scheduler

automatically raises the process’s priority.

HPF can be preemptive. A higher priority task that’s arriving can preempt

a currently executing process with a lower priority.

Page 31: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

31

Practice Problem #2

Assume:

Draw timelines for the scheduling algorithms FCFS, SJF, HPF (nonpreemptive), and RR.

What is the turnaround time of each process for each of these scheduling algorithms?

What is the total waiting time for each process for each of these scheduling algorithms?

Which of these scheduling algorithms results in the minimum average waiting time over all the processes?

Process Burst Time Priority

P1 10 3

P2 1 1

P3 2 3

P4 1 4

P5 5 2

All arrived at time 0 in theorder P1, P2, P3, P4, P5.Highest priority = 1Time quantum = 1

Page 32: CS 149: Operating Systems February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak mak.

32

Practice Problem #2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

FCFS P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P2 P3 P3 P4 P5 P5 P5 P5 P5

SJF P2 P4 P3 P3 P5 P5 P5 P5 P5 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1

HPF P2 P5 P5 P5 P5 P5 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P3 P3 P4

RR P1 P2 P3 P4 P5 P1 P3 P5 P1 P5 P1 P5 P1 P5 P1 P1 P1 P1 P1

  P1 P2 P3 P4 P5

FCFS 10 11 13 14 19

SJF 19 1 4 2 9

HPF 16 1 18 19 6

RR 19 2 7 4 14

Timelines:

Turnaround times: