OSY Microproject
OSY Microproject
S POLYTECHNIC
Nagsenvan,Aurangabad
A Micro-project on
"create a report to calculate total waiting time and
turnaround time of process with different cpu scheduling
algorithm"
Ganesh Sable
1 Abstract 1
2 Introduction 2
5 7-17
6 Conclusion 14
Developing CPU scheduling algorithms and understanding their impact in
practice can be difficult and time consuming due to the need to modify and
test operating system kernel code and measure the resulting performance on
a consistent workload of real applications.
This paper presents a state diagram that depicts the comparative study of
various scheduling algorithms for a single CPU and shows which algorithm is
best for the particular situation. Using this representation, it becomes much
easier to understand what is going on inside the system and why a different
set of processes is a candidate for the allocation of the CPU at different time.
The objective of the study is to analyze the high efficient CPU scheduler on
design of the high quality scheduling algorithms which suits the scheduling
goals.Key Words:-Scheduler, State Diagrams, CPUScheduling, Performance
Scheduling of processes/work is done to finish the work on time. CPU
Scheduling is a process that allows one process to use the CPU while another
process is delayed (in standby) due to unavailability of any resources such as
I / O etc, thus making full use of the CPU. The purpose of CPU Scheduling is to
make the system more efficient, faster, and fairere
Whenever the CPU becomes idle, the operating system must select one of
the processes in the line ready for launch. The selection process is done by a
temporary (CPU) scheduler. The Scheduler selects between memory
processes ready to launch and assigns the CPU to one of them.
CPU Scheduling is a process of determining which process will own CPU for
execution while another process is on hold. The main task of CPU scheduling
is to make sure that whenever the CPU remains idle, the OS at least select
one of the processes available in the ready queue for execution. The selection
process will be carried out by the CPU scheduler. It selects one of the
processes in memory that are ready for execution.
In this type of scheduling method, the CPU has been allocated to a specific
process. The process that keeps the CPU busy will release the CPU either by
switching context or terminating. It is the only method that can be used for
various hardware platforms.
That’s because it doesn’t need special hardware (for example, a timer) like
preemptive scheduling.
Specific process switches from the running state to the ready state.
Specific process switches from the waiting state to the ready state.
Context Switching
Priority Scheduling
As the process enters the ready queue, its PCB (Process Control Block) is
linked with the tail of the queue. So, when CPU becomes free, it should be
assigned to the process at the beginning of the queue.
The full form of SRT is Shortest remaining time. It is also known as SJF
preemptive scheduling. In this method, the process will be allocated to the
task, which is closest to its completion. This method prevents a newer ready
state process from holding the completion of an older process.
Associate with each process as the length of its next CPU burst. So
that operating system uses these lengths, which helps to schedule the
process with the shortest possible time.
Priority scheduling is a method of scheduling processes based on priority. In
this method, the scheduler selects the tasks to work as per the priority.
Round robin is the oldest, simplest scheduling algorithm. The name of this
algorithm comes from the round-robin principle, where each person gets an
equal share of something in turn. It is mostly used for scheduling algorithms in
multitasking. This algorithm method helps for starvation free execution of
processes.
It is a real time system which responds to the event within a specific time
limit.
P1 4
P2 3
P3 5
* Turnaround Time = Completion Time – Arrival Time
Let us assume that arrival and completion data (in hours) for a process is as
follows:
P2 = 2
P3 = 3
P4 = 2
Collaborative TAT = P1 + P2 + P3 + P4 (1 + 2 + 3 + 2)
Collaborative TAT = 8
SJF is a full form of (Shortest job first) is a scheduling algorithm in which the
process with the shortest execution time should be selected for execution
next. This scheduling method can be preemptive or non-preemptive. It
significantly reduces the average waiting time for other processes awaiting
execution.
In this method, when the CPU is available, the next process or job
with the shortest completion time will be executed first.
The burst time is the time required for the process to complete
execution. It is also called running time.
CPU utilization is the main task in which the operating system needs to
ensure
that the CPU remains as busy as possible.
The number of processes that finish their execution per unit time
is known Throughput.
Six types of process scheduling algorithms are: 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.
In the First Come First Serve method, the process which requests the
CPU gets the CPU allocation first.
In Priority Scheduling, the scheduler selects the tasks to work as per the
priority.
Round robin scheduling works on the principle where each person gets
an equal share of something in turn.
The only way to evaluate a scheduling algorithm to code it and has to put it in
the operating system, only then a proper working capabilityof the algorithm
can be measured in real time systems.