1 / 17

Uniprocessor Scheduling

Uniprocessor Scheduling. Chapter 9. Aim of Scheduling. To improve: Response time : time it takes a system to react to a given input Turnaround Time (TAT) = Total time spent in the system = waiting time + service time

Télécharger la présentation

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

  2. Aim of Scheduling To improve: • Response time: time it takes a system to react to a given input • Turnaround Time (TAT) = Total time spent in the system = waiting time + service time • Throughput: jobs per minute (inverse of TAT)

  3. Types of Scheduling

  4. 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 • Which job to admit? FCFS, Priority, expected exec time, I/O req.s • Part of the swapping function • Swapping-in decision is based on the need to manage the degree of multiprogramming Medium-Term Scheduling Short-Term Scheduling • Known as the dispatcher • Executes most frequently • Invoked when an event occurs: Clock interrupts, I/O, OS calls, Signals, etc.

  5. Evaluation Criteria for Short-Term Scheduling Policies: • User-oriented, performance related • Turnaround time:time between submission and completion • Response Time:time between submission and the first output. • User-oriented, other • Predictability: For users, it is important that a job runs the same way (Time & cost) regardless of the system load • System-oriented, Performance related • Maximize Throughput: rate at which processes are completed • Processor utilization: percentage of time that the processor is busy • System-oriented, other • Fairness • Enforcing priorities? • Balancing resources? – Is it favoring processes that do not request stressed resources?

  6. Priorities • Scheduler chooses a process of higher priority over one of lower priority • Use 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 Decision Mode • Nonpreemptive • Once a process is in the running state, it will continue until it terminates or blocks itself • Preemptive • Currently running process may be interrupted and moved to the Ready state due to an external event. • No single process can monopolize the processor for very long  Better service

  7. Process Scheduling Example

  8. 5 0 10 15 20 First-Come-First-Served (FCFS) • Each process joins the Ready queue • Nonpreemptive • The oldest process in the ready queue is selected to run next • Disadvantage: A short process may have to wait a very long time before it can execute • Advantage: Favors CPU-bound processes • I/O processes have to wait until CPU-bound process completes A B C D E

  9. 5 0 10 15 20 Round-Robin (RR) • Preemption based on a clock (time slicing) • Clock interrupt is generated at periodic intervals (time slice is determined a priori) • When an interrupt occurs, the currently running process is placed in the ready queue and next ready job is selected to run A B C D E

  10. 5 0 10 15 20 A B C D E Shortest Process Next (SPN) • Nonpreemptive • Process with shortest expected processing time is selected next. • For batch jobs, user is required to estimate the running time. If estimated time for process not correct, the OS may abort it. • For interactive jobs, OS tries to predict it. • Short process jumps ahead of longer processes • Possibility of starvation for longer processes

  11. Process Scheduling Example

  12. 5 0 10 15 20 A B C D E Shortest Remaining Time (SRT) • Preemptive version of shortest process next policy • Achieves better turnaround time as compared to SPN, because a short job is given immediate preference to a running longer job • Risk of starvation for long jobs • Must estimate the remaining processing time  Not easy!

  13. 5 0 10 15 20 Highest Response Ratio Next (HRRN) • Nonpreemptive • An important performance criteria to minimize is: Normalized TurnAround Time = TAT / ServiceTime • Choose next process with the highest response ratio R (so that it does not get any higher!): A B C D E

  14. 5 0 10 15 20 A B C D E Feedback (FB) • Hard to predict the remaining time a process needs to execute. Instead, we can penalize jobs that have been running longer • Each subsequent time that a job is preempted, it is moved to a lower-priority ready queue. This way, a longer process will gradually drift downward in the hierarchy of queues. • starvation may occur if new jobs enter the system frequently

  15. A Comparison of Scheduling Policies

  16. Characteristics of Various Scheduling Policies

  17. Traditional UNIX Scheduling • Designed to provide good response time for interactive users while ensuring that low-priority background jobs do not starve • Multilevel feedback using round robin within each of the priority queues. 1-second preemption. • Priorities are recomputed once per second. It is based on process type and execution history • In decreasing order of priority, the bands are as follows: • Swapper • Block I/O device control • File manipulation • Character I/O device control • User processes

More Related