0% found this document useful (0 votes)
5 views12 pages

Process Scehduling

Process scheduling is a crucial function of operating systems that manages the execution of processes by removing them from the CPU based on specific strategies. It involves two main categories: non-preemptive and preemptive scheduling, along with various types of schedulers including long-term, short-term, and medium-term schedulers. The document also discusses process control blocks, context switching, and the importance of maintaining an efficient mix of processes in memory.

Uploaded by

ismaeelsahib032
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views12 pages

Process Scehduling

Process scheduling is a crucial function of operating systems that manages the execution of processes by removing them from the CPU based on specific strategies. It involves two main categories: non-preemptive and preemptive scheduling, along with various types of schedulers including long-term, short-term, and medium-term schedulers. The document also discusses process control blocks, context switching, and the importance of maintaining an efficient mix of processes in memory.

Uploaded by

ismaeelsahib032
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Operating System - Process Scheduling

Previous

Quiz

Next

Definition

The process scheduling is the activity of the process manager that handles the removal of the
running process from the CPU and the selection of another process on the basis of a particular
strategy.

Process scheduling is an essential part of a Multiprogramming operating systems. Such


operating systems allow more than one process to be loaded into the executable memory at a
time and the loaded process shares the CPU using time multiplexing.

Advertisement

Categories of Scheduling

There are two categories of scheduling:

1. Non-preemptive: Here the resource cant be taken from a process until the process
completes execution. The switching of resources occurs when the running process
terminates and moves to a waiting state.

2. Preemptive: Here the OS allocates the resources to a process for a fixed amount of time.
During resource allocation, the process switches from running state to ready state or
from waiting state to ready state. This switching occurs as the CPU may give priority to
other processes and replace the process with higher priority with the running process.

Process Scheduling Queues

The OS maintains all Process Control Blocks (PCBs) in Process Scheduling Queues. The OS
maintains a separate queue for each of the process states and PCBs of all processes in the same
execution state are placed in the same queue. When the state of a process is changed, its PCB is
unlinked from its current queue and moved to its new state queue.

The Operating System maintains the following important process scheduling queues −

 Job queue − This queue keeps all the processes in the system.
 Ready queue − This queue keeps a set of all processes residing in main memory, ready
and waiting to execute. A new process is always put in this queue.

 Device queues − The processes which are blocked due to unavailability of an I/O device
constitute this queue.

The OS can use different policies to manage each queue (FIFO, Round Robin, Priority, etc.). The
OS scheduler determines how to move processes between the ready and run queues which can
only have one entry per processor core on the system; in the above diagram, it has been
merged with the CPU.

Two-State Process Model

Two-state process model refers to running and non-running states which are described below −

S.N. State & Description

Running
1
When a new process is created, it enters into the system as in the running state.

2 Not Running

Processes that are not running are kept in queue, waiting for their turn to execute. Each entry in the
queue is a pointer to a particular process. Queue is implemented by using linked list. Use of dispatcher
as follows. When a process is interrupted, that process is transferred in the waiting queue. If the proce
has completed or aborted, the process is discarded. In either case, the dispatcher then selects a proce
from the queue to execute.

Schedulers

Schedulers are special system software which handle process scheduling in various ways. Their
main task is to select the jobs to be submitted into the system and to decide which process to
run. Schedulers are of three types −

 Long-Term Scheduler

 Short-Term Scheduler

 Medium-Term Scheduler

Long Term Scheduler

It is also called a job scheduler. A long-term scheduler determines which programs are admitted
to the system for processing. It selects processes from the queue and loads them into memory
for execution. Process loads into the memory for CPU scheduling.

The primary objective of the job scheduler is to provide a balanced mix of jobs, such as I/O
bound and processor bound. It also controls the degree of multiprogramming. If the degree of
multiprogramming is stable, then the average rate of process creation must be equal to the
average departure rate of processes leaving the system.

On some systems, the long-term scheduler may not be available or minimal. Time-sharing
operating systems have no long term scheduler. When a process changes the state from new to
ready, then there is use of long-term scheduler.

Short Term Scheduler

It is also called as CPU scheduler. Its main objective is to increase system performance in
accordance with the chosen set of criteria. It is the change of ready state to running state of the
process. CPU scheduler selects a process among the processes that are ready to execute and
allocates CPU to one of them.

Short-term schedulers, also known as dispatchers, make the decision of which process to
execute next. Short-term schedulers are faster than long-term schedulers.

Medium Term Scheduler

Medium-term scheduling is a part of swapping. It removes the processes from the memory. It
reduces the degree of multiprogramming. The medium-term scheduler is in-charge of handling
the swapped out-processes.
A running process may become suspended if it makes an I/O request. A suspended processes
cannot make any progress towards completion. In this condition, to remove the process from
memory and make space for other processes, the suspended process is moved to the secondary
storage. This process is called swapping, and the process is said to be swapped out or rolled
out. Swapping may be necessary to improve the process mix.

Comparison among Scheduler

S.N. Long-Term Scheduler Short-Term Scheduler Medium-Term Scheduler

1 It is a job scheduler It is a CPU scheduler It is a process swapping schedule

Speed is lesser than short term Speed is fastest among other Speed is in between both short a
2
scheduler two long term scheduler.

It controls the degree of It provides lesser control over It reduces the degree of
3
multiprogramming degree of multiprogramming multiprogramming.

It is almost absent or minimal in It is also minimal in time


4 It is a part of Time sharing system
time sharing system sharing system

It selects processes from pool and It can re-introduce the process in


It selects those processes
5 loads them into memory for memory and execution can be
which are ready to execute
execution continued.

Context Switching

A context switching is the mechanism to store and restore the state or context of a CPU in
Process Control block so that a process execution can be resumed from the same point at a later
time. Using this technique, a context switcher enables multiple processes to share a single CPU.
Context switching is an essential part of a multitasking operating system features.

When the scheduler switches the CPU from executing one process to execute another, the state
from the current running process is stored into the process control block. After this, the state for
the process to run next is loaded from its own PCB and used to set the PC, registers, etc. At that
point, the second process can start executing.
Context switches are
computationally intensive since register and memory state must be saved and restored. To avoid
the amount of context switching time, some hardware systems employ two or more sets of
processor registers. When the process is switched, the following information is stored for later
use.

 Program Counter

 Scheduling information

 Base and limit register value

 Currently used register

 Changed State
 I/O State information

 Accounting information

Process Schedulers in Operating System

Last Updated : 06 Jan, 2026

Process scheduling is the activity of the process manager that handles the removal of the
running process from the CPU and the selection of another process based on a particular
strategy. Throughout its lifetime, a process moves between various scheduling queues, such as
the ready queue, waiting queue or devices queue.

Process scheduler

Categories of Scheduling
Scheduling falls into one of two categories:

 Non-Preemptive: In this case, a process's resource cannot be taken before the process
has finished running. When a running process finishes and transitions to a waiting state,
resources are switched.

 Preemptive: In this case, the OS can switch a process from running state to ready state.
This switching happens because the CPU may give other processes priority and
substitute the currently active process for the higher priority process.

Refer Preemptive vs Non-Preemptive Scheduling for details.

Process Scheduler

Process Schedulers are fundamental components of operating systems responsible for deciding
the order in which processes are executed by the CPU. In simpler terms, they manage how the
CPU allocates its time among multiple tasks or processes that are competing for its attention.

Types of Process Schedulers

There are three types of process schedulers:

1. Long-Term Scheduler (Job Scheduler)

The Long-Term Scheduler is responsible for loading processes from disk into main memory so
they can begin execution. When a new process is admitted, it moves into the Ready state.

Key Functions

 Transfers processes from the Job Queue to the Ready Queue.

 Controls the degree of Multi-programming — the number of processes present in


memory or ready state at any time.

 Carefully selects a balanced mix of I/O-bound and CPU-bound processes to ensure


efficient system performance.

 Helps avoid a situation where either the CPU or I/O devices remain idle.

 In many modern time-sharing systems (such as Windows), a long-term scheduler may


not exist; new processes are directly admitted to memory for short-term scheduling.

Performance

 It is the slowest among all schedulers, as it operates less frequently.

2. Short-Term Scheduler (CPU Scheduler)


The Short-Term Scheduler (STS) is responsible for selecting a process from the ready queue and
assigning the CPU to it.

Key Functions

 Frequently selects the next process to execute from the ready state.

 Ensures no process suffers from starvation.

 Uses various CPU scheduling algorithms to decide process order.

 Maximizes CPU utilization by keeping the processor as busy as possible.

 Calls the dispatcher, which performs the actual context switch.

Performance

 It is the fastest scheduler, since it operates very frequently (often every few
milliseconds).

The dispatcher is responsible for loading the process selected by the Short-term scheduler on the
CPU (Ready to Running State). Context switching is done by the dispatcher only. A dispatcher
does the following work:

 Saving context (process control block) of previously running process if not finished.

 Switching system mode to user mode.

 Jumping to the proper location in the newly loaded program.

Note: Time taken by dispatcher is called dispatch latency or process context switch time.
Short-Term Scheduler

2.1 Dispatcher

The Dispatcher is a special program that takes over once the short-term scheduler selects a
process. It transfers control of the CPU to the chosen process.

Functions of the Dispatcher

 Context Switching: Saves the state of the previously running process and restores the
state of the new one.

 Mode Switching: Ensures correct transition into user mode from kernel mode.

 Program Control Transfer: Jumps to the correct starting point in the newly selected
program.

Dispatcher Example

Using FCFS scheduling for processes P1 → P2 → P3 → P4:

 Scheduler selects P1 first.

 Dispatcher loads P1 onto the CPU.

 Next the scheduler selects P2, and the dispatcher assigns P2 to the CPU, and so on.

Note

 The time taken by the dispatcher to perform context switching is called dispatch latency.
Dispatcher

3. Medium-Term Scheduler

The Medium-Term Scheduler (MTS) manages swapping, which temporarily moves processes
between main memory and disk.

Key Functions

 Swaps processes out of memory when they are waiting (e.g., blocked for I/O) to reduce
the degree of multiprogramming.

 Frees memory for other active processes.

 Swaps processes back into memory when they are ready to continue execution, allowing
them to resume from where they left off.

 Helps maintain an effective mix of CPU-bound and I/O-bound processes.

Performance

 It operates faster than the long-term scheduler but slower than the short-term
scheduler.
Medium-Term Scheduler

Some Other Schedulers

I/O Schedulers

 Manage order of read/write operations.

 Reduce I/O wait time and improve performance.

 Schedule I/O requests using algorithms like FCFS, RR, SCAN, C-SCAN.

Real-Time Schedulers

 Used in systems where tasks must meet deadlines.

 Ensure timely execution of critical tasks.

 Use algorithms like EDF and RM.

Comparison Among Scheduler

Long-Term Scheduler Short-Term Scheduler Medium-Term Scheduler

It is a process-swapping
It is a job scheduler It is a CPU scheduler
scheduler
Long-Term Scheduler Short-Term Scheduler Medium-Term Scheduler

Its speed lies between long-


It is the slowest scheduler It is the fastest scheduler term and short-term
schedulers

It gives less control over


It controls the degree of It reduces the degree of
the degree of
multiprogramming multiprogramming
multiprogramming

It is barely present or
It is essential for time- It is a component of time-
nonexistent in time-sharing
sharing systems sharing systems
systems

It selects processes from the It can re-introduce processes


It selects ready processes
job pool and loads them into into memory and resume
for execution by the CPU
memory execution

You might also like