Chapter 9 Uniprocessor Scheduling

Similar documents
Uniprocessor Scheduling. Aim of Scheduling

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency

Uniprocessor Scheduling

Uniprocessor Scheduling. Chapter 9

Scheduling of processes

Chapter 9. Uniprocessor Scheduling

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.

Today s class. Scheduling. Informationsteknologi. Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed)

Chapter 5: CPU Scheduling

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Scheduling. The Basics

Last Class: Processes

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

CPU Scheduling. Rab Nawaz Jadoon. Assistant Professor DCS. Pakistan. COMSATS, Lahore. Department of Computer Science

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

CPU Scheduling. Schedulers. CPSC 313: Intro to Computer Systems. Intro to Scheduling. Schedulers in the OS

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS3733: Operating Systems

High level scheduling: Medium level scheduling: Low level scheduling. Scheduling 0 : Levels

Unit 3 : Process Management

Operating Systems. Scheduling

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

COSC243 Part 2: Operating Systems

CPU Scheduling Algorithms

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

Chapter 5: CPU Scheduling

1.1 CPU I/O Burst Cycle

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling

CS370 Operating Systems

Course Syllabus. Operating Systems

Properties of Processes

CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. Dispatcher. CPU Scheduler. Alternating Sequence of CPU and I/O Bursts

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

Operating System Concepts Ch. 5: Scheduling

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling

Chapter 5: CPU Scheduling

CPU Scheduling: Objectives

Chapter 5: CPU Scheduling. Operating System Concepts Essentials 8 th Edition

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Scheduling Bits & Pieces

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

Operating System Review Part

CS307: Operating Systems

ALL the assignments (A1, A2, A3) and Projects (P0, P1, P2) we have done so far.

A COMPARATIVE STUDY OF CPU SCHEDULING POLICIES IN OPERATING SYSTEMS

Operating Systems Unit 3

Operating Systems ECE344. Ding Yuan

Ch 4 : CPU scheduling

Chapter 6: CPU Scheduling

CS370 Operating Systems

Operating Systems CS 323 Ms. Ines Abbes

8: Scheduling. Scheduling. Mark Handley

Review. Preview. Three Level Scheduler. Scheduler. Process behavior. Effective CPU Scheduler is essential. Process Scheduling

Chapter 6: CPU Scheduling

SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS *

CS418 Operating Systems

Chapter 5 CPU scheduling

CHAPTER 2: PROCESS MANAGEMENT

Comp 310 Computer Systems and Organization

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni

LECTURE 3:CPU SCHEDULING

CS370 Operating Systems

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition,

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey

Process- Concept &Process Scheduling OPERATING SYSTEMS

CSE 4/521 Introduction to Operating Systems

Lecture 2 Process Management

Topic 4 Scheduling. The objective of multi-programming is to have some process running at all times, to maximize CPU utilization.

CSE 120. Fall Lecture 8: Scheduling and Deadlock. Keith Marzullo

Scheduling in the Supermarket

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

CSE 120 Principles of Operating Systems Spring 2017

Chap 7, 8: Scheduling. Dongkun Shin, SKKU

CS370 Operating Systems

Practice Exercises 305

OPERATING SYSTEMS: Lesson 4: Process Scheduling

Process behavior. Categories of scheduling algorithms.

Starting the Threads

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

SMD149 - Operating Systems

CSE 120 Principles of Operating Systems

OPERATING SYSTEMS. UNIT II Sections A, B & D. An operating system executes a variety of programs:

Start of Lecture: February 10, Chapter 6: Scheduling

Processes, PCB, Context Switch

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

CSCE Operating Systems Scheduling. Qiang Zeng, Ph.D. Fall 2018

by Maria Lima Term Paper for Professor Barrymore Warren Mercy College Division of Mathematics and Computer Information Science

OPERATING SYSTEM. The Process. Introduction Process creation & termination Process state diagram Process scheduling & its criteria

CSL373: Lecture 6 CPU Scheduling

Job Scheduling. CS170 Fall 2018

Assignment 3 (Due date: Thursday, 10/15/2009, in class) Part One: Provide brief answers to the following Chapter Exercises questions:

CS 326: Operating Systems. CPU Scheduling. Lecture 6

Maximum CPU utilization obtained with multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait

Transcription:

Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 9 Uniprocessor Scheduling Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall

Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

Types of Scheduling

Scheduling and Process State Transitions

Levels of Scheduling

Long-Term Scheduling Determines which programs are admitted to the system for processing Controls the degree of multiprogramming More processes, smaller percentage of time each process is executed

Medium-Term Scheduling Part of the swapping function Based on the need to manage the degree of multiprogramming

Short-Term Scheduling Known as the dispatcher Executes most frequently Invoked when an event occurs Clock interrupts I/O interrupts Operating system calls Signals (eg semaphores)

Short-Term Scheduling Criteria User-oriented Response Time Elapsed time between the submission of a request until there is output. System-oriented Effective and efficient utilization of the processor

Short-Term Scheduling Criteria Performance-related Quantitative Measurable such as response time and throughput

Scheduling Criteria

Scheduling Criteria

Queuing Diagram

Priorities Scheduler will always choose a process of higher priority over one of lower priority Have multiple ready queues to represent each level of priority Lower-priority may suffer starvation Allow a process to change its priority based on its age or execution history

Priority Queuing

Decision Mode Nonpreemptive Once a process is in the running state, it will continue until it terminates or blocks itself for I/O

Decision Mode Preemptive Currently running process may be interrupted and moved to the Ready state by the operating system Allows for better service since any one process cannot monopolize the processor for very long

Process Scheduling Example

First-Come-First-Served Each process joins the Ready queue When the current process ceases to execute, the process in the Ready queue the longest time is selected

First-Come-First-Served A short process may have to wait a very long time before it can execute Favors CPU-bound processes I/O processes have to wait until CPU-bound process completes, while they only need the CPU for a short amount of time after which they will be blocked (can lead to inefficient use of the CPU)

Round Robin Uses preemption based on a clock

Round Robin Clock interrupt is generated at periodic intervals When an interrupt occurs, the currently running process is placed in the ready queue Next ready job is selected Known as time slicing

Effect of Size of Preemption Time Quantum

Effect of Size of Preemption Time Quantum

Round-Robin (2) Processor-bound processes tend to receive an unfair amount of processor time, this results in poor performance for I/O processes, inefficient use of I/O devices, and increase in variance of response time. Solution, Auxiliary queue that has preference over Ready for processes just released from the Blocked Queues.

Queuing Diagram

Shortest Process Next Nonpreemptive policy Process with shortest expected processing time is selected next Short process jumps ahead of longer processes

Shortest Process Next Predictability of longer processes is reduced If estimated time for process not correct, the operating system may abort it Possibility of starvation for longer processes

Shortest Process Next One difficulty is the need to know or at least estimate the required processing time. In a batch job can ask the programmer for an estimate; in a production environment, statistics can be gathered. SS nn+1 = 1 nn nn ii=1 TT ii To avoid recalculating the entire summation each time: SS nn+1 = 1 TT nn nn + nn 1 nn SS nn (equal weight to each instance)

Shortest Process Next Exponential Averaging is used to give more weight to more recent values. SS nn+1 = TT nn + 1 SS nn Which expands to: SS nn = TT nn + 1 TT nn 1 + + 1 ii TT nn ii + + 1 nn SS 1 Depending on the coefficients are shown next:

Exponential Smoothing Coefficients

Use Of Exponential Averaging

Use Of Exponential Averaging

Shortest Remaining Time Preemptive version of shortest process next policy Must estimate processing time

Highest Response Ratio Next Choose next process with the greatest ratio This approach is attractive because it accounts for the age of the process. While shorter jobs are favored, aging will help a longer process eventually get past competing shorter jobs.

Feedback Penalize jobs that have been running longer by making them move to a lower priority queue at each preemption. The simple method will cause the time for longer processes to grow alarmingly A solution is to increase the time quantum at each priority level. One time unit at RQ0, two at RQ1, 2^i at RQi Don t know remaining time process needs to execute

Feedback Scheduling

Scheduling Policies w e s Time spent in system so far Time spent in execution so far Total service time required by the process

Scheduling Policies

Comparison of Scheduling Policies

Formulas

Normalized Response Time

Normalized Response Time

Normalized Response Time

Normalized Turnaround Time

Simulation Result for Waiting Time

Fair-Share Scheduling User s application runs as a collection of processes (threads) User is concerned about the performance of the application Need to make scheduling decisions based on process sets

Fair-Share Scheduler

Traditional UNIX Scheduling Multilevel feedback using round robin within each of the priority queues If a running process does not block or complete within 1 second, it is preempted Priorities are recomputed once per second Base priority divides all processes into fixed bands of priority levels

Bands Decreasing order of priority Swapper Block I/O device control File manipulation Character I/O device control User processes

Example of Traditional UNIX Process Scheduling