0% found this document useful (0 votes)
26 views

CS 149: Operating Systems: February 3 Class Meeting

This document summarizes key topics from the February 3 class meeting of CS 149: Operating Systems at San Jose State University, taught by Professor Ron Mak. The class covered processes, context switching, process states, process scheduling, and scheduling algorithms like first-come first-served and shortest job first. A process is an abstraction of a running program with its own address space. The operating system uses a process scheduler and process control blocks to manage running, ready, and blocked processes. Scheduling aims to maximize CPU and system utilization while minimizing wait times.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

CS 149: Operating Systems: February 3 Class Meeting

This document summarizes key topics from the February 3 class meeting of CS 149: Operating Systems at San Jose State University, taught by Professor Ron Mak. The class covered processes, context switching, process states, process scheduling, and scheduling algorithms like first-come first-served and shortest job first. A process is an abstraction of a running program with its own address space. The operating system uses a process scheduler and process control blocks to manage running, ready, and blocked processes. Scheduling aims to maximize CPU and system utilization while minimizing wait times.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

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
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.
_

Computer Science Dept. CS 149: Operating Systems 2


Spring 2015: February 3 © R. Mak
Context Switching

A process’s state
information is kept
in its process control
block (PCB).

Operating System s: Design and Im plem entation, 3 rd ed.


Computer Science Dept. CS 149: Operating Systems Andrew Tanenbaum & Albert Woodhull 3
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. 0-13-142938-8
Contents of a Process Control Block (PCB)

Operating System s: Design and Im plem entation


Computer Science Dept. CS 149: Operating Systems Tanenbaum & Woodhull 4
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8
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 System s: Design and Im plem entation, 3 rd ed.
Computer Science Dept. CS 149: Operating Systems Andrew Tanenbaum & Albert Woodhull 5
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. 0-13-142938-8
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.
Computer Science Dept. CS 149: Operating Systems 6
Spring 2015: February 3 © 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

Computer Science Dept. CS 149: Operating Systems 7


Spring 2015: February 3 © 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.

Computer Science Dept. CS 149: Operating Systems 8


Spring 2015: February 3 © 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 System s: Design and Im plem entation
Computer Science Dept. CS 149: Operating Systems Tanenbaum & Woodhull 9
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8
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
Computer Science Dept. CS 149: Operating Systems Operating System s Concepts with Java, 8 th edition10
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
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.

Computer Science Dept. CS 149: Operating Systems 11


Spring 2015: February 3 © 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.
Computer Science Dept. CS 149: Operating Systems 12
Spring 2015: February 3 © 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.

Computer Science Dept. CS 149: Operating Systems 13


Spring 2015: February 3 © 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.

Computer Science Dept. CS 149: Operating Systems 14


Spring 2015: February 3 © R. Mak
Scheduling Criteria, cont’d
 Proportionality
 “Simple” tasks (as perceived by human users)
should take little time.
 “Complex” tasks can take longer time.

Computer Science Dept. CS 149: Operating Systems 15


Spring 2015: February 3 © R. Mak
Scheduling Goals

Operating System s: Design and Im plem entation


Computer Science Dept. CS 149: Operating Systems Tanenbaum & Woodhull 16
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8
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:

P1 P2 P3

0 24 27 30
 Waiting time for P1 = 0; P2 = 24; P3 = 27
 Average waiting time: (0 + 24 + 27)/3 = 17
Operating System s Concepts with Java, 8 th edition
Computer Science Dept. CS 149: Operating Systems
Silberschatz, Galvin, and Gagne
17
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
Shortest Job First (SJF)
 Now suppose that the processes arrive in the order:
P2 , P3 , P1 Process Burst Time
P1 24
P2 3
P3 3
 The timeline for the schedule is:
P2 P3 P1

0 3 6 30

 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 System s Concepts with Java, 8 th edition
Computer Science Dept. CS 149: Operating Systems
Silberschatz, Galvin, and Gagne
18
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
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.

Computer Science Dept. CS 149: Operating Systems 19


Spring 2015: February 3 © R. Mak
Practice Problem #1
Process Arrival Time Burst Time
 Assume:
P1 0.0 8
P2 0.4 4
P3 1.0 1

 What is the average turnaround time with the


FCFS scheduling algorithm?
(8  0.0)  (12  0.4)  (13  1.0)
P1 P2 P3  10.53
3

 With the SJF scheduling algorithm?


(8  0.0)  (9  1.0)  (13  0.4)
P1 P3 P2  9.53
3
20
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.
Computer Science Dept. CS 149: Operating Systems 21
Spring 2015: February 3 © 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.

Computer Science Dept. CS 149: Operating Systems 22


Spring 2015: February 3 © R. Mak
Round Robin (RR), cont’d

Operating System s: Design and Im plem entation


Tanenbaum & Woodhull
(c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8

Computer Science Dept. CS 149: Operating Systems 23


Spring 2015: February 3 © 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:

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30

 Typically, higher average turnaround


than SJF, but with better response time.
Operating System s Concepts with Java, 8 th edition
Computer Science Dept. CS 149: Operating Systems
Silberschatz, Galvin, and Gagne
24
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
Time Quantum vs. Context Switch Time
 A smaller time quantum increases the number
of processor switches.
 Recall each context switch takes time.

Operating System s Concepts with Java, 8 th edition


Computer Science Dept. CS 149: Operating Systems
Silberschatz, Galvin, and Gagne
25
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
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.

Computer Science Dept. CS 149: Operating Systems 26


Spring 2015: February 3 © 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

Computer Science Dept. CS 149: Operating Systems 27


Spring 2015: February 3 © R. Mak
Highest Priority First (HPF)

Operating System s Concepts with Java, 8 th edition


Computer Science Dept. CS 149: Operating Systems
Silberschatz, Galvin, and Gagne
28
Spring 2015: February 3 © R. Mak (c) 2010 John Wiley & Sons. All rights reserved. 0-13-142938-8
Highest Priority First (HPF), cont’d
 HPF scheduling with four priority classes:

Use Round Robin scheduling


within each priority class.

Operating System s: Design and Im plem entation


Computer Science Dept. CS 149: Operating Systems Tanenbaum & Woodhull 29
Spring 2015: February 3 © R. Mak (c) 2006 Prentice-Hall, Inc. All rights reserved. 0-13-142938-8
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.

Computer Science Dept. CS 149: Operating Systems 30


Spring 2015: February 3 © R. Mak
Practice Problem #2
 Assume: Process Burst Time Priority All arrived at time 0 in the
P1 10 3 order P1, P2, P3, P4, P5.
P2 1 1
Highest priority = 1
Time quantum = 1
P3 2 3
P4 1 4
P5 5 2

 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?
31
Practice Problem #2
Timelines:
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

Turnaround times:
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

32

You might also like