My Paper
My Paper
Abstract— Scheduling algorithms are an essential allowing higher-priority processes to interrupt lower-priority
component of modern operating systems, responsible for ones. This approach can result in shorter wait times for all
allocating CPU time and other system resources to multiple processes, but it can also be more complex to implement and
processes concurrently. Over the years, various scheduling may result in lower overall system throughput [2][3].
algorithms have been developed to optimize system
performance and resource utilization in different scenarios. Other factors that are commonly considered in
This review paper provides an overview of the most common scheduling algorithms include response time, which is the
scheduling algorithms in use today, including First-Come, time it takes for a process to start executing after it is
First-Served (FCFS), Shortest Job First (SJF), Priority submitted to the system, and turnaround time, which is the
Scheduling and Round Robin (RR). Additionally, we explore total time it takes for a process to complete execution.
some of the emerging trends in scheduling algorithms, Additionally, various scheduling algorithms have been
including Dynamic Scheduling, Real time Scheduling, Machine developed that attempt to optimize for other factors, such as
Learning-Based Scheduling and Energy-Efficient Scheduling. minimizing the number of context switches or maximizing
We also examine the advantages and disadvantages of each the utilization of I/O devices [4].
scheduling algorithm and highlight their applicability in
different use cases. This review paper aims to provide a In this paper, we will review various types of scheduling
comprehensive understanding of scheduling algorithms in algorithms, their properties, and their applications in
operating systems and their impact on system performance, different environments. We will explore the advantages and
scalability, and energy efficiency. disadvantages of different scheduling algorithms, as well as
their impact on system performance and efficiency. By
Keywords— FCFS, SJF, Priority Scheduling, RR, Dynamic understanding the trade-offs and limitations of different
Scheduling, Real Time Scheduling, Machine Learning-Based scheduling algorithms, we can gain a deeper appreciation for
Scheduling, Energy-Efficient Scheduling. the complexity of operating system design and better
understand the ways in which scheduling algorithms impact
I. INTRODUCTION the overall performance of computer systems.
Scheduling algorithms are a fundamental aspect of One of the latest trends in process scheduling algorithms
modern operating systems, responsible for managing and is the use of machine learning techniques [5] to optimize
allocating system resources among multiple processes. Of all scheduling decisions. These techniques involve training a
the resources available in a computer system, the CPU is model on historical data and using it to make predictions
typically the most important, and scheduling algorithms play about which processes should be executed next. Machine
a crucial role in maximizing its utilization, efficiency, and learning algorithms can take into account a wide range of
responsiveness [1]. factors, such as the current state of the system, the priority of
The goal of scheduling algorithms is to ensure that all different processes, and the historical performance of
processes receive a fair share of CPU time, while also different scheduling decisions, to make more accurate
maximizing the overall throughput of the system. In general, predictions about which processes should be executed.
scheduling algorithms can be classified as either preemptive Another trend in process scheduling algorithms is the use
or non-preemptive. In a preemptive algorithm, the CPU can of real-time scheduling. Real-time scheduling [6] involves
be taken away from a running process if a higher-priority ensuring that critical tasks are executed on time, even in the
process arrives, while in a non-preemptive algorithm, a presence of competing non-critical tasks. This is particularly
running process must complete before another process can be important in systems such as autonomous vehicles or
scheduled. industrial control systems, where delays or missed deadlines
Non-preemptive scheduling algorithms generally follow can have serious consequences.
the First Come First Serve (FCFS) rule, meaning that Another emerging trend in process scheduling is the use
processes are executed in the order in which they arrive. of dynamic scheduling algorithms that can adapt to changing
While this approach can be fair, it can also result in long wait conditions in real-time. Dynamic scheduling algorithms can
times for shorter processes that may be blocked by longer adjust the scheduling priorities of different processes based
processes. However, non-preemptive scheduling algorithms on the current workload and system resources, to optimize
can be useful in certain environments where fairness is a system performance [7].
higher priority than efficiency [2].
In addition, there is increasing interest in developing
Preemptive scheduling algorithms, on the other hand, are energy-aware scheduling algorithms that can reduce the
designed to maximize the efficiency of the system by
energy consumption of computing systems [8]. These lower overall system performance and
algorithms take into account the power consumption of efficiency.
different processes and the hardware resources required to
execute them, and make scheduling decisions that minimize
energy consumption without sacrificing system performance. Long waiting times: Another potential
disadvantage of FCFS is that processes that
II. THE MOST COMMON SCHEDULING ALGORITHMS IN USE arrive later may have to wait a long time before
TODAY they are executed. This can result in high
average waiting times, which can be a problem
A. First Come First Serve in applications where timely processing is
First-Come, First-Serve (FCFS) is a scheduling algorithm important.
used in operating systems and computer networks to manage No consideration for process priority: FCFS
the execution of processes or tasks. In FCFS, the processes does not take into account the priority of
are executed in the order in which they arrive, with the first processes, which can be a problem in
process that arrives being the first one to be executed, applications where some processes are more
followed by the second process, and so on. important than others. For example, in a real-
The FCFS algorithm is simple and easy to implement, time system, a process that is critical for system
and it ensures that no process is kept waiting indefinitely. performance may be delayed by lower priority
However, it can lead to long waiting times for processes that processes [9].
arrive later, especially if the first process that arrives is a
long-running one. B. Shortest Job First
SJF is a scheduling algorithm that is used in computer
To implement FCFS, the operating system maintains a
operating systems to manage the execution of processes. It is
queue of processes that are waiting to be executed. When a
a non-preemptive scheduling algorithm, which means that
new process arrives, it is added to the end of the queue. The
once a process has started executing, it will continue to run
operating system then selects the first process in the queue
until it completes, or until it blocks for some reason (such as
and executes it. When the first process completes, the
waiting for input/output or waiting for another process to
operating system selects the next process in the queue and
complete) [12].
executes it, and so on [10].
The basic idea behind SJF scheduling is to always
One variant of FCFS is the preemptive FCFS algorithm,
schedule the shortest job first. This is based on the
where a process can be preempted by a higher-priority
assumption that shorter jobs will complete faster, and that
process that arrives later. In this variant, the operating system
this will lead to a better overall performance of the system in
checks for the arrival of new processes and compares their
terms of turnaround time (i.e., the time it takes for a process
priorities with the currently executing process. If a higher-
to complete from start to finish).
priority process arrives, it is executed instead of the currently
executing process [11]. There are two variations of SJF scheduling: preemptive
and non-preemptive. Preemptive SJF scheduling allows a
1) Advantages running process to be preempted (i.e., stopped) if a shorter
process arrives and needs to run. Non-preemptive SJF
Simplicity: FCFS is a straightforward algorithm scheduling does not allow preemption, so a running process
that requires minimal computational resources. will continue until it completes, regardless of whether a
It is easy to implement, making it an attractive shorter process arrives or not [13].
choice for simple scheduling systems.
1) Advantages
Fairness: FCFS is a fair scheduling policy, as it
ensures that all processes are executed in the It can lead to faster turnaround times for processes,
order in which they arrive. This means that no which can improve the overall performance of the
process is given priority over another, which can system.
be important in certain applications.
It is relatively easy to implement.
No starvation: The FCFS algorithm guarantees
that no process is left waiting indefinitely. Since It can be more fair than other scheduling
all processes are executed in the order they algorithms, as shorter processes will always get
arrive, there is no risk of a process being priority.
delayed indefinitely due to other processes
being given priority. 2) Disadvantages