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.