Process Scheduling
Process Scheduling
managing the execution of multiple processes efficiently. Here are some key points
on process scheduling:
2. **Objectives**:
- **Fairness**: Ensure that each process gets a fair share of the CPU time.
- **Efficiency**: Maximize CPU utilization by keeping the processor busy.
- **Responsiveness**: Provide quick response times to user interactions.
- **Throughput**: Increase the number of processes completed per unit of time.
3. **Scheduling Algorithms**:
- **First-Come, First-Served (FCFS)**: Processes are executed in the order they
arrive.
- **Shortest Job Next (SJN) or Shortest Job First (SJF)**: Execute the process
with the shortest burst time first.
- **Round Robin (RR)**: Each process is assigned a fixed time slice (quantum)
before moving to the next process.
- **Priority Scheduling**: Assign priority levels to processes; the highest
priority process is scheduled first.
- **Multilevel Queue Scheduling**: Divide processes into different priority
levels and schedule them in different queues.
6. **CPU Burst**: The time a process spends using the CPU without being
interrupted.
7. **Schedulers**:
- **Long-Term Scheduler (Job Scheduler)**: Selects processes from the job pool
to be brought into the ready queue.
- **Short-Term Scheduler (CPU Scheduler)**: Selects a process from the ready
queue to be executed on the CPU.
8. **Starvation and Aging**: Long waiting times for low-priority processes can lead
to starvation. Aging is a technique to gradually increase the priority of waiting
processes.