You are on page 1of 10

NSHM KNOWLEDGE CAMPUS, DURGAPUR-

GOI (College Code: 273)


CA1 Assessment

PROCESS SCHEDULING ALGORITHMS

Presented By

Student Name: DEBASIS GARAI


University Roll No.: 27300121013
University Registration 212730100110040(2021-22)
No.:
Branch: Computer Science Engineering
Year: 3rd
Semester: 5th
Paper Name: Operating System
Paper Code: PCC-CS-502
TABLE OF CONTENTS
PROCESS SCHEDULING ALGORITHMS

 In the operating system, everything is carried out by processes. At any given time, there is only one
process that is running on the CPU.
 A process scheduler removes one process from the running state in the CPU and selects another process
to run based on some scheduling algorithms in OS.
 A CPU scheduling algorithm is used to determine which process will use CPU for execution and which
processes to hold or remove from execution.
 The main goal or objective of CPU scheduling algorithms in OS is to make sure that the CPU is never in
an idle state, meaning that the OS has at least one of the processes ready for execution among the
available processes in the ready queue.
Why do we need these algorithms ?

1.Fairness: The scheduler aims to allocate CPU time fairly among all processes or threads. This prevents any single process from monopolizing
system resources and ensures that all processes get a reasonable share of CPU time, regardless of their priority or resource requirements.
2.CPU Utilization: The scheduler's goal is to keep the CPU busy and maximize its utilization. It should minimize idle time and ensure that
processes are always available for execution as long as there are processes in the ready queue.

3.Throughput: Throughput refers to the number of processes completed per unit of time. Scheduling algorithms aim to maximize throughput by efficiently
processing a high number of processes in a given time frame.
4.Turnaround Time: Turnaround time is the total time taken from the submission of a process to its completion. Scheduling algorithms strive to minimize
turnaround time, which contributes to efficient resource utilization and faster process completion.

5.Waiting Time: Waiting time is the amount of time a process spends in the ready queue waiting for CPU time. Scheduling algorithms aim to minimize
waiting time, as excessive waiting can lead to inefficiencies and slower process execution.
6.Priority Management: Some scheduling algorithms support process priorities, allowing higher-priority processes to receive more CPU time than lower-
priority ones. This helps in giving preferential treatment to critical tasks.
TYPES OF SCHEDULING
ALGORITHMS :

1.First Come First Serve (FCFS)


2.Shortest-Job-First (SJF) Scheduling
3.Shortest Remaining Time
4.Priority Scheduling
5.Round Robin Scheduling
6.Multilevel Queue Scheduling
First Come First Serve(FCFS) :

 First Come First Serve is the easiest and


simplest CPU scheduling algorithm to
implement.
 In this type of scheduling algorithm, the CPU Advantages :
is first allocated to the process which requests •Involves no complex logic and just picks processes from the
the CPU first. That means the process with ready queue one by one.
minimal arrival time will be executed first by •Easy to implement and understand.
the CPU. •Every process will eventually get a chance to run so no
 It is a non-preemptive scheduling algorithm starvation occurs.
as the priority of processes does not matter, Disadvantages :
and they are executed in the manner they •Waiting time for processes with less execution time is often
arrive in front of the CPU. very long.
 This scheduling algorithm is implemented •It favors CPU-bound processes then I/O processes.
with a FIFO(First In First Out) queue. As the •Leads to convoy effect.
process is ready to be executed, its Process •Causes lower device and CPU utilization.
Control Block (PCB) is linked with the tail of •Poor performance as the average wait time is high.
this FIFO queue. Now when the CPU
becomes free, it is assigned to the process at
the beginning of the queue.
VARIABLE COST:
Shortest Job First (SJF) Scheduling
Algorithm
:
LIFE CYCLE
COSTING :

 Life cycle costing is an


approach used to assess
the total cost of owning a
facility or running a project.
 It considers all the costs
associated with obtaining,
owning, and disposing of
an investment.
 It is ideal for estimating the
overall cost of a project’s
alternatives. It is also used
to choose the right design
to ensure that the chosen
alternative will offer a
lower overall ownership
cost that is consistent with
function and quality.
THANK
YOU

You might also like