Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.

Similar presentations


Presentation on theme: "Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D."— Presentation transcript:

1 Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.

2  The short-term scheduler decides which process the CPU executes next  The dispatcher gives control of the CPU to the process selected by the CPU scheduler:  Performs context switch  Switches to user mode  Jumps to the proper location in the user program to resume program execution

3 the dispatcher operates here

4  CPU scheduling requires an algorithm to determine which process to dispatch next  Scheduling algorithms include:  First-Come, First-Served (FCFS)  Shortest-Job-First (SJF)  Round-Robin (RR)  Priority  Multilevel Queue (MQ)

5  Preemptive scheduling preempts a running process before its time slice expires  Or it preempts a process because its time slice has expired  Non-preemptive scheduling gives a process exclusive uninterrupted access to the CPU for the entirety of its execution process

6  Compare scheduling algorithms by measuring  CPU utilization – keep CPU as busy as possible  Throughput – maximize the number of processes that complete their execution per unit time  Turnaround time – minimize the elapsed time to fully execute a particular process  Waiting time – minimize the elapsed time a process waits in the ready queue

7  FCFS dispatches processes in the order they enter the ready queue  FCFS is non-preemptive time P1P1 P2P2 P3P3 2427300 ProcessCPU Burst Time P1P1 24 ms P2P2 3 ms P3P3

8  SJF dispatches processes by selecting the process with the lowest CPU burst time  SJF is non-preemptive (and predictive) time ProcessCPU Burst Time P1P1 24 ms P2P2 3 ms P3P3 P1P1 P3P3 P2P2 63300

9  Same as SJF, but a new process may preempt the running process time ProcessArrival TimeCPU Burst Time P1P1 07 ms P2P2 2 ms4 ms P3P3 1 ms P4P4 5 ms4 ms P1P1 P3P3 P2P2 42 11 0 P4P4 57 P2P2 P1P1 16

10  SJF is the optimal solution  The problem with SJF is the inability to predict required CPU burst times  Apply a prediction algorithm that uses previous CPU burst times  Algorithm uses exponential averaging: ▪ t n = actual length of the nth CPU burst ▪ τ n+1 = predicted value for the next CPU burst ▪ τ n+1 = α t n + (1 – α) τ n, where 0 < α < 1

11

12  RR is a preemptive algorithm that gives all ready processes a fair time slice of CPU time  Using a time slice of 2 ms.... time ProcessCPU Burst Time P1P1 6 ms P2P2 2 ms P3P3 5 ms P1P1 P3P3 P2P2 62130 P3P3 8124 P1P1 10 P1P1 P3P3

13  Associate a priority number with each process  The dispatcher selects the process with the highest priority  For multiple ready processes with identical priority numbers, use FCFS  Key problem is starvation ▪ Overcome starvation by aging, increasing the priority of a process as it ages

14 (use this one for Project #1)  Is priority scheduling preemptive or non-preemptive?  Non-preemptive priority scheduling places higher-priority processes at the head of the queue  Preemptive priority scheduling requires a running process to be interrupted and preempted upon the arrival of a higher-priority process process

15  Operating systems that support priority schemes are often called multiclass systems use a separate scheduling algorithm for each queue

16  Assign processes to multiple queues, each with its own scheduling algorithm

17  Dynamically assign processes to multiple queues based on actual CPU burst times  i.e. feedback quantum is synonymous with time slice

18  Apply the FCFS, SJF, RR, and Preemptive Priority scheduling algorithms to this table:  For RR, use a time slice of 10 ms  Calculate the wait and turnaround times of each process, as well as overall averages ProcessArrival TimeCPU Burst TimePriority P1P1 045 ms5 P2P2 05 ms3 P3P3 20 ms15 ms1 P4P4 60 ms25 ms2 lower number indicates a higher priority recalculate using context switch time t cs = 20 μs recalculate using context switch time t cs = 20 μs


Download ppt "Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D."

Similar presentations


Ads by Google