CPU scheduling
CPU scheduling is a
process which allows one process to use the CPU while the another process is on
wait due to unavailability of resources (I/O, any Computer hardware, CPU
programs etc).
The main aim of CPU scheduling
is to make the system fast, fair, and efficient.
Different CPU scheduling?
Different CPU scheduling?
In our study we will
consider following CPU scheduling algorithm:
- First come first serve (FCFS) scheduling
- Shortest Job First (SJF) scheduling
- Round Robin (RR) scheduling
Why
CPU scheduling?
To
get the best performance from the system CPU scheduling is used.
Throughput:
Throughput
is the total number of processes completed per unit of time. For better CPU
utilization throughput should be maximized.
CPU
utilization:
CPU
utilization is finding out is CPU executing any process or its idle.
Turnaround
time:
Turnaround
time means total time taken by the process till its entering inside the CPU to
the end of its execution. For better CPU utilization turnaround time must be
minimized.
Waiting
time:
Waiting
time means time taken by the process after its entering inside the CPU and not
in execution. For better CPU utilization waiting time must be minimized.
Load
average:
Load
average is the average of number of processes waiting in queue for their turn
to get execution. For better CPU utilization load average must be minimized.
Response
time:
Response
time is the amount of time when the process enters inside the CPU and gets its
execution starting. For better CPU utilization response time must be minimized.
So,
Response
time = time of arrival to the time of starting execution.