Process Scheduling
The process scheduler decides which process runs, when, and for how long
The scheduler best utilizes the system to give the impression that multiple processes are executing simultaneously
If there are more runnable processes than processors in a system, some processes will not be running at a given moment.These processes are waiting to run
Multitasking
A modern Linux system can have many processes in memory but, only one in a runnable state
Linux implements preemptive multitasking
Cooperative multitasking A process does not stop running until it voluntary decides to do so. The act of a process voluntarily suspending itself is called yielding
Preemptive multitasking The scheduler decides when a process is to cease running and a new process is to begin running. The time a process runs before it is preempted is usually predetermined, and it is called the timeslice of the process. It prevents any one process from monopolizing the processor