This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CMPSCI 377 Operating Systems Fall 2008 Lecture 6: February 4 Lecturer: Prashant Shenoy TA: Vimal Mathew & Tim Wood 6.1 Scheduling 6.1.1 Types of Schedulers Operating systems often utilize two types of schedulers: a long-term scheduler (also known as an admission scheduler or high-level) and a short-term scheduler (also known as a dispatcher). The names suggest the relative frequency with which these functions are performed. 188.8.131.52 Long-term Scheduler The long-term, or admission, scheduler decides which jobs or processes are to be admitted to the ready queue and how many processes should be admitted into the ready queue. This controls the total number of jobs which can be running within the system. In practice, this limit is generally not reached, but if a process attempts to fork off a large number of processes it will eventually reach an OS defined limit where it will prevent any further processes from being created. This type of scheduling is very important for a real-time operating system, as the system’s ability to meet process deadlines may be compromised by the slowdowns and contention resulting from the admission of more processes than the system can safely handle. 184.108.40.206 Short-term Scheduler The short-term scheduler (also known as the dispatcher) decides which of the ready, in-memory processes are to be executed (allocated a CPU) next following a clock interrupt, an IO interrupt, or an operating system call. Thus the short-term scheduler makes scheduling decisions much more frequently than the long-term schedulers - a scheduling decision will at a minimum have to be made after every time slice, which can be as often as every few milliseconds. This scheduler can be preemptive , implying that it is capable of forcibly removing processes from a CPU when it decides to allocate that CPU to another process, or non-preemptive , in which case the scheduler is unable to ”force” processes off the CPU. 6.1.2 Scheduling Criteria In this lecture we will discuss short term schedulers. Short term schedulers determine which process to run in a given time interval. Short term schedulers can be either non-preemptive , requiring tasks to explicitly give up the CPU when they are done, or preemptive where the OS scheduler can interrupt running processes and change their scheduling order. There are several criteria to design a scheduler for. A scheduler should generally maximize CPU utilization – keeping the CPU as busy as possible generally leads to more work being completed. The throughput of a system is a measure of how many jobs are finished in a unit time. The turn around time is the amount of 6-1 6-2...
View Full Document
- Fall '08
- Operating Systems, Scheduling algorithms