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

Similar documents
Chapter 5 CPU scheduling

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

Chapter 5: Process Scheduling

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

Chapter 5: CPU Scheduling

CS307: Operating Systems

Chapter 5: CPU Scheduling

CSE 4/521 Introduction to Operating Systems

Chapter 6: CPU Scheduling

Chapter 5 Process Scheduling

Operating Systems CS 323 Ms. Ines Abbes

Job Scheduling. CS170 Fall 2018

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

Chapter 6: CPU Scheduling

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

Chapter 6: CPU Scheduling

Scheduling. Today. Next Time Process interaction & communication

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

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

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

Round Robin (RR) ACSC 271 Operating Systems. RR Example. RR Scheduling. Lecture 9: Scheduling Algorithms

Chapter 5: Process Scheduling

Chapter 5: CPU Scheduling

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

Chapter 6: CPU Scheduling

Properties of Processes

CHAPTER 2: PROCESS MANAGEMENT

Chapter 5 Scheduling

CS370 Operating Systems

CPU Scheduling: Objectives

LECTURE 3:CPU SCHEDULING

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

CPU Scheduling Algorithms

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

CS370 Operating Systems

CPU Scheduling (Part II)

CS3733: Operating Systems

Lecture 2 Process Management

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Process Concept Process in Memory Process State new running waiting ready terminated Diagram of Process State

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

Chapter 5: CPU Scheduling. Operating System Concepts 9 th Edit9on

Process- Concept &Process Scheduling OPERATING SYSTEMS

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

CS370 Operating Systems

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

Computer Systems Laboratory Sungkyunkwan University

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

CS370 Operating Systems

Titolo presentazione. Scheduling. sottotitolo A.Y Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella

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

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

Last class: Today: CPU Scheduling. CPU Scheduling Algorithms and Systems

Practice Exercises 305

Scheduling. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Process interaction & communication

CPU Scheduling: Part I ( 5, SGG) Operating Systems. Autumn CS4023

CSE 120 Principles of Operating Systems Spring 2017

TDIU25: Operating Systems II. Processes, Threads and Scheduling

Operating System Concepts Ch. 5: Scheduling

Operating Systems Unit 3

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

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

Ch 4 : CPU scheduling

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

Scheduling in the Supermarket

So far. Next: scheduling next process from Wait to Run. 1/31/08 CSE 30341: Operating Systems Principles

Last Class: Processes

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

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

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

Processes and Threads

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads

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

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

Operating Systems ECE344. Ding Yuan

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

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Chap 7, 8: Scheduling. Dongkun Shin, SKKU

COSC243 Part 2: Operating Systems

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Scheduling of processes

3. CPU Scheduling. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn

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.

Course Syllabus. Operating Systems

CS 318 Principles of Operating Systems

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

Operating Systems. Scheduling

Unit 3 : Process Management

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

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

Scheduling. Multi-processing. Process Characterization. time. ...makes use of idle. COS450-F18-05-Scheduling - October 8, 2018

Supplementary Materials on Multilevel Feedback Queue

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

Start of Lecture: February 10, Chapter 6: Scheduling

CSE 120 Principles of Operating Systems

Frequently asked questions from the previous class survey

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

Scheduling. The Basics

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

Operating System Review Part

Transcription:

Chapter 5: CPU Scheduling Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation 2/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Objectives To introduce process scheduling, which is the basis for multiprogrammed operating systems To describe various process-scheduling algorithms To discuss evaluation criteria for selecting a process-scheduling algorithm for a particular system 3/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Basic Concepts CPU Burst : Time it takes for the CPU to execute an operation I/O Burst : Time it takes for the CPU to wait for I/O task Goal of processor scheduling : Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait CPU burst distribution 4/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

CPU burst vs. IO burst (a) A CPU-bound process (b) An I/O-bound process 5/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009 5

Histogram of CPU-burst Times 6/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Alternating Sequence of CPU And I/O Bursts 7/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

CPU Scheduler Selects a process (in ready queue) from among the processes in memory that are ready to execute, and allocates the CPU to one of them CPU scheduling decisions may take place when a process: 1. Switches from running to waiting state -I/O request, event wait, completion of child process 2. Switches from running to ready state interrupt request 3. Switches from waiting to ready completion of I/O task or event 4. Terminates Scheduling under 1 and 4 is nonpreemptive All other scheduling (2 and 3) is preemptive - OS 가우선적으로중단 / 실행 8/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Dispatcher Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves: switching context switching to user mode jumping to the proper location in the user program to restart that program Dispatch latency time it takes for the dispatcher to stop one process and start another running 9/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

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 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, not output (for timesharing environment) 10/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Scheduling Algorithm Optimization Criteria Max CPU utilization Max throughput Min turnaround time Min waiting time Min response time 11/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Scheduling Goals All systems Fairness: giving each process a fair share of the CPU Balance: keeping all parts of the system busy Batch systems Throughput: maximize jobs per hour Turnaround time: minimize time between submission and termination CPU utilization: keep the CPU busy all the time 12/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Scheduling Goals (Cont d) Interactive systems Response time: minimize average time spent on ready queue Waiting time: minimize average time spent on wait queue Proportionality: meet users expectations Real-time systems Meeting deadlines: avoid losing data Predictability: avoid quality degradation in multimedia systems 13/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Scheduling Non-goals Starvation(of process) A situation where a process is prevented from making progress because another process has the resource it requires. Resource could be the CPU or a lock A poor scheduling policy can cause starvation If a high-priority process always prevents a low-priority process from running on the CPU Synchronization can also cause starvation One thread always beats another when acquiring a lock Constant supply of readers always blocks out writers 14/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

First-Come, First-Served (FCFS) Scheduling First-Come, First-Served Jobs are scheduled in order that they arrive Real-world scheduling of people in lines e.g. supermarket, bank tellers, McDonalds, etc. Typically, non-preemptive Jobs are treated equally: no starvation Problems Average waiting time can be large if small jobs wait behind long ones Basket vs. cart May lead to poor overlap of I/O and CPU 15/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

First-Come, First-Served (FCFS) Scheduling Process Burst Time P 1 24 P 2 3 P 3 3 Suppose that the processes arrive in the order: P 1, P 2, P 3 The Gantt Chart for the schedule is: P 1 P 2 P 3 0 24 27 30 Waiting time for P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: (0 + 24 + 27)/3 = 17 16/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

FCFS Scheduling (Cont) Suppose that the processes arrive in the order P 2, P 3, P 1 The Gantt chart for the schedule is: P 2 P 3 P 1 0 Waiting time for P 1 = 6; P 2 = 0 ; P 3 = 3 Average waiting time: (6 + 0 + 3)/3 = 3 Much better than previous case Convoy effect 3 6 30 short process behind long process 17/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

SJF Shortest Job First Choose the job with the smallest expected CPU burst Can prove that SJF has optimal min. average waiting time Only when all jobs are available simultaneously Non-preemptive Problems Impossible to know size of future CPU burst Can you make a reasonable guess? Can potentially starve 18/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Shortest-Job-First (SJF) Scheduling Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time Two schemes of SJF: 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 known as the Shortest-Remaining-Time-First (SRTF) SJF is optimal gives minimum average waiting time for a given set of processes The difficulty is knowing the length of the next CPU request 19/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Example of Non-Preemptive SJF 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 P1 0=0-0 P2:8-2.0=6 P3:7-4.0=3 P4:12-5.0=7 0: P1(7) =>P1(7) p1(7) ~ 7:P2(4),P3(1),P4(4) => P3(1) p3(1) ~ 8: P2(4),P4(4) =>P2(4) p2(4) ~ 12:P4(4)=>P4(4) p4(4) ~ 16 20 20/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Example of Preemptive SJF Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF (preemptive) (= SRTF) Average waiting time = (9 + 1 + 0 +2)/4 = 3 P1:0-0 + 11-2=9 P2:2-2.0 + 5-4=1 P3=4-4.0=0 P4:7-5=2 0 : P1(7) =P1(7) P1(7) ~ 2.0 p2(4) : P1(5), p2(4) => p2(4) P2(4) ~ 4.0 p3(1) : p1(5), p2(2), p3(1) => p3(1) P3(1) ~ 5.0 p4(4) : p1(5),p2(2), p4(4) =>P2(2) P2(2) ~ 7.0 : p1(5),p4(4) =>P4(4) p4(4) ~ 11.0 : P1(5) =>P1(5) p1(5) ~ 16.0 : 21/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Determining Length of Next CPU Burst Can only estimate the length Can be done by using the length of previous CPU bursts, using exponential averaging 1. 2. 3. 4. t n actual length of n n 1, 0 1 Define : CPU burst predicted value for the next CPU th 1. n 1 tn n burst 22/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Prediction of the Length of the Next CPU Burst 10, 0.5, t 0 t 1 2 3 0 t 1 t 2 0 6 1 0 0.5*6 0.5*10 1 1 0.5*4 0.5*8 6 1 0.5*6 0.5*6 6 2 23/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009 8

Examples of Exponential Averaging =0 =1 n+1 = n Recent history does not count n+1 = t n Only the actual last CPU burst counts If we expand the formula, we get: n+1 = t n +(1 - ) t n -1 + +(1 - ) j t n -j + +(1 - ) n +1 0 Since both and (1 - ) are less than or equal to 1, each successive term has less weight than its predecessor 24/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

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) Preemptive nonpreemptive 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 25/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Priority Scheduling Abstractly modeled as multiple priority queues Put ready job on Queue associated with its priority 26/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Round Robin (RR) For time sharing system. FCFS, each process occupies for quantum at a time, preemptive scheduling, circular ready queue 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. Performance q large FIFO q small q must be large with respect to context switch, otherwise overhead is too high 27/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Example of RR with Time Quantum = 4 Process Burst Time P 1 24 P 2 3 P 3 3 The Gantt chart is: P 1 P 2 P 3 P 1 P 1 P 1 P 1 P 1 0 4 7 10 14 18 22 26 30 Typically, higher average turnaround than SJF, but better response queue : p1(24),p2(3),p3(3) 0 : p1(24) : p2(3),p3(3) timer 4:p2(3) : p3(3),p1(20) release 7 : p3(3) : p1(20), release 10:p1(20) : timer 14:p1(16): timer 18:p1(12): timer 22:p1(8): timer 26:p1(4): timer 30: 28/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Time Quantum and Context Switch Time 29/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Turnaround Time Varies With The Time Quantum 30/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Problems of RR What do you set the quantum to be? quantum -> : FIFO quantum -> 0 : processor sharing If small, then context switches are frequent incurring high overhead (CPU utilization drops) If large, then response time drops A rule of thumb: 80% of the CPU bursts should be shorter than the time quantum 31/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multilevel Queue Ready queue is partitioned into separate queues: foreground (interactive) background (batch) Each queue has its own scheduling algorithm foreground RR background FCFS Scheduling must be done between the queues Fixed priority scheduling; (i.e., serve all from foreground then from background). Possibility of starvation. Time slice each queue gets a certain amount of CPU time which it can schedule amongst its processes; i.e., 80% to foreground in RR 20% to background in FCFS 32/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multilevel Queue Scheduling 33/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multilevel Feedback Queue In multilevel queue scheduling algorithm, processors are permanently assigned to a queue In multilevel feedback queue scheduling algorithm, a process can move between the various queues; aging can be implemented this way Multilevel-feedback-queue scheduler defined by the following parameters: number of queues scheduling algorithms for each queue method used to determine when to upgrade a process method used to determine when to demote a process method used to determine which queue a process will enter when that process needs service 34/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Example of Multilevel Feedback Queue Scheduler Three queues: Q 0 RR with time quantum 8 milliseconds Q 1 RR time quantum 16 milliseconds Q 2 FCFS Scheduling A new job enters queue Q 0 which is served FCFS. When it gains CPU, job receives 8 milliseconds. If it does not finish in 8 milliseconds, job is moved to queue Q 1. At Q 1 job is again served FCFS and receives 16 additional milliseconds. If it still does not complete, it is preempted and moved to queue Q 2. 35/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multilevel Feedback Queues 36/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Thread Scheduling Thread scheduling for the user level thread Scheduled by a thread library. Must ultimately be mapped indirectly to a associated kernel thread on many-to-one and many-to-many models The thread library schedules user-level threads to run on LWP(Light Weight Process), a scheme known as process-contention scope (PCS) since competition for CPU takes place among threads belonging to the same process. Thread scheduling for the kernel thread Scheduled by OS scheduled onto available CPU is system-contention scope (SCS) competition among all threads in system 37/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Pthread Scheduling API allows specifying either PCS or SCS during thread creation PTHREAD SCOPE PROCESS schedules threads using PCS scheduling PTHREAD SCOPE SYSTEM schedules threads using SCS scheduling. 38/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Pthread Scheduling API for POSIX #include <pthread.h> #include <stdio.h> #define NUM THREADS 5 int main(int argc, char *argv[]) { int I, scope; pthread_t tid[num THREADS]; pthread_attr_t attr; /* get the default attributes */ pthread_attr_init(&attr); /* first inquire on the current scope */ if (pthread_attr_getscope(&attr, &scope)!= 0) printf(stderr, Unable to get scheduling scope\n ); else { if (scope == PTHREAD_SCOPE_PROCESS) pritnf( PTHREAD_SCOPE_PROCESS ); else if (scope == PTHREAD_SCOPE_SYSTEM) pritnf( PTHREAD_SCOPE_SYSTEM ); else printf(stderr, Illegal scope value.\n ); } 39/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Pthread Scheduling API /* set the scheduling algorithm to PCS(PROCESS) or (SCS)SYSTEM */ pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); /* set the scheduling policy - FIFO, RT, or OTHER pthread_attr_setschedpolicy(&attr, SCHED OTHER); */ /* create the threads */ for (i = 0; i < NUM_THREADS; i++) pthread_create(&tid[i],&attr,runner,null); /* now join on each thread */ for (i = 0; i < NUM THREADS; i++) pthread_join(tid[i], NULL); } /* Each thread will begin control in this function */ void *runner(void *param) { } /* do some work */ printf("i am a thread\n"); pthread exit(0); 40/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multiple-Processor Scheduling CPU scheduling more complex when multiple CPUs are available=> load sharing cover only Homogeneous processors within a multiprocessor Asymmetric multiprocessing A single process(master server) handle all scheduling decision, I/O processing, other system activities, and accesses the system data structures, alleviating the need for data sharing Symmetric multiprocessing (SMP) each processor is self-scheduling, all processes may be in common ready queue, or each has its own private queue of ready processes Processor affinity process has affinity for processor on which it is currently running soft affinity when a process is able to migrate between processors. hard affinity when a process is not allowed to migrate between processors. 41/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Multiple-Processor Scheduling Symmetric multithreading(smt) Hyperthreading technology in Intel company OS offers logical processor to each thread 42/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Operating System Examples Solaris scheduling Windows XP scheduling Linux scheduling 43/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Solaris Scheduling 44/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Solaris Dispatch Table for time-sharing and interactive threads Low (ms) high 45/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Windows XP Priorities Priority of process priority classes : real-time, high, above normal, Relative priority of process thread of a given priority class Relative priorities : time-critical, highest 46/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Linux Scheduling Constant order O(1) scheduling time Two priority ranges: time-sharing and real-time Real-time range from 0 to 99 and nice value from 100 to 140 (figure 5.15) 47/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Priorities and Time-slice length 48/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

List of Tasks Indexed According to Priorities 49/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Algorithm Evaluation Examples of criteria to select algorithm Maximizing CPU utilization under the constraint that the maximum response time is 1 second. Maximizing throughput such that turnaround time is (on average) linearly proportional to total execution time. 50/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Evaluation Methods of scheduling algorithm Deterministic modeling Takes a particular predetermined workload and defines the performance of each algorithm for that workload Queueing models Mathematical models used to compute expected system parameters Simulation Algorithmic models which simulate a simplified version of a system using statistical input Trace tape (or trace data) Implementation Direct implementation of the system under test, with appropriate benchmarks 51/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Deterministic modeling Process : p1 p2 p3 p4 p5 Burst time(ms) : 10 29 3 7 12 FCFS scheduling algorithm Averaging waiting time : (10+39+42+49)/5 = 28 ms SJF scheduling algorithm Averaging waiting time : (10 + 32+0+3+20)/5=13 ms 52/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Deterministic modeling Process : p1 p2 p3 p4 p5 Burst time(ms) : 10 29 3 7 12 RR at time quantum = 10ms Averaging waiting time : (0+32+20+23+40)/5 = 23 ms p1 : 0 p2 : 10+20+2 =32 p3 : 20 p4 : 23 p5 : 30+10=40 53/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Evaluation of CPU schedulers by Simulation 54/54 Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

End of Chapter 5 Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009