A major task of an operating system is to manage a collection of processes. In some cases, a single process may consist of a set of individual threads.
In both situations, a system with a single CPU or a multi-processor system with fewer CPU's than processes has to divide CPU time among the different processes/threads that are competing to use it. This process is called CPU scheduling.
CPU Scheduling Criteria:
There are many scheduling algorithms and various criteria to judge their performance. Different algorithms may favor different types of processes. Some criteria are. as follows:
• CPU utilization: CPU must be as busy as possible in performing different tasks. CPU utilization is more important in real-time system and multi-programmed systems.
• Throughput: The number of processes executed in a specified time period is called throughput. The throughput increases .for short processes. It decreases if the size of processes is huge.
• Turnaround Time: The amount of time that is needed to execute a process is called turnaround time. It is the actual job time plus the waiting time.
• Waiting Time: The amount of time the process has waited is called waiting time. It is the turnaround time minus actual job time.
• Response Time: The amount of time between a request is Submitted and the first response is produced is called response time.
A CPU scheduling algorithm should try to maximize the following:
• CPU utilization
• Throughput
A CPU scheduling algorithm should try to minimize the following:
• Turnaround time
• Waiting time
• Response time
In both situations, a system with a single CPU or a multi-processor system with fewer CPU's than processes has to divide CPU time among the different processes/threads that are competing to use it. This process is called CPU scheduling.
CPU Scheduling Criteria:
There are many scheduling algorithms and various criteria to judge their performance. Different algorithms may favor different types of processes. Some criteria are. as follows:
• CPU utilization: CPU must be as busy as possible in performing different tasks. CPU utilization is more important in real-time system and multi-programmed systems.
• Throughput: The number of processes executed in a specified time period is called throughput. The throughput increases .for short processes. It decreases if the size of processes is huge.
• Turnaround Time: The amount of time that is needed to execute a process is called turnaround time. It is the actual job time plus the waiting time.
• Waiting Time: The amount of time the process has waited is called waiting time. It is the turnaround time minus actual job time.
• Response Time: The amount of time between a request is Submitted and the first response is produced is called response time.
A CPU scheduling algorithm should try to maximize the following:
• CPU utilization
• Throughput
A CPU scheduling algorithm should try to minimize the following:
• Turnaround time
• Waiting time
• Response time