Process Scheduling
Scheduling
Scheduling is a fundamental operating system function. It refers to set policies and mechanism which allow the operating system to govern the order in which the process will be executed by the computer system. All the computer resources are scheduled before use.
CPU scheduling is Central to operating system design because it is a primary computer resource.
"The main aim of scheduling is to manage system performance according to the criteria seems most important by the system designers."
Structure of Job Queues for Scheduling. |
Scheduler
The Operating System module which selects the job or manages the job queues that which job will next execute or admitted to the system is known as "Scheduler".
There are various types of scheduler modules available in the operating system which perform their actions at the required time.
Types of Schedulers used in OS :
- Long-Term Scheduler: Job Scheduling is maintained by this Scheduler.
- Medium-Term Scheduler: Swapping of the job is done by this Scheduler.
- Short-Term Scheduler: CPU Scheduling is maintained by this Scheduler.
Types Of Scheduling Levels :
- Long-Term Scheduling
- Medium-Term Scheduling
- Short-Term Scheduling
Scheduling and Performance Criteria :
- CPU Utilization
- Throughput
- Turnaround Time
- Waiting Time
- Response Time
Concepts of Scheduling :
- CPU I/O Burst Cycle
- CPU Scheduler
- Preemptive and Non-Preemptive Scheduling
- Dispatcher
Scheduling Algorithms
A Process Scheduler schedules a different process that is to be assigned to the Processor based on a suitable Scheduling Algorithm.
Different Scheduling Algorithms are :
- First Come, First Served (FCFS)Scheduling
- Shortest Remaining Time Next (SRTN)
- Round Robin (RR)Scheduling
- Priority Based Scheduling
- Shortest Job Next (SJN)
- Multiple Level Queues (MLQ) Scheduling