Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Microprocessor
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • Solutions
    • HackerRank
      • C Solutions
      • C++ Solutions
      • Java Solutions
      • Python Solutions
      • Algorithms Solutions
      • Data Structures Solutions
    • HackerEarth Solutions
    • Leetcode Solutions
  • JEE 2027
The Computer Science
TheCScience

Scheduling Criteria in Operating Systems | OS Tutorials

YASH PAL, June 8, 2026June 8, 2026

In an operating system, Scheduling criteria can be categorized into two categories:

  1. User – Oriented
  2. System – Oriented
  • User-oriented criteria related to the behavior of the system as perceived by the individual user or process.
  • System-oriented criteria focus on effective and efficient utilization of the processor. It focuses on system performance rather than service provided to the user.

Table of Contents

  • Scheduling Criteria
    • Preemptive and Non-Preemptive Scheduling
    • Goals of Scheduling Algorithms
    • Static and Dynamic Priority
    • Difference between Static Priority and Dynamic Priority

Scheduling Criteria

The design of a scheduling policy involves compromising among competing requirements; the relative weights given to the various requirements will depend on the nature and intended use of the system.

Preemptive and Non-Preemptive Scheduling

  • CPU scheduling decisions may take place under the following four circumstances:
    1. When a process switches from the running state to the waiting state.
    2. When a process switches from the running state to the ready state.
    3. When a process switches from the waiting state to the ready state.
    4. When a process terminates.
  • Among these circumstances, for situations 1 and 4, there is no choice in terms of scheduling. A new process (if one exists in the ready queue) must be selected for execution.
  • When scheduling takes place only under circumstances 1 and 4, we say that the scheduling scheme is Non-Preemptive or Cooperative Scheduling.
  • When scheduling takes place under circumstances 2 and 3, then it is Preemptive scheduling or Non-cooperative scheduling.
  • Under non-preemptive scheduling, once the CPU has been allocated to a process, the process keeps the CPU busy until it releases the CPU either by terminating or by switching to the waiting state.

Goals of Scheduling Algorithms

Whenever a scheduling algorithm is designed, it is necessary to have some idea of what a good algorithm should do. Some goals depend on the environment and are discussed below:

All System:

  • Fairness – giving each process a fair share of the CPU.
  • Policy Enforcement – ensuring that stated policy is carried out.
  • Balance – keeping all parts of the system busy.

Batch System:

  • Throughput – maximizing jobs per hour.
  • Turn-around time – minimizing the time between submission and termination.
  • CPU Utilization – keep the CPU busy all the time.

Interactive System:

  • Response time – respond to requests quickly.
  • Proportionality – meet the user’s expectations.

Real-Time System:

  • Meeting Deadlines – avoid losing data.
  • Predictability – avoid quality degradation in multimedia systems.

Among all, fairness is important. Comparable processes should get comparable service. Giving one process much more CPU time than an equivalent one is not fair. Another general goal is keeping all parts of the system busy when possible. If the CPU and all the I/O devices can be kept running all the time, more work gets done per second than if some of the components are idle.

Microsoft Windows 3.1 and Apple Macintosh Operating System use this scheduling method.

  • Preemptive scheduling is useful in a system in which high-priority processes require rapid attention. In real-time systems, for example, consequences of missing an interrupt could be very devastating.
  • In interactive time-sharing systems, preemptive scheduling is important in guaranteeing acceptable response time.
  • Preemptive incurs cost. Context switching involves overhead; keeping non-running programs in main storage also involves overhead.

Static and Dynamic Priority

  • Priority is a tie-breaking rule that is employed by a scheduler when many requests wait for the attention of the server.
  • The Priority of a request can be a function of several parameters, each parameter reflecting either an inherent attribute of the request or an aspect concerning its service.
  • We also call it a dynamic priority if some of its parameters change during the operation of th request; otherwise, it is called a static priority.
  • Some process reordering could be obtained through priorities as well.
  • For example, short processes would be serviced before long processes; if priority is inversely proportional to the service time of a process, then processes that have received less CPU time would be processed first.
  • To avoid/restrict overhead, schedulers like to avoid using complex priority functions or dynamic priorities; they employ algorithms that determine the order in which requests should be serviced.

Difference between Static Priority and Dynamic Priority

  • The difference between the two is that the priority of a process will remain unchanged if the scheduler assigns it a static Priority.
  • Scheduling algorithms that assign dynamic priorities allow priorities to change over time.
  • Most operating systems use dynamic priorities when scheduling non-real-time tasks, with the intention of giving higher priority to interactive processes.
  • However, when scheduling real-time tasks, most systems assign static priorities, as the design of the scheduler is less complex.
engineering subjects Operating System Operating System

Post navigation

Previous post
Next post

Leave a Reply

Your email address will not be published. Required fields are marked *

Engineering Core Subjects

Digital Communication Subject
Internet of Things Subject
Computer Architecture subject
Human Value Subject

JEE Study Materials

JEE Physics Notes
JEE Chemistry Notes

TheCScience

At TheCScience.com, our mission is to make quality education accessible to everyone. We provide in-depth, easy-to-understand articles covering Secondary, Senior Secondary, and Graduation-level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Our Tools

Hosting - get 20% off

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Microprocessor

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes