When more than one processes can be executed, the operating system must decide which one to run first. The part of the operating system concerned with this decision is called the scheduler. The algorithm used by scheduler is called the scheduling algorithm. L. Long Term Scheduling It is also known as job scheduling. It selects a process when it should be brought from job queue into ready queue. Too many processes in memory slow down the machine. Too few means the machine is not being utilized efficiently. The long-term scheduler is invoked fairly infrequently and can be fairly slow. Processes are added to the system much less frequently than processes are swapped between the ready queue and CPU. The long-term scheduler usually has to make a more difficult decision than the short-term scheduler. The long-term scheduler controls the degree of multiprogramming i.e. The number of processes in memory. If there are too few processes in memory, the system is under-utilized. If there are too many processes, - the system may spend too much time swapping between processes because of a lack of resources (memory, disks, etc.)- Short Term Scheduling: It is also known as CPU scheduling. It selects a process from ready queue and gives control of CPU to the process. The short-term scheduler is invoked very frequently and must be very fast. Processes typically only hold the .CPU for short periods of time. While the short-term scheduler is deciding which job to run next, the system is not performing any useful work.