Scheduling is the act of selecting the next process to be serviced by a CPU. This chapter discusses how a scheduler uses the fundamental techniques of prioritybased scheduling, reordering of requests, and variation of time slice to achieve a suitable combination of user service, efficient use of resources, and system performance. It describes different scheduling policies and their properties. | Chapter 7 Scheduling Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Introduction Scheduling Terminology and Concepts Nonpreemptive Scheduling Policies Preemptive Scheduling Policies Scheduling in Practice Real-Time Scheduling Case Studies Performance Analysis of Scheduling Policies 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Scheduling Terminology and Concepts Scheduling is the activity of selecting the next request to be serviced by a server In an OS, a request is the execution of a job or a process, and the server is the CPU 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Scheduling Terminology and Concepts (continued) 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Fundamental Techniques of Scheduling . | Chapter 7 Scheduling Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Introduction Scheduling Terminology and Concepts Nonpreemptive Scheduling Policies Preemptive Scheduling Policies Scheduling in Practice Real-Time Scheduling Case Studies Performance Analysis of Scheduling Policies 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Scheduling Terminology and Concepts Scheduling is the activity of selecting the next request to be serviced by a server In an OS, a request is the execution of a job or a process, and the server is the CPU 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Scheduling Terminology and Concepts (continued) 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere Fundamental Techniques of Scheduling Schedulers use three fundamental techniques: Priority-based scheduling Provides high throughput of the system Reordering of requests Implicit in preemption Enhances user service and/or throughput Variation of time slice Smaller values of time slice provide better response times, but lower CPU efficiency Use larger time slice for CPU-bound processes 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere The Role of Priority Priority: tie-breaking rule employed by scheduler when many requests await attention of server May be static or dynamic Some process reorderings could be obtained through priorities ., Short processes serviced before long ones Some reorderings would need complex priority functions What if processes have the same priority? Use round-robin scheduling May lead to starvation of low-priority requests Solution: aging of requests 7. Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by .