Scheduling is the method by which task specified by some means is assigned to resources that complete the task. The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.
Process scheduling is an essential part of Multiprogramming operating systems. Such operating systems allow more than one process to be loaded into the executable memory at a time and the loaded process shares the CPU using time multiplexing.
Scheduling Techniques with respect to a process are given below:
Different times with respect to a process are:
a. Arrival Time(AT): Time at which the process arrives in the ready queue.
b. Burst Time(BT): Time required by a process for CPU execution.
c. Completion Time(CT): Time at which process completes its execution.
d. Turn Around Time(TAT): The time interval from the time of submission of a process to the time of the completion of the process.
OR, Time Difference between completion time and arrival time. i.e. TAT= CT – AT
e. Waiting Time(WT): The total time waiting in a ready queue.
OR, Time Difference between turnaround time and burst time. i.e.WT = TAT – BT
f. Response time(RT): Amount of time from when a request was submitted until the first response is produced.
g. Quantum size: It is the specific time interval used to prevent anyone process monopolizing the system i.e. can be run exclusively.
A Process Scheduler schedules different processes to be assigned to the CPU based on particular scheduling algorithms. The rule or set of rules that are followed to schedule the process is known as a process scheduling algorithm. The algorithms are either non-preemptive or preemptive.
You may also like: Comparison of Preemptive and Non-preemptive scheduling