Process schedulers are an integral part of an operating system responsible for managing and scheduling processes or tasks to efficiently utilize system resources. They ensure fair and efficient allocation of the CPU (Central Processing Unit) to running processes. There are different types of process schedulers, each with its own characteristics and objectives. The three main types of process schedulers are:


1. Long-term scheduler (Admission scheduler):

   - Also known as the admission scheduler or job scheduler.

   - Determines which processes should be admitted to the system from the pool of new processes.

   - It focuses on the degree of multiprogramming or the number of processes that should be allowed to run concurrently.

   - Typically, long-term schedulers are not invoked frequently and deal with processes in the secondary memory.


2. Short-term scheduler (CPU scheduler):

   - Also known as the CPU scheduler or dispatcher.

   - Determines which process from the ready queue should be executed next and allocates the CPU to that process.

   - It aims to minimize the response time, maximize throughput, and ensure fairness in process execution.

   - Short-term schedulers are invoked frequently (e.g., on every clock interrupt or when a process completes its execution or is blocked) to make scheduling decisions.


3. Medium-term scheduler:

   - Optional scheduler present in some operating systems, not always implemented.

   - Transfers processes from main memory to secondary storage or vice versa to manage memory resources.

   - It is responsible for controlling the degree of multiprogramming by moving processes in and out of main memory, based on their priority or other criteria.

   - The medium-term scheduler helps to maintain a good balance between the number of processes in memory and the available resources.


These schedulers work together to manage the lifecycle of processes and ensure efficient resource utilization within an operating system. They are designed to balance competing objectives such as maximizing CPU utilization, minimizing response time, providing fairness, and managing memory effectively. Different operating systems and scheduling algorithms employ various strategies to achieve these objectives, such as First-Come-First-Served (FCFS), Round Robin, Shortest Job Next (SJN), Priority Scheduling, and many others.

Post a Comment

If you have any doubts, Please let me know
Thanks!

Previous Post Next Post