Process Scheduling

Process scheduling is the act of assign CPU to different processes in a multiprogrammed OS. We can do it following two politics: preemptive and non-preemptive scheduling. The first means that a process in the system can be halted also if it could logically continue. Non-preemptive scheduling means that the only way the process can be halted is that it's logically stopped, in example for an I/O operation, because the process is terminated, because it's blocked by a semaphore that time it with other resources in the system ... The choice of one way or another in the scheduling system is made usually keeping these points in mind:

1) throughput : is the number of processes that the OS can handle

2) CPU occupation

3) fairness : are we interested in different priority to handle the system or not ?

4) turnaround : is the maximum time we want a process can be in our system

5) interaction : we usually want that all processes in our system will respond as soon as possible

We can have different ways to handle scheduling: round-robin, priority systems, event-driven systems, ...

webmaster@scastagnoli.net


EditText of this page (last edited January 21, 2004) or FindPage with title or text search