1 / 26

Uniprocessor Scheduling

Uniprocessor Scheduling. Chapter 9. Goals of Scheduling. Quick response time Fast throughput Processor efficiency. Type of Scheduling. Long-term performed when new process is created Medium-term swapping Short-term which ready process to execute next. Types of Scheduling. Short-term

joann
Download Presentation

Uniprocessor Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uniprocessor Scheduling Chapter 9 Chapter 9

  2. Goals of Scheduling • Quick response time • Fast throughput • Processor efficiency Chapter 9

  3. Type of Scheduling • Long-term • performed when new process is created • Medium-term • swapping • Short-term • which ready process to execute next Chapter 9

  4. Types of Scheduling • Short-term • decision as to which ready process will be executed by the processor • I/O • decision as to which process’s pending I/O request shall be handled by available I/O device Chapter 9

  5. Scheduling and Process State Transition New Long-term scheduling Long-term scheduling Ready, suspend Running Exit Ready Short-term scheduling Medium-term scheduling Blocked, suspend Blocked Medium-term scheduling Chapter 9

  6. Processor Queuing Diagram for Scheduling Long-term scheduling Time-out Batch jobs Short-term scheduling Ready Queue Release Medium-term scheduling Interactive users Ready, Suspend Queue Medium-term scheduling Blocked, Suspend Queue Blocked Queue Event Wait Event Occurs Chapter 9

  7. 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 Chapter 9

  8. Medium-Term Scheduling • Swapping • Based on the need to manage multiprogramming Chapter 9

  9. Short-Term Scheduling • Known as the dispatcher • Invoked when an event occurs • clock interrupts • I/O interrupts • operating system calls • signals Chapter 9

  10. Short-Tem 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 Chapter 9

  11. Short-Term Scheduling Criteria • Performance-related • measurable such as response time and throughput • Not performance related • predictability Chapter 9

  12. 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 Chapter 9

  13. Processor Priority Queuing RQ0 Release Dispatch RQ1 . . Admit . RQn Preemption Event Wait Event occurs Blocked Queue Chapter 9

  14. Decision Mode • Nonpreemptive • Once a process is in the running state, it will continue until it terminates or blocks itself for I/O • 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 Chapter 9

  15. An Example Service Time Arrival Time Process 1 0 3 2 2 6 3 4 4 4 6 5 5 8 2 Chapter 9

  16. 5 0 10 15 20 First-Come-First-Served(FCFS) • Each process joins the Ready queue • When the current process ceases to execute, the oldest process in the Ready queue is selected 1 2 3 4 5 Chapter 9

  17. First-Come-First-Served(FCFS) • 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 Chapter 9

  18. 5 0 10 15 20 Round-Robin • Uses preemption based on a clock • An amount of time is determined that allows each process to use the processor for that length of time 1 2 3 4 5 Chapter 9

  19. 5 0 10 15 20 1 2 3 4 5 Shortest Process Next • Nonpreemptive policy • Process with shortest expected processing time is selected next • Short process jumps ahead of longer processes Chapter 9

  20. 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 Chapter 9

  21. 5 0 10 15 20 1 2 3 4 5 Shortest Remaining Time • Preemptive version of shortest process next policy • Must estimate processing time Chapter 9

  22. 5 0 10 15 20 Highest Response Ratio Next (HRRN) • Choose next process with the lowest ratio 1 2 3 4 5 time spent waiting + expected service time expected service time Chapter 9

  23. 5 0 10 15 20 1 2 3 4 5 Feedback • Penalize jobs that have been running longer • Don’t know remaining time process needs to execute Chapter 9

  24. Fair 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 groups of processes Chapter 9

  25. UNIX Scheduling • Priorities are recomputed once per second • Base priority divides all processes into fixed bands of priority levels • Nice adjustment factor used to keep process in its assigned band Chapter 9

  26. Feedback • Process is demoted to the next lower-priority queue each time it returns to the ready queue • Longer processes drift downward • To avoid starvation, preemption time for lower-priority processes is longer Chapter 9

More Related