0% found this document useful (0 votes)
75 views15 pages

Operating System

The document summarizes process scheduling in operating systems. It discusses that the process scheduler handles removing running processes from the CPU and selecting new processes based on scheduling strategies. The operating system maintains different queues for processes in various states like ready, blocked, and running. It also describes different types of schedulers like long-term schedulers that select which processes enter the system, short-term or CPU schedulers that select the next process to run, and medium-term schedulers that handle swapped out processes. Common scheduling algorithms like first come first serve, shortest job next, priority scheduling, and round robin are also summarized.

Uploaded by

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

Operating System

The document summarizes process scheduling in operating systems. It discusses that the process scheduler handles removing running processes from the CPU and selecting new processes based on scheduling strategies. The operating system maintains different queues for processes in various states like ready, blocked, and running. It also describes different types of schedulers like long-term schedulers that select which processes enter the system, short-term or CPU schedulers that select the next process to run, and medium-term schedulers that handle swapped out processes. Common scheduling algorithms like first come first serve, shortest job next, priority scheduling, and round robin are also summarized.

Uploaded by

182TISHAN KOLEH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

PRESENTATION ON

PROCESS SCHEDULING IN
OPERATING SYSTEM

NAME - TISHAN KOLEH


ROLL - 10800120182
REG. NO. -201080100110004
STREAM - CSE
BATCH - C
SUBJECT - OPERATING SYSTEM
SUB CODE - PCCCS502
YEAR - 3RD SEM - 5TH
Process Scheduling in operating system
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.

Process Scheduling Queues


The OS maintains all 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.
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.
Context Switch
A context switch 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.
First Come First Serve (FCFS)
● Jobs are executed on first come, first serve basis.
● It is a non-preemptive, pre-emptive scheduling algorithm.
● Easy to understand and implement.
● Its implementation is based on FIFO queue.
● Poor in performance as average wait time is high.

Shortest Job Next (SJN)


● This is also known as shortest job first, or SJF
● This is a non-preemptive, pre-emptive scheduling algorithm.
● Best approach to minimize waiting time.
● Easy to implement in Batch systems where required CPU time is known in advance.
● Impossible to implement in interactive systems where required CPU time is not known.
● The processer should know in advance how much time process will take.
Multiple-Level Queues Scheduling
Multiple-level queues are not an independent scheduling algorithm. They make use of other existing algorithms to group
and schedule jobs with common characteristics.

● Multiple queues are maintained for processes with common characteristics.


● Each queue can have its own scheduling algorithms.
● Priorities are assigned to each queue.
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
A Process Scheduler schedules different processes to be assigned to the CPU based on particular scheduling algorithms.
There are six popular process scheduling algorithms which we are going to discuss in this chapter −

● First-Come, First-Served (FCFS) Scheduling


● Shortest-Job-Next (SJN) Scheduling
● Priority Scheduling
● Shortest Remaining Time
● Round Robin(RR) Scheduling
● Multiple-Level Queues Scheduling

These algorithms are either non-preemptive or preemptive. Non-preemptive algorithms are designed so that once a
process enters the running state, it cannot be preempted until it completes its allotted time, whereas the preemptive
scheduling is based on priority where a scheduler may preempt a low priority running process anytime when a high
priority process enters into a ready state.
Priority Based Scheduling
● Priority scheduling is a non-preemptive algorithm and one of the most common scheduling algorithms in batch systems.
● Each process is assigned a priority. Process with highest priority is to be executed first and so on.
● Processes with same priority are executed on first come first served basis.
● Priority can be decided based on memory requirements, time requirements or any other resource requirement.

Shortest Remaining Time


● Shortest remaining time (SRT) is the preemptive version of the SJN algorithm.
● The processor is allocated to the job closest to completion but it can be preempted by a newer ready job with shorter time to completion.
● Impossible to implement in interactive systems where required CPU time is not known.
● It is often used in batch environments where short jobs need to give preference.

Round Robin Scheduling


● Round Robin is the preemptive process scheduling algorithm.
● Each process is provided a fix time to execute, it is called a quantum.
● Once a process is executed for a given time period, it is preempted and other process executes for a given time period.
● Context switching is used to save states of preempted processes.
Multiple-Level Queues Scheduling
Multiple-level queues are not an independent scheduling algorithm. They make use of other existing algorithms to group
and schedule jobs with common characteristics.

● Multiple queues are maintained for processes with common characteristics.


● Each queue can have its own scheduling algorithms.
● Priorities are assigned to each queue.
Thank You

You might also like