Unit 2 Part 2
Unit 2 Part 2
Process Management
What is Process Scheduling?
Process Scheduling is the process of the process manager handling the removal of
an active process from the CPU and selecting another process based on a specific
strategy.
Process Scheduling is an integral part of Multi-programming applications. Such
operating systems allow more than one process to be loaded into usable memory at a
time and the loaded shared CPU process uses repetition time.
There are three types of process schedulers:
Long term or Job Scheduler
Short term or CPU Scheduler
Medium-term Scheduler
CPU utilization: The main purpose of any CPU algorithm is to keep the
CPU as busy as possible. Theoretically, CPU usage can range from 0 to 100 but
in a real-time system, it varies from 40 to 90 percent depending on the system
load.
Throughput: The average CPU performance is the number of processes
performed and completed during each unit. This is called throughput. The output
may vary depending on the length or duration of the processes.
Turn round Time: For a particular process, the important conditions are
how long it takes to perform that process. The time elapsed from the time of
process delivery to the time of completion is known as the conversion time.
Conversion time is the amount of time spent waiting for memory access, waiting
in line, using CPU, and waiting for I / O.
Waiting Time: The Scheduling algorithm does not affect the time required
to complete the process once it has started performing. It only affects the waiting
time of the process i.e. the time spent in the waiting process in the ready queue.
Response Time: In a collaborative system, turn around time is not the best
option. The process may produce something early and continue to computing the
new results while the previous results are released to the user. Therefore another
method is the time taken in the submission of the application process until the
first response is issued. This measure is called response time.
Types of Process Schedulers
There are three types of process schedulers:
It brings the new process to the ‘Ready State’. It controls the Degree of Multi-
programming, i.e., the number of processes present in a ready state at any
point in time. It is important that the long-term scheduler make a careful
selection of both I/O and CPU-bound processes. I/O-bound tasks are which use
much of their time in input and output operations while CPU-bound processes
are which spend their time on the CPU. The job scheduler increases efficiency
by maintaining a balance between the two. They operate at a high level and
are typically used in batch-processing systems.
It is responsible for selecting one process from the ready state for scheduling it
on the running state. Note: Short-term scheduler only selects the process to
schedule it doesn’t load the process on running. Here is when all the scheduling
algorithms are used. The CPU scheduler is responsible for ensuring no starvation
due to high burst time processes.
3. Medium-Term Scheduler