OSY Mmmmicroproject
OSY Mmmmicroproject
Jondhale Polytechnic
DEPARTMENT : TYCO
SEMESTER : CO-4I
YEAR 2024-2025
PREPARED BY :
CERTIFICATE
Seal of
Institute
ACKNOWLEDGEMENT
We wish to express our gratitude to our guide Mr. D.D. Shelke who guided us
endlessly in the framing and completion of the micro project. She guided us on
all the main points in that micro project. We are indeed to her constant
encouragement, cooperation and help. It was her enthusiastic support that
helped us in overcoming various obstacle in the micro project .
1 First Page 1
2 Certificate 2
3 Acknowledgement 3
4 Introduction 5
5 Requiremen Analysis 6&7
6 Objectives of Types of Schedulers in Operating Systems 7&8
7 Types of Schedulers 8 - 12
8 13
Scope about this topic :
9 Conclusion 14
10 Reference 14
Introduction
In a multitasking operating system, where multiple programs run concurrently, efficient
process management is crucial to maintaining system performance and responsiveness. This
is where schedulers come into play. Schedulers are specialized algorithms within the
operating system designed to manage how, when, and in what order processes are executed
on the CPU, optimizing resource allocation and ensuring a smooth user experience.
Schedulers are a fundamental part of an operating system, responsible for managing the
execution of processes and ensuring that CPU and memory resources are allocated
efficiently. Each scheduler operates at a different level, contributing to the overall
performance and responsiveness of the system by deciding when and how processes run.
In most operating systems, there are three main types of schedulers, each with a distinct
purpose:
Types of Schedulers
There are three primary types of schedulers, each with distinct functions:
Long-Term Scheduler (Job Scheduler): Responsible for controlling which processes are
allowed into the system. It manages the mix of CPU-bound and I/O-bound processes to
ensure optimal system utilization.
Short-Term Scheduler (CPU Scheduler): Decides which process from the ready queue
should be executed next. Operating frequently, it plays a critical role in maintaining
responsiveness, especially in time-sharing systems.
Medium-Term Scheduler: Often used in systems with memory constraints, this scheduler
handles the swapping of processes in and out of memory to manage active load and control
the level of multiprogramming.
Each type of scheduler works at a different level, but together, they ensure that processes
flow efficiently through the system, resources are utilized optimally, and the user experience
remains smooth. Understanding the role of each scheduler helps illustrate the complexity of
process management and how operating systems balance multiple tasks, maintain system
stability, and achieve maximum efficiency.
Requirements Analysis
The Types of Schedulers report will serve as a comprehensive reference for understanding
the scheduling mechanisms within an operating system. The key requirements for this report
include:
Audience Requirements :
Technical Audience: The report should target individuals with a foundational understanding
of operating systems, including students, software engineers, and IT professionals.
Content Requirements
Clear Definitions: Each type of scheduler (long-term, short-term, and medium-term) should
be clearly defined.
Purpose and Role: Explanation of the role and purpose of each scheduler in managing
processes and resources within the OS.
System Context: Explanation of how schedulers interact with other system components, such
as memory management and CPU allocation.
Presentation Requirements
Structured Layout: The report should be organized into sections, including an introduction,
analysis of each scheduler type, comparison, and conclusion.
Visuals and Flowcharts: Diagrams or flowcharts illustrating the scheduling process flow and
interactions with system components.
Technical Accuracy and Clarity: Language should be precise, technically correct, and easy to
understand for a technical audience.
o Schedulers ensure that CPU, memory, and I/O resources are utilized optimally
by allocating them to active processes based on priority, resource needs, and
availability. This prevents resource wastage and maximizes system
throughput.
o By efficiently managing process transitions and ensuring minimal idle time for
the CPU, schedulers increase overall system throughput, making the OS
capable of handling more tasks within a given time frame.
Types Of Schedulers :
1. Short-Term Scheduler
The short-term scheduler operates by continuously keeping track of the status of all the
system’s processes. The scheduler chooses a process from the ready queue when it is
prepared to run and allows the CPU to do it. The process then continues to operate until it
either completes its work or runs into an I/O activity that blocks it.
Functions
The central processing unit (CPU) allocation to processes is controlled by the short-term
scheduler, also referred to as the CPU scheduler. The short-term scheduler specifically carries
out the following duties:
Process Selection: The scheduler chooses a process from the list of available
processes in the ready queue, which is where all of the processes are waiting to be
run. A scheduling algorithm, such as First-Come, First-Served (FCFS), Shortest Job
First (SJF), Priority Scheduling, or Round Robin, is typically used to make the
selection.
CPU Allocation: The scheduler assigns the CPU to a process after it has been chosen,
enabling it to carry out its instructions.
Context Switching: When a process is switched out, the scheduler saves the context
of the process, including its register values and program counter, to memory. When
the process is later resumed, the scheduler restores this saved context to the CPU.
Process Ageing: Process aging is a function of the scheduler that raises a process’
priority when it has been sitting in the ready queue for a long time. This aids in
avoiding processes becoming locked in an endless waiting state.
Load balancing: The scheduler also distributes the workload among multiple
processors or cores to optimize the system’s performance.
2. Long-term Schedulers
A long-term scheduler, also known as a job scheduler, is an operating system component that
determines which processes should be admitted to the system and when. It is used in batch
processing systems and operates at a high level.
The long-term scheduler is in charge of allocating resources such as processor time and
memory to processes based on their needs and priorities. It also determines the order in which
processes are executed and manages the execution of processes that may take a long time to
complete, such as batch jobs or background tasks. Because it operates at a higher level and
does not need to make scheduling decisions in real-time, the long-term scheduler is typically
slower to respond than other types of schedulers, such as the short-term scheduler.
However, it is an essential component of the operating system because it ensures that the
system is used efficiently and effectively.
Long-term schedulers are in charge of determining the order in which processes are
executed and managing the execution of processes that may take a long time to
complete, such as batch jobs or background tasks.
o CPU Bound Jobs: CPU-bound jobs are tasks or processes that necessitate a
significant amount of CPU processing time and resources (Central Processing
Unit). These jobs can put a significant strain on the CPU, affecting system
performance and responsiveness
o I/O Bound Jobs: I/O bound jobs are tasks or processes that necessitate a large
number of input/output (I/O) operations, such as reading and writing to discs
or networks. These jobs are less dependent on the CPU and can put a greater
strain on the system’s I/O subsystem
3. Medium-term Scheduler :
Typically, processes that are blocked or waiting must be managed by the medium-term
scheduler. These processes are not running right now, but they are still awaiting the
occurrence of an event in order to start running. Which of these blocked processes should be
unblocked and allowed to continue running is up to the medium-term scheduler to decide.
The system’s overall resource utilization must be managed via the medium-term scheduler.
This entails keeping track of how much memory, CPU, and other resources are being used by
the various processes and modifying resource allocation as needed.
The operating system kernel often houses the medium-term scheduler’s implementation. It is
in charge of controlling the system’s overall resource utilization as well as the scheduling of
programs that are stalled or waiting.
Functions
Process preemption: The medium-term scheduler has the ability to halt the execution
of lower-priority processes that have already consumed their time slices in order to
make room for higher-priority or more crucial activities.
Aging of process: The medium-term scheduler can adjust the priority of a process
based on how long it has been waiting for execution. This is known as the aging of
process, which ensures that processes that have been waiting for a long time are given
priority over newer processes.
Security: A medium-term scheduler can assist guarantee that system resources are
not abused or misused by regulating the resource utilization of blocked or waiting-for
processes, adding an extra layer of security to the system.
Summary of Uses and Functions
The topic of schedulers in operating systems has broad and critical implications for
understanding how processes are managed in computing systems. Each type of scheduler
(long-term, short-term, and medium-term) plays a specific role in optimizing the system's
efficiency, responsiveness, and resource allocation. This scope covers both the theoretical and
practical aspects of schedulers, highlighting their significance, challenges, applications, and
evolving trends.
The scope of studying types of schedulers in operating systems is extensive, covering both
the theoretical underpinnings and practical applications of scheduling strategies.
Conclusion
The study of schedulers in operating systems provides a clear view of how an OS manages
process execution and resource allocation to achieve optimal performance and
responsiveness. Each type of scheduler—long-term, short-term, and medium-term—plays a
distinct yet complementary role in managing system processes, balancing workload, and
ensuring efficient CPU and memory utilization.
The long-term scheduler determines which processes enter the system, controlling the level
of multiprogramming and balancing I/O- and CPU-bound tasks for efficient resource usage.
The short-term scheduler is responsible for allocating CPU time to processes in the ready
queue, directly affecting system responsiveness and user experience, especially in interactive
and real-time systems. Meanwhile, the medium-term scheduler manages memory load by
swapping processes between main memory and secondary storage, ensuring active processes
have adequate resources while preventing memory overload.
Together, these schedulers allow the operating system to handle multiple processes
efficiently, maintain fair resource distribution, and enhance overall system stability. By
understanding the distinct functions and roles of each scheduler type, we gain insight into
how operating systems optimize performance, manage competing tasks, and maintain smooth
operations across different environments. This knowledge is essential for anyone involved in
OS design, tuning, or systems programming, as it highlights the importance of process
management and efficient resource allocation in modern computing.
Reference
https://www.geeksforgeeks.org/process-schedulers-in-operating-system/
https://www.javatpoint.com/os-process-schedulers
https://www.tutorialspoint.com/operating_system/os_process_scheduling.htm
https://www.shiksha.com/online-courses/articles/process-scheduling-operating-system/