BCA / B.Tech 15 min read

Scheduling Criteria in Operating System

Scheduling Criteria in Operating System:


In any computer operating system, scheduling is a very important task. Scheduling determines which process or thread will use the CPU, when, and for how long. There are different scheduling algorithms for this, and it's essential to understand the criteria used to judge whether these algorithms are good or bad. These criteria are used to measure the performance of a scheduling algorithm.

The main purpose of scheduling is to make the most of system resources, reduce the time it takes for processes to run, and give users a faster response time. Let's take a detailed look at the main scheduling criteria and how they affect the operating system's performance.

1. CPU Utilization:

  • Definition: CPU utilization tells us how much time the CPU is busy working. The main goal is to make sure the CPU is being used as much as possible and isn't just sitting idle.
  • Goal: Ideally, CPU utilization should be 100%, but in reality, it is usually between 40% and 90%. If the CPU is idle most of the time, it indicates poor system performance.
  • Importance: High CPU utilization ensures that the system's resources are being used properly and no time is wasted.
  • Example: The Shortest Job First (SJF) scheduling algorithm can improve CPU utilization because it runs the shortest process first, preventing the CPU from being idle between long processes.

2. Throughput:

  • Definition: Throughput is the measure of how many processes are completed in a specific amount of time.
  • Goal: The goal of a scheduling algorithm is to increase throughput, allowing as many processes as possible to be completed within a given time frame.
  • Importance: High throughput is a sign of a more capable and efficient system.
  • Example: The Round Robin algorithm with a small time quantum can increase throughput, but a very small time quantum can also increase system overhead.

3. Turnaround Time:

  • Definition: Turnaround time is the total time a process takes from when it is submitted to when it is completed. This includes the time the process spends waiting, executing, and any other delays.
  • Goal: A key objective of any scheduling algorithm is to reduce turnaround time, so processes can finish more quickly.
  • Importance: Reducing turnaround time is very important for user satisfaction, especially for tasks that require immediate results.
  • Example: The Shortest Job First (SJF) algorithm can minimize turnaround time because it executes the shortest processes first.

4. Waiting Time:

  • Definition: Waiting time is the amount of time a process spends waiting in the queue for the CPU. It only includes the time spent in the queue, not the time it is executing.
  • Goal: A scheduling algorithm aims to keep the waiting time for processes as low as possible.
  • Importance: If processes have a long waiting time, the system's responsiveness can decrease, and the user may experience delays.
  • Example: In Priority Scheduling, high-priority processes wait less, but low-priority processes might have a very long waiting time, which can lead to a problem called Starvation.

5. Response Time:

  • Definition: Response time is the time it takes from when a process is submitted until it gets the CPU for the very first time to start executing.
  • Goal: The objective of a scheduling algorithm is to reduce response time to provide users with quick feedback.
  • Importance: For systems with a graphical user interface (GUI) or real-time systems, response time is very important. If the response time is long, the system's performance is considered poor from the user's perspective.
  • Example: The Round Robin algorithm with a small time quantum helps reduce response time because each process gets the CPU quickly for a short period.

6. Fairness:

  • Definition: Fairness means that all processes get a reasonable opportunity to use the CPU, and no process is left without being executed.
  • Goal: The scheduling algorithm should be designed in such a way that every process gets a fair share of the CPU time.
  • Importance: Fairness is crucial, especially in multi-user systems where all users need equal access to resources.
  • Example: The Round Robin algorithm ensures fairness by giving every process the CPU for the same amount of time in each cycle.

7. Overhead:

  • Definition: Scheduling overhead is the extra time and resources that are used to make scheduling decisions and to switch between processes. This affects the system's efficiency.
  • Goal: A scheduling algorithm aims to keep this overhead as low as possible so that the system can use more CPU time for actual work.
  • Importance: High overhead can reduce the system's efficiency, so it's important to keep it under control.
  • Example: The Round Robin algorithm can have high overhead if the time quantum is very small, as it requires frequent process switching.

8. Starvation and Aging:

  • Definition: Starvation happens when low-priority processes never get to use the CPU because high-priority processes are constantly running. Aging is a technique used to prevent starvation. With aging, the priority of low-priority processes is gradually increased over time so they eventually get a chance to use the CPU.
  • Importance: It is important to manage starvation and aging to ensure that all processes get CPU time and the system remains fair.
  • Example: Priority scheduling can cause starvation, but this problem can be solved by using the aging technique.

In this Chapter

Scheduling Criteria in Operating System
Distributed System in Operating System
Real-Time System in Operating System
System Calls in Operating System
System Programs in Operating System
Structure of an Operating System
Layered Design of an Operating System Structure
UNIX in Operating System
Virtual Machine in Operating System
Kernel-Based Operating System
Process Concept in Operating System
Interacting Processes in Operating System
Threads in Operating System
Fundamentals of Scheduling in Operating System
Long, Medium, and Short-Term Scheduling
Scheduling Algorithms in Operating System
Structure of a Concurrent System
Critical Region in Operating System
Critical Section in Operating System
Inter-process Communication (IPC) in Operating System
Monitors in Operating System
Semaphores in Operating System
Semaphore Implementation & Uses in Operating System
Logical and Physical Address in Operating System
Swapping in Operating System
Contiguous Allocation in Operating System
Segmentation in Operating System
Paging in Operating System
Virtual Memory using Segmentation in Operating System
Interprocess Communication Protocol in Operating System
Network Operating System
Design Issues in Distributed File System
Network Structure in Operating System
Structure of a Distributed System
File System and Coordination in Operating System
History of Linux in Operating System
Linux Commands
Programmer Interface & File Manipulation in Linux
Process Control in Linux
Kernel & Signals in Linux
File System in Linux
Blocks and Inodes in Linux
System Editors in Linux
Character Transliteration in Linux
The `ed` Line Editor in Linux
The `vi` Editor and Its Commands
Shell Scripting in Linux
Looping & Decision Making in Linux Shell Scripting
Variables & File Name Expansion in Linux
Arrays in Linux Shell Scripting
Subprograms (Functions) in Linux Shell Scripting
C Interface with Linux
Simple Shell Programs in Linux
BCA Part-1 | Operating Systems | Semester-I | MDSU Exam Paper 2023 (Held in 2024)
What is an Operating System (OS)
Operating System (OS) All Important Questions and Answers in English (MDSU)
BCA || Operating System 2025 Paper || MDSU Exam Paper
BCA | OS(Operating System) 2023 Paper | MDSU Exam Paper
Types of Operating Systems
Goals of an Operating System
Operations of an Operating System
Resource Allocation & Functions in an Operating System
Classes of Operating System
Batch Processing in Operating System
Multiprocessing in Operating System
Time-Sharing in Operating System