CPU Scheduling Algorithms: Key Criteria and Objectives

Classified in Electronics

Written on in with a size of 2.46 KB

Criteria for Effective Scheduling Algorithms

  • Equity: Ensure each process receives a fair share of CPU time.
  • Efficiency: Maintain high CPU utilization percentages.
  • Response Time: Minimize wait times for interactive users.
  • Turnaround Time: Minimize the time batch users wait for results.
  • Performance: Maximize the number of jobs processed per hour.

Core Scheduling Concepts

Preemptive Scheduling: The strategy of allowing executable processes to be temporarily suspended.

Non-Preemptive Scheduling: The strategy of allowing a process to finish its execution once started.

Processor Scheduling: Determining when and which processes are assigned to processors; this is a primary responsibility of the Operating System.

Objectives of the Scheduling Process

Fairness and Predictability

  • Treat all processes equally.
  • Ensure no process is indefinitely postponed.
  • Predictability: A job should run in approximately the same amount of time regardless of system load.

Performance and Resource Management

  • Maximize Throughput: Increase the number of processes served per unit of time.
  • Optimize Response: Ensure interactive users receive acceptable response times (typically within a few seconds).
  • Balance Resources: Encourage the use of underutilized resources.
  • Responsiveness vs. Utilization: Balance the need for immediate resource availability with overall system efficiency.

Priority and Stability

  • Avoid Indefinite Postponement: Use an aging strategy where a waiting process's priority increases over time until it is executed.
  • Ensure Priority: Favor processes with higher priorities, especially those holding key resources.
  • Desirable Behavior: Provide better treatment to processes that exhibit efficient behavior, such as a low paging rate.
  • Graceful Degradation: The system should not collapse under heavy loads.
  • Avoid Undue Burden: Restrict new process creation during heavy loads or provide a moderately reduced level of service to all processes to maintain stability.

Related entries: