Presentation is loading. Please wait.

Presentation is loading. Please wait.

Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,

Similar presentations


Presentation on theme: "Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,"— Presentation transcript:

1 Day 25 Uniprocessor scheduling

2 Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system, waiting and executing, so far e – time spent in execution, so far s- total service time required by the process Service time – the time that the process actually runs (includes e)

3 Algorithm: Decision Mode Non-pre-emptive Once a process is in the running state, it will continue until it terminates or blocks itself for I/O Selection function is used only when a process blocks or terminates Pre-emptive Currently running process may be forced to release the processor 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 More switching overhead Selection function is used when a process blocks or terminates or when a new process enters the system or when a time slice expires.

4 First-Come-First-Served (FCFS/FIFO) Each process joins the Ready queue When the current process ceases to execute, the oldest process in the Ready queue is selected non-pre-emptive A short process may have to wait a very long time before it can execute

5 FCFS Arrival time Service Time P1 0 24 P2 1 3 P3 2 3 Calculate the turn-around time for each process and the average turn-around time.

6 FCFS Favors CPU-bound processes I/O processes have to wait until CPU-bound process completes Inefficient use of processor and I/O devices. Rarely used on its own.

7 Process Scheduling Example

8 First-Come-First-Served (FCFS) 0 5 101520 A B C D E

9 Shortest Process Next (SPN) Select the shortest process in the ready queue. Non-pre-emptive. Reduces the response time for shorter processes. Less predictable response time for longer processes. Must estimate the running time for each process.

10 Process Scheduling Example

11 Shortest Process Next (SPN) 0 5 101520 A B C D E

12 Shortest Remaining Time(SRT) Pre-emptive version of SPN. Check when a new process enters the system and when the current process voluntarily releases the processor. Better response time as short jobs given immediate preference. Fewer process switches than RR. Must keep track of elapsed time.

13 Process Scheduling Example

14 Shortest Remaining Time(SRT) 0 5 101520 A B C D E

15 Round robin Pre-empt a process using the clock interrupt. A process is allowed to run for a time-slice or quantum. The next process in the Ready queue is selected to run following the pre-emption (FCFS). Prevents large processes from monopolizing the processor.

16 Round robin Design issue: length of quantum Short quantum short processes will finish quickly. lots of process switches Choose such that typical processes can complete without being interrupted.

17 Round robin Unfair to I/O-bound processes as they will typically not use a complete quantum, while CPU-bound processes will. Use Virtual Round Robin Use an auxiliary queue to hold processes that have I/O requests serviced. Process in auxiliary queue gets preference over those in the main ready queue. Process from the auxiliary runs for time remaining from last time-slice.

18

19 Process Scheduling Example

20 Round-Robin 0 5 101520 A B C D E

21 Highest Response Ratio Next (HRRN) w – time spent waiting for the processor s – expected service time

22 HRRN Non-pre-emptive Select the process that has the highest response ratio. Short process (small “s”) given preference. Long process(large “s”) that has been waiting a long time (large “w”) is given preference. Accounts for age of process. Must estimate “s”.

23 Process Scheduling Example

24 Highest Response Ratio Next (HRRN) A B C D E 0 5 101520

25 Multi-level Feedback (quantum = i) Pre-emptive (time quantum) Maintain many ready queues of varying priority. Each queue uses FCFS. A process that is pre-empted is moved to a queue of lower priority to wait. Thus longer processes are penalized. Don’t have to estimate running time. Note: If there are no processes waiting, don’t pre- empt the process

26

27 Process Scheduling Example

28 Multi-level Feedback (quantum = i) 0 5 101520 A B C D E

29 Multi-level Feedback (quantum = 2 i * quantum) With quantum = i, long processes will have very high turn-around time. So, a process in queue RQi will be allowed to run for 2 i * quantum.

30 Multi-level Feedback (quantum = 2 i * quantum)

31 Fair-Share Scheduling Treat multiple processes and threads of a user as a collection. The performance of the collection of threads is optimized not just that of any one thread or process. Fair share scheduling ensures that users are given a fair share of the processor time.

32 FSS Divide user community into groups. Each user process’ priority is based on the process’ execution time and the execution time of processes within the same group.


Download ppt "Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,"

Similar presentations


Ads by Google