CPU Scheduling G Anuradha Reference Galvin CPU Scheduling
- Slides: 34
CPU Scheduling G. Anuradha Reference : Galvin
CPU Scheduling n Basic Concepts n Scheduling Criteria n Scheduling Algorithms n Multiple-Processor Scheduling n Real-Time Scheduling n Thread Scheduling n Algorithm Evaluation
Basic Concepts n What is the objective of multiprogramming? n Maximum CPU utilization obtained with multiprogramming n Success of CPU scheduling depends on an observed property of processes l CPU Execution and I/O Wait – Process execution consists of a cycle of CPU execution and I/O wait n Process execution begins with a CPU burst which is followed by I/O burst
Alternating Sequence of CPU And I/O Bursts
Histogram of CPU-burst Times
CPU Scheduler n Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them n CPU scheduling decisions may take place when a process: 1. Switches from running to waiting state 2. Switches from running to ready state 3. Switches from waiting to ready 4. Terminates n Scheduling under 1 and 4 is nonpreemptive (no choice) n All other scheduling is preemptive (has a choice)
Dispatcher n Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves: l switching context l switching to user mode l jumping to the proper location in the user program to restart that program n Dispatch latency – time it takes for the dispatcher to stop one process and start another running
Scheduling Criteria n CPU utilization – keep the CPU as busy as possible n Throughput – # of processes that complete their execution per time unit n Turnaround time – amount of time to execute a particular process n Turnaround time=period spend waiting to get into memory + waiting in ready queue + executing in CPU + doing I/O n Waiting time – amount of time a process has been waiting in the ready queue n Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment)
Optimization Criteria n Max CPU utilization n Max throughput n Min turnaround time n Min waiting time n Min response time • Scheduling algorithms • First Come, First-Served Scheduling • Shortest Job-First Scheduling • Priority Scheduling • Round-Robin Scheduling • Multilevel Queue Scheduing • Multilevel Feedback Queue Scheduling
First-Come, First-Served (FCFS) Scheduling Process Burst Time P 1 24 P 2 3 P 3 3 n Suppose that the processes arrive in the order: P 1 , P 2 , P 3 The Gantt Chart for the schedule is: P 1 0 P 2 24 n Waiting time for P 1 = 0; P 2 = 24; P 3 = 27 n Average waiting time: (0 + 24 + 27)/3 = 17 n FCFS is nonpreemptive P 3 27 30
FCFS Scheduling (Cont. ) Suppose that the processes arrive in the order P 2 , P 3 , P 1 n The Gantt chart for the schedule is: P 2 0 P 3 3 P 1 6 30 n Waiting time for P 1 = 6; P 2 = 0; P 3 = 3 n Average waiting time: (6 + 0 + 3)/3 = 3 n Much better than previous case n Convoy effect – one CPU-bound process and many I/O bound processes.
Shortest-Job-First (SJF) Scheduling n Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time n Two schemes: l nonpreemptive – once CPU given to the process it cannot be preempted until completes its CPU burst l preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF) n SJF is optimal – gives minimum average waiting time for a given set of processes
Example of SJF Process Burst Time P 1 6 P 2 8 P 3 7 P 4 3 n SJF (non-preemptive) P 1 P 4 0 3 P 3 7 9 P 2 16 24 n Average waiting time = (3 + 16 + 9 + 0)/4 = 7 n Average waiting time with FCFS=(0+6+14+21)/4=10. 25 n Used in long term scheduling. n Difficulty in SJF is knowing the length of the next CPU request Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 13 Silberschatz, Galvin and Gagne © 2005
Determining Length of Next CPU Burst n Can only estimate the length n Can be done by using the length of previous CPU bursts, using exponential averaging
Examples of Exponential Averaging n =0 n+1 = n l Recent history does not count n =1 l n+1 = tn l Only the actual last CPU burst counts n If we expand the formula, we get: n+1 = tn+(1 - ) tn -1 + … +(1 - )j tn -j + … l +(1 - )n +1 0 n Since both and (1 - ) are less than or equal to 1, each successive term has less weight than its predecessor
Prediction of the Length of the Next CPU Burst
Example of Non-Preemptive SJF Process Arrival Time Burst Time P 1 0. 0 7 P 2 2. 0 4 P 3 4. 0 1 P 4 5. 0 4 n SJF (non-preemptive) P 1 0 3 P 3 7 P 2 8 n Average waiting time = (0 + 6 + 3 + 7)/4 = 4 P 4 12 16
Example of Preemptive SJF Process Arrival Time Burst Time P 1 0. 0 7 P 2 2. 0 4 P 3 4. 0 1 P 4 5. 0 4 n SJF (preemptive) P 1 0 P 2 2 P 3 4 P 2 5 P 4 7 P 1 11 n Average waiting time = (9 + 1 + 0 +2)/4 = 3 16
Priority Scheduling n A priority number (integer) is associated with each process n The CPU is allocated to the process with the highest priority (smallest integer highest priority) l Preemptive l nonpreemptive n SJF is a priority scheduling where priority is the predicted next CPU burst time n Problem Starvation – low priority processes may never execute n Solution Aging – as time progresses increase the priority of the process
Priority Scheduling algo Process Burst Time P 1 P 2 P 3 P 4 P 5 n The Gantt chart is: P 2 P 5 10 1 2 1 5 3 1 4 5 2 P 3 P 1 0 1 6 average waiting time=8. 2 Operating System Concepts – 7 th Edition, Feb 2, 2005 Priority 16 5. 20 P 4 18 19 Silberschatz, Galvin and Gagne © 2005
Round Robin (RR) n 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. n 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. n Performance l q large FIFO l q small q must be large with respect to context switch, otherwise overhead is too high
Round Robin Scheduling Process Burst Time P 1 24 P 2 3 P 3 3 Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 22 Silberschatz, Galvin and Gagne © 2005
Example of RR with Time Quantum = 20 Process Burst Time P 1 P 2 P 3 P 4 n The Gantt chart is: P 1 0 P 2 20 37 53 17 68 24 P 3 P 4 57 P 1 77 P 3 P 4 P 1 P 3 97 117 121 134 154 162 n Typically, higher average turnaround than SJF, but better response
Time Quantum and Context Switch Time
Turnaround Time Varies With The Time Quantum • Timearound time decreases with more time quantum. • With time quantum is very large then scheduling degenerates to FCFS policy • A rule of thumb is that 80% of the CPU bursts should be shorter than the time quantum
Multilevel Queue n Ready queue is partitioned into separate queues: foreground (interactive) background (batch) n Processes are permanently assigned to queues depending on l Memory size l Process Priority l Process type n Each queue has its own scheduling algorithm l foreground – RR l background – FCFS n Scheduling must be done between the queues l Fixed priority scheduling; (i. e. , serve all from foreground then from background). Possibility of starvation. l 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 l 20% to background in FCFS
Multilevel Queue Scheduling
Multilevel Feedback Queue n A process can move between the various queues; n This separates process based on characteristics of CPU bursts. n Shifting between CPU bound-I/O bound process the starvation and aging can be reduced n Multilevel-feedback-queue scheduler defined by the following parameters: l number of queues l scheduling algorithms for each queue l method used to determine when to upgrade a process l method used to determine when to demote a process l method used to determine which queue a process will enter when that process needs service
Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 29 Silberschatz, Galvin and Gagne © 2005
Example of Multilevel Feedback Queue n Three queues: l Q 0 – RR with time quantum 8 milliseconds l Q 1 – RR time quantum 16 milliseconds l Q 2 – FCFS n Scheduling l 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. l 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.
Comparision between different scheduling techniques n Criteria used in selecting an algorithm l Maximize CPU utilization , throughput n Different approaches l Deterministic l Queueing models l Simulations l Implementation Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 32 Silberschatz, Galvin and Gagne © 2005
Deterministic modeling n Analytical in nature n Takes particular predetermined workload and defines the performance of each algorithm for that workload n Advantages l Simple, fast l Requires exact numbers for input and answers apply only to those cases Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 33 Silberschatz, Galvin and Gagne © 2005
Queueing Modeles n Since processes vary the distribution of CPU bound and I/O burst are determined n Given arrival rates, service rates utilization, average queue length, wait time can be computed n This is called queueing network analysis n Little’s formula n=λ * W l n= average queue length l Λ = average arrival rate l W = average Waiting time Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 34 Silberschatz, Galvin and Gagne © 2005
Tr= Waiting time + Burst time Ts= Burst time Tr/Ts = Normalized turnaround time Operating System Concepts – 7 th Edition, Feb 2, 2005 5. 35 Silberschatz, Galvin and Gagne © 2005
- Ronnie galvin
- Fred dispense tutorial
- Dave galvin
- Peter baer galvin
- Anuradha perera.lk final revision
- Diary entry example
- Dr anuradha sathya
- Anuradha prakash
- Gantt chart fcfs
- Cpu scheduling project
- Sjf cpu scheduling
- Cpu i/o
- Scheduling della cpu
- Preemptive sjf
- Sjf cpu scheduling
- Cpu scheduling project
- Sjf cpu scheduling
- A cpu scheduling algorithm determines an order
- In cpu scheduling the clock is of type
- Job scheduling vs process scheduling
- Reference node and non reference node
- Reference node and non reference node
- Cpu
- Alu unit consists of subsections namely
- Operasi apa sajakah yang dapat dikendalikan oleh cpu
- Qnx momentics
- Funktionsweise cpu
- What is apm configuration bios
- Ibm z890 cpu
- Oracle automatic diagnostic
- Hmp cpu
- History of processors
- Major components of digital computer
- Cpu datapath
- Cpu process