An effective scheduling policy needs to consider both kinds of processes: I/O-bound processes and CPU-bound processes. Scheduling policies are the rules the scheduler follows to determine what should run and when. The latest scheduler-CFS (the Completely Fair Scheduler)-uses the concept of fair scheduling from queue theory. The Linux scheduler has gone through several iterations. The last mainstream cooperative OSes were Mac OS 9 and Windows 3.1. Cooperative operating systems have a problem where tasks that don’t yield can bring down the entire operating system. In cooperative operating systems the scheduler relies on the process to explicitly tell the scheduler that it’s ready to stop (this is often called yielding). The amount of time a process runs is usually determined before it’s scheduled, this is called the timeslice and it is effectively a slice of the processors time. Preemptive operating systems decide when to stop executing a process, and which new process should begin running. There are two kinds of multitasking operating systems: preemptive and cooperative. A scheduler is the basic part of a multitasking operating system like Linux.Ī multitasking operating system gives the illusion that multiple tasks are running at once when in fact there is only a limited set of processors. The process scheduler is responsible for choosing which processes run and for how long. To understand Linux, you must understand process scheduling. Scheduling processes is one of the core roles of the kernel.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |