CPU Scheduling Basics
CPU Scheduling Basics¶
Overview¶
CPU scheduling is the process of determining which of the ready processes should be allocated the CPU. This lesson covers CPU burst and I/O burst, scheduling goals, preemptive/non-preemptive scheduling, and the roles of various schedulers.
Table of Contents¶
- What is CPU Scheduling?
- CPU Burst and I/O Burst
- Scheduling Goals
- Preemptive vs Non-preemptive Scheduling
- Types of Schedulers
- Dispatcher
- Practice Problems
1. What is CPU Scheduling?¶
Definition¶
CPU Scheduling = Selecting which process in the Ready queue
should be allocated the CPU
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CPU Scheduling Location β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββ βββββββββββββββββββββββββββββββββββββββ β
β β New βββββΆβ Ready Queue β β
β βProcess β β P1 β P2 β P3 β P4 β ... β β
β ββββββββββ βββββββββββββββ¬ββββββββββββββββββββββββ β
β β β
β β CPU Scheduler selects β
β βΌ β
β βββββββββββββ β
β β CPU β β
β β (Running) β β
β βββββββ¬ββββββ β
β β β
β ββββββββββββββββββΌβββββββββββββββββ β
β βΌ βΌ βΌ β
β βββββββββββ βββββββββββββ βββββββββββ β
β βTerminateβ β I/O Wait β β Return β β
β β β β (Wait) β βto Ready β β
β βββββββββββ βββββββββββββ βββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why Scheduling is Needed¶
1. Maximize CPU utilization
- Always have processes ready to execute so CPU doesn't idle
2. Fair resource distribution
- Provide appropriate CPU time to all processes
3. Optimize system performance
- Increase throughput, decrease response time
4. Support multitasking
- Make it appear that multiple processes run simultaneously
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Without Scheduling vs With Scheduling β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Without Scheduling (Sequential): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β P1 (I/O wait) β P2 (I/O wait) β P3 (I/O wait) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Time: ββββββββββββββββββββββββββββββ β
β Lots of CPU idle time β
β β
β With Scheduling: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β P1 β P2 β P3 β P1 β P2 β P3 β ... β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Time: ββββββββββββββββββββββββββ β
β Minimal CPU idle time β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2. CPU Burst and I/O Burst¶
What is a Burst?¶
Process Execution = Alternation of CPU Burst and I/O Burst
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Process Execution Cycle β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Start βββΆ CPU Burst βββΆ I/O Burst βββΆ CPU Burst βββΆ ...β
β β β β β
β βΌ βΌ βΌ β
β Computation I/O Wait Computation β
β (Running) (Waiting) (Running) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Timeline Example:
Process P1:
ββββββββ¬βββββββββββ¬ββββββββ¬βββββββββββ¬βββββββ¬βββββββ
β CPU β I/O β CPU β I/O β CPU β Exit β
β 10ms β 50ms β 5ms β 30ms β 8ms β β
ββββββββ΄βββββββββββ΄ββββββββ΄βββββββββββ΄βββββββ΄βββββββ
CPU-bound vs I/O-bound Processes¶
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Burst Patterns by Process Type β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β CPU-bound Process (Computation intensive): β
β ββββββββββββββββββββββ¬βββ¬βββββββββββββββββββββ¬βββ β
β β Long CPU burst βIOβ Long CPU burst βIOβ β
β ββββββββββββββββββββββ΄βββ΄βββββββββββββββββββββ΄βββ β
β Examples: Scientific computation, video encoding, β
β compilers β
β β
β I/O-bound Process (I/O intensive): β
β ββββ¬ββββββ¬βββ¬ββββββ¬βββ¬ββββββ¬βββ¬ββββββ β
β βCPβ I/O βCPβ I/O βCPβ I/O βCPβ I/O β β
β ββββ΄ββββββ΄βββ΄ββββββ΄βββ΄ββββββ΄βββ΄ββββββ β
β Examples: Text editors, web browsers, β
β interactive programs β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββ¬βββββββββββββββββ¬βββββββββββββββββββββββββ
β Feature β CPU-bound β I/O-bound β
βββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββββββββββ€
β CPU burst lengthβ Long β Short β
β I/O burst freq β Low β High β
β Scheduling need β Long time sliceβ Fast response time β
β Examples β Numerical comp β Web server, database β
βββββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββββββββββ
CPU Burst Distribution¶
Frequency
β
β ββ
β ββ
β ββββ
β ββββββ
β ββββββββ
β ββββββββββ
β ββββββββββββ
β ββββββββββββββ
β ββββββββββββββββ
β ββββββββββββββββββ
ββββββββββββββββββββββββββββββββββΆ CPU Burst Length
Most processes have short CPU bursts
β Many I/O-bound processes
β Processing short processes first reduces average wait time
3. Scheduling Goals¶
Key Performance Metrics¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Scheduling Metrics β
βββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ€
β CPU Utilization β Percentage of time CPU is working β
β β Goal: Maximize (40%~90%) β
βββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β Throughput β Number of processes completed per β
β β unit time. Goal: Maximize β
βββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β Turnaround Time β Time from submission to completion β
β β = Wait + Execution + I/O time β
β β Goal: Minimize β
βββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β Waiting Time β Total time spent in Ready queue β
β β Goal: Minimize β
βββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β Response Time β Time from submission to first β
β β response. Important for interactive β
β β systems. Goal: Minimize β
βββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
Time Concept Visualization¶
Process P Timeline:
Arrival Completion
β β
βΌ βΌ
βββ¬ββββββββββββββββββββββ¬ββββββββββββββββββββββ¬βββΆ Time
β β β
ββββ Turnaround Time βββββββββββββββββββββΆβ
β β
β Wait β Execute β Wait β Execute β
ββWait βΆβ ββWaitβΆβ β
β β
ββββΆFirst Response β
βResponse β
βTime β
Calculation Example:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Process P: β
β Arrival time = 0 β
β Execution time = 10ms (total CPU usage time) β
β Completion time = 25ms β
β β
β Turnaround Time = Completion - Arrival = 25 - 0 = 25ms β
β Waiting Time = Turnaround - Execution = 25 - 10 = 15ms β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Trade-offs Between Goals¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Scheduling Goal Trade-offs β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β CPU Utilization βββββββββββββββββββββββΆ Response Time β
β (Maximize) Conflicting (Minimize) β
β β
β Throughput βββββββββββββββββββββββββΆ Fairness β
β (Maximize) Conflicting (Equal dist) β
β β
β Priorities differ by system type: β
β β
β ββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ β
β β Batch System β Throughput, CPU utilization first β β
β ββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€ β
β β Interactive β Response time first β β
β ββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€ β
β β Real-time β Meeting deadlines first β β
β ββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
4. Preemptive vs Non-preemptive Scheduling¶
Non-preemptive Scheduling¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Non-preemptive Scheduling β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β’ Process runs until it voluntarily releases CPU β
β β’ CPU cannot be forcibly taken away β
β β
β CPU Release Points: β
β 1. Process terminates β
β 2. Transitions to waiting state (I/O request) β
β 3. Voluntary yield (yield()) β
β β
β Timeline: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β P1 (10ms) β P2 (5ms) β P3 (3ms) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β P2, P3 wait even if they arrive while P1 runs β
β β
β Advantages: Simple implementation, low context β
β switch overhead β
β Disadvantages: Long response time, long process can β
β monopolize CPU β
β β
β Example Algorithms: FCFS, SJF (non-preemptive) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Preemptive Scheduling¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Preemptive Scheduling β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β’ Scheduler can forcibly take away CPU from process β
β β’ Can immediately allocate CPU to more important β
β process when it arrives β
β β
β CPU Preemption Points: β
β 1. Time slice (Time Quantum) expires β
β 2. Higher priority process arrives β
β 3. Process transitions to Ready after I/O completion β
β β
β Timeline (Round Robin example): β
β ββββββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββ β
β β P1 β P2 β P3 β P1 β P2 β P1 β β
β ββββββββ΄βββββββ΄βββββββ΄βββββββ΄βββββββ΄βββββββ β
β Process switches every time slice β
β β
β Advantages: Better response time, prevents CPU β
β monopolization β
β Disadvantages: Context switch overhead, β
β complex synchronization issues β
β β
β Example Algorithms: RR, SRTF, Priority (preemptive) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Comparison¶
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββ
β Feature β Non-preemptive β Preemptive β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β CPU preemption β Not possible β Possible β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β Response time β Can be long β Short β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β Context switchesβ Few β Many β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β Implementation β Low complexity β High complexity β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β Sync issues β Few β Need race condition β
β β β handling β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββ€
β Suitable for β Batch systems β Interactive/RT β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββ
Scheduling Decision Points¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CPU Scheduling Decision Points β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Running β Waiting (I/O request) [Non-preemptive]β
β β’ Process voluntarily releases CPU β
β β
β 2. Running β Ready (interrupt, timeout) [Preemptive] β
β β’ Time slice expired β
β β’ Higher priority process arrived β
β β
β 3. Waiting β Ready (I/O complete) [Can preempt] β
β β’ Can preempt if completed I/O process has β
β higher priority than current β
β β
β 4. Running β Terminated (exit) [Non-preemptive]β
β β’ Process terminates, need to select next β
β β
β β
β Only 1, 4: Non-preemptive scheduling β
β All 1~4: Preemptive scheduling β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
5. Types of Schedulers¶
Three-Level Scheduler Structure¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3-Level Scheduler Structure β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Job Queue β β
β β All processes on disk β β
β β βββββ βββββ βββββ βββββ βββββ β β
β β βP1 β βP2 β βP3 β βP4 β β...β β β
β β βββββ βββββ βββββ βββββ βββββ β β
β βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ β
β β β
β Long-term Scheduler β
β (Long-term Scheduler) β
β β’ Job admission β
β β’ Control degree of multiprogramming β
β β’ Execution frequency: seconds~minutes β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Ready Queue β β
β β Processes in memory waiting to execute β β
β β βββββ βββββ βββββ β β
β β βP1 βββP2 βββP3 β β β
β β βββββ βββββ βββββ β β
β ββββββββββββββββ¬βββββββββββββββββββββββββ¬ββββββββββββββ β
β β β β
β Short-term Medium-term β
β Scheduler Scheduler β
β (Short-term Scheduler) (Medium-term Scheduler) β
β β’ CPU allocation β’ Swapping β
β β’ Runs every ms β’ Memory management β
β β’ Most frequent β’ Adjust multiprogramming β
β β β β
β βΌ βΌ β
β βββββββββββ βββββββββββββββββ β
β β CPU β β Suspended β β
β β(Running)β β Queue β β
β βββββββββββ βββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Long-term Scheduler (Job Scheduler)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Long-term Scheduler (Job Scheduler) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: β
β β’ Disk jobs β Memory (Ready Queue) β
β β’ Decides which processes to admit to system β
β β’ Controls degree of multiprogramming β
β β
β Decision Criteria: β
β β’ System resource (memory, CPU) status β
β β’ Appropriate mix of CPU-bound and I/O-bound β
β β
β Execution Frequency: Rarely (seconds~minutes) β
β β
β Modern Systems: β
β β’ Rarely used in time-sharing systems β
β β’ All processes go directly to Ready Queue β
β β’ Virtual memory handles memory management β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Short-term Scheduler (CPU Scheduler)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Short-term Scheduler (CPU Scheduler) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: β
β β’ Ready Queue β CPU (Running) β
β β’ Decides which process gets CPU allocation β
β β
β Execution Frequency: Very frequently (milliseconds) β
β β Fast algorithm essential β
β β
β Invocation Points: β
β β’ Time slice expiration β
β β’ Process blocking (I/O request) β
β β’ Process termination β
β β’ Interrupt occurrence β
β β
β Algorithms Used: β
β β’ FCFS, SJF, Priority, Round Robin, MLFQ, etc. β
β β
β Note: Scheduler itself uses CPU time β
β β Need to minimize scheduler overhead β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Medium-term Scheduler (Swapper)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Medium-term Scheduler (Swapper) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Role: β
β β’ Manage swapping β
β β’ Move processes between memory β disk β
β β’ Dynamically adjust degree of multiprogramming β
β β
β Operation: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Memory (Ready/Blocked) β β
β β βββββ βββββ βββββ β β
β β βP1 β βP2 β βP3 β β When memory low, β β
β β βββββ βββββ βββββ swap out P3 β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β swap out β² swap in β
β βΌ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Disk (Suspended) β β
β β βββββ βββββ β β
β β βP4 β βP5 β β Swap in when memory availableβ β
β β βββββ βββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Swap Out Criteria: β
β β’ Long-waiting processes β
β β’ Low priority processes β
β β’ Memory-intensive processes β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Scheduler Comparison¶
ββββββββββββββββββββββ¬βββββββββββββββββ¬βββββββββββββββββ¬βββββββββββββββββ
β Feature β Long-term β Short-term β Medium-term β
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Other name β Job Scheduler β CPU Scheduler β Swapper β
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Transition β DiskβMemory β ReadyβRunning β MemoryβDisk β
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Execution freq β Rarely β Very often β Sometimes β
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Speed requirement β Can be slow β Must be fast β Medium β
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Multiprogramming β Control total β No effect β Dynamic adjustβ
ββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββ€
β Modern systems β Rarely used β Core usage β Replaced by VMβ
ββββββββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββ
6. Dispatcher¶
What is a Dispatcher?¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Dispatcher β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Dispatcher = Module that actually gives CPU control β
β to the process selected by scheduler β
β β
β Scheduler and Dispatcher Relationship: β
β βββββββββββββββββ βββββββββββββββββ β
β β Scheduler β βdecideββΆβ Dispatcher β βexecuteββΆβ
β β "Run P3" β β Perform CPU β β
β β β β allocation β β
β βββββββββββββββββ βββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Dispatcher Tasks¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Dispatcher Tasks β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Context Switch β
β β’ Save current process state to PCB β
β β’ Restore new process state from PCB β
β β
β 2. Switch to User Mode β
β β’ Kernel mode β User mode β
β β
β 3. Restart Program β
β β’ Jump to appropriate location in new process β
β β’ Set PC (Program Counter) β
β β
β Timeline: β
β ββββββββββ¬βββββββββββββββββββ¬βββββββββββββββββββββ β
β β P1 execβ Dispatcher exec β P2 exec β β
β β β(Dispatch latency) β β β
β ββββββββββ΄βββββββββββββββββββ΄βββββββββββββββββββββ β
β β β
β Dispatch Latency (should be as short as possible) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Dispatch Latency¶
Dispatch Latency = Time from stopping current process
to starting new process execution
Components:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β 1. Interrupt handling time β
β 2. Save current process state β
β 3. Execute scheduling algorithm β
β 4. Restore new process state β
β 5. Cache/TLB related costs β
β β
β Typically: 1~10 microseconds β
β β
β Minimization Methods: β
β β’ Efficient scheduling algorithm β
β β’ Optimized context switch code β
β β’ Use hardware support β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
7. Practice Problems¶
Problem 1: Basic Concepts¶
Define the following terms.
- CPU Burst
- Throughput
- Turnaround Time
- Preemptive Scheduling
Show Answer
1. **CPU Burst**: The time period during which a process continuously uses the CPU. The interval of performing only computation without I/O requests. 2. **Throughput**: The number of processes completed per unit time. An indicator of system efficiency. 3. **Turnaround Time**: Total time from when a process is submitted to the system until it completes. Waiting time + Execution time + I/O time. 4. **Preemptive Scheduling**: A scheduling method where the scheduler can forcibly take away CPU from a running process. Occurs at points such as time slice expiration or higher priority process arrival.Problem 2: Time Calculation¶
Calculate the average waiting time and average turnaround time for the following processes. (FCFS scheduling, all processes arrive at time 0)
| Process | Execution Time |
|---|---|
| P1 | 24 |
| P2 | 3 |
| P3 | 3 |
Show Answer
**Gantt Chart:**ββββββββββββββββββββββββββ¬ββββ¬ββββ
β P1 βP2 βP3 β
ββββββββββββββββββββββββββ΄ββββ΄ββββ
0 24 27 30
Problem 3: Scheduler Identification¶
Choose the matching scheduler for each description.
A. Long-term Scheduler B. Short-term Scheduler C. Medium-term Scheduler
- ( ) Must execute very frequently, every millisecond.
- ( ) Selects an appropriate mix of CPU-bound and I/O-bound processes.
- ( ) Swaps processes to disk when memory is low.
- ( ) Decides which process gets CPU allocation.
Show Answer
1. (B) Short-term Scheduler - Executes very frequently, needs fast algorithm 2. (A) Long-term Scheduler - Considers process mix for system balance 3. (C) Medium-term Scheduler - Responsible for swapping 4. (B) Short-term Scheduler - Responsible for CPU schedulingProblem 4: Preemptive vs Non-preemptive¶
Identify whether each situation is preemptive or non-preemptive.
- Process calls exit() and terminates
- Time slice expires and switches to another process
- Process requests I/O and transitions to waiting state
- High priority process arrives in Ready queue and interrupts current process
Show Answer
1. **Non-preemptive** - Process voluntarily terminates 2. **Preemptive** - Scheduler forcibly takes away CPU 3. **Non-preemptive** - Process voluntarily releases CPU 4. **Preemptive** - Scheduler forcibly takes away CPUProblem 5: Dispatcher¶
Describe three main tasks performed by the dispatcher, and explain the impact on the system if dispatch latency is long.
Show Answer
**Main Dispatcher Tasks:** 1. **Context Switch**: Save current process's state (registers, PC, etc.) to PCB and restore new process's state from PCB 2. **Mode Switch**: Transition from kernel mode to user mode 3. **Jump**: Transfer control to the appropriate location (address pointed to by PC) in new process **Impact of Long Dispatch Latency:** - Decreased CPU utilization (reduced percentage of time used for actual work) - Increased response time (slower reaction to user requests) - Decreased throughput (fewer processes completed per unit time) - Increased system overheadNext Steps¶
- 05_Scheduling_Algorithms.md - FCFS, SJF, Priority, RR algorithms