Just as there are multiple queues throughout the process lifecycle, there are also multiple schedulers to manage these queues. These are the long-term, medium-term, and short-term schedulers and their locations within the context of the process lifecycle is shown to the right.
The long-term scheduler is the first scheduler encountered by a process and determines which of these newly created processes are loaded into memory and admitted into the ready queue. This allows the long-term scheduler to play a crucial role in the memory management of the system by determining the level of multitasking possible by the computer.
With a lot of available memory, the long-term scheduler can add many processes to the ready queue. This allows the processes to easily interleave with one another in order to quickly enter and exit the CPU, and for all of them to execute over time, giving the appearance of parallel execution even if it is not possible on the system.
The long-term scheduler is also able to be more decisive because it runs less frequently. This decisiveness is important for maximizing system utilization between IO-bound processes that mostly access hard drives and CPU-bound processes that mostly perform computations.
How else could processes be categorized besides I/O-bound and CPU-bound to best utilize system resources?