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

OSY Mmmmicroproject

Osy Micro Project

Uploaded by

jagtaptanay80
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)
9 views15 pages

OSY Mmmmicroproject

Osy Micro Project

Uploaded by

jagtaptanay80
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
You are on page 1/ 15

S.H.

Jondhale Polytechnic

SUBJECT NAME : Operating System

DEPARTMENT : TYCO

SEMESTER : CO-4I

MICRO PROJECT TITLE : Types of Schedulers

YEAR 2024-2025

PREPARED BY :

1.Tanay Jagtap (1505)

Under the Guidance of : Mr. D.D. Shelke


MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION

CERTIFICATE

This is to certify that Mr./Mrs. Tanay Jagtap(1505of 5 th Semester of Diploma in


Computer Engineering of Institute S.H. Jondhale Polytechnic has successfully
completed Micro Project Work in Subject Operating System (22517) for the
academic year 2024-2025 as prescribed in I-Scheme Curriculum

Place : ………………. Enrollment No. : …………………….

Date : ………………. Exam Seat No. : ………………………

Signature Signature Signature


Project Guide H.O.D. Principal

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 .

We are thankful to out Principal,HOD,faculty members and classmates of


Computer Engineering Department for extending their support and motivation
in the completion of this micro project

Name of Team Members with Roll No.

1.Tanay Jagtap (1505)


Index

Sr. Content Page No.


No.

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.

Educational and Informative: Content should be structured to provide both an introduction


and in-depth insights into the functions and importance of each type of scheduler.

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.

Functionality and Characteristics: Detailed description of how each scheduler operates,


including the frequency of operation, scope, and key characteristics.

System Context: Explanation of how schedulers interact with other system components, such
as memory management and CPU allocation.

Illustrative Examples: Inclusion of examples or scenarios where each scheduler type is


crucial, such as batch processing (long-term scheduler) and time-sharing systems (short-term
scheduler).

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.

Objectives of Types of Schedulers in Operating Systems

1. Efficient Resource Utilization

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.

2. Process Management and Flow Control

o By managing the life cycle of processes, from admission to suspension or


execution, schedulers help control the flow of processes within the system.
Each scheduler type—long-term, short-term, and medium-term—handles
processes at different stages to maintain smooth operation and avoid
bottlenecks.

3. System Responsiveness and Reduced Waiting Time

o Scheduling improves the system's responsiveness to user requests, particularly


in interactive and real-time environments. Short-term schedulers prioritize
processes effectively, reducing waiting time for critical tasks and improving
user experience.

4. Balanced Multiprogramming Level

o Schedulers aim to maintain an optimal level of multiprogramming by


controlling how many processes are active in memory. The long-term
scheduler manages process admission, and the medium-term scheduler
balances memory load, which helps prevent system overload and thrashing.
5. Enhanced System Throughput and Performance

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.

6. Support for Different Operating Environments

o Scheduling strategies support a variety of operating environments—such as


batch processing, time-sharing, and real-time systems—by tailoring resource
allocation and process handling to meet each environment's needs.

Types Of Schedulers :

1. Short-Term Scheduler

The operating system’s short-term scheduler, commonly referred to as a CPU scheduler,


controls how the central processing unit (CPU) is allotted to processes. The short-term
scheduler’s major objective is to make sure that the CPU is constantly utilized effectively and
efficiently.

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.

 Preemptive Scheduling: The scheduler can also preempt a running process,


interrupting its execution and returning the CPU to the ready queue if a higher-
priority process becomes available.

 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.

 Process synchronization and coordination: In order to prevent deadlocks, race


situations, and other synchronization problems, the scheduler also synchronizes
shared resource access among processes and coordinates their execution and
communication.

 Load balancing: The scheduler also distributes the workload among multiple
processors or cores to optimize the system’s performance.

 Power management: The scheduler also manages the power consumption by


adjusting the CPU frequency and turning off the cores that are not currently in use.

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.

Functions of Long-Term Scheduler

 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.

 A long-term scheduler’s primary function is to minimize processing time by taking


the mixtures of CPU-bound jobs and I/O-bound jobs.

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 :

The long-term execution of processes in a computer system is managed by a medium-term


scheduler, also referred to as a mid-term scheduler. Based on a set of predetermined criteria
and priorities, this kind of scheduler decides which processes should be executed next.

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

A medium-term scheduler’s main responsibilities include:

 Managing blocked or waiting-for processes: Choosing which stalled or waiting-for


processes should be unblocked and permitted to continue running is the responsibility
of the medium-term scheduler. This may entail modifying the priority of processes
based on their present condition or resource utilization, or modifying the resource
distribution to various processes based on their present requirements.
 Managing resource usage: The medium-term scheduler is in charge of keeping track
of how much memory, CPU, and other resources are being utilized by the different
processes and modifying the resource allocation as necessary to guarantee efficient
and equitable use of resources.

 Process prioritization: The medium-term scheduler is in charge of prioritizing


processes based on a predetermined set of guidelines and criteria. This may entail
modifying the priority of processes based on their present condition or resource
utilization, or modifying the resource distribution to various processes based on their
present requirements.

 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.

 Memory Management: The medium-term scheduler can also be responsible for


memory management, which involves allocating memory to processes and ensuring
that processes are not using more memory than they are supposed to.

 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

Scheduler Type Frequency Role Scope


Long-term Low Manages job System-wide(Batch
admission to the Processing)
system
Short-Term High Allocates CPU to Direct CPU
ready process management

Medium-Term Medium Swaps process Memory and CPU


between and storage resources
management

Scope about this topic

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 this topic includes:

1. Detailed Examination of Scheduler Types

2. Scheduler Functions and Process Flow

3. Impact on System Performance

4. Interaction with OS Components

The scope of studying types of schedulers in operating systems is extensive, covering both
the theoretical underpinnings and practical applications of scheduling strategies.

This knowledge is essential for understanding how systems maintain efficiency,


responsiveness, and fairness in resource distribution, which is crucial in modern computing
environments. Through this study, one can gain insights into optimizing operating systems
for a variety of applications, from desktop computers to real-time and cloud systems,
ensuring efficient process management and adaptability to evolving technological trends.

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/

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy