The aim is to maximize CPU utilization. The process scheduler aims to do that by choosing an available process for an execution on a core.

When a process is created, it is immediately put in the ready queue, and it waits there until it is dispatched. If instead the process is waiting for some operation (for example, I/O) then it is put in the waiting queue.

The role of the CPU scheduler is to select one of the processes in the ready queue. Another intermediate form of scheduling is swapping.

References

  • A. Silberschatz, P. B. Galvin, e G. Gagne, «Operating System Concepts».

See also