1/19
chapter 5
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
CPU utilization
keep the CPU as busy as possible
Throughput
# of processes that complete their execution per time unit
Turnaround time
amount of time to execute a particular process
Waiting time
amount of time a process has been waiting in the ready queue
response time
amount of time it takes from when a request was submitted until the first response is produced.
scheduling algorithm optimization criteria
▪ Max CPU utilization
▪ Max throughput
▪ Min turnaround time
▪ Min waiting time
▪ Min response time
FCFS (First‑Come, First‑Served)
Non‑preemptive; processes run in the order they arrive; simple but can cause long wait times (convoy effect).
SJF (Shortest Job First)
Non‑preemptive; selects the process with the shortest CPU burst; optimal for average waiting time but requires burst‑time prediction.
SRJF (Shortest Remaining Job First)
Preemptive version of SJF; always runs the process with the shortest remaining time; can interrupt running processes.
RR (Round Robin)
Preemptive; each process gets a fixed time quantum in a cycle; good for time‑sharing and fairness.
Multilevel Feedback Queue
A CPU scheduler with multiple priority queues where processes move between levels based on behavior; higher queues run first, usually with Round Robin.
Thread scheduling
determines how user‑level and kernel‑level threads are chosen to run
process-contention scope (PCS)
for user‑level threads competing within a process
system-contention scope (SCS)
for kernel threads competing across the whole system.
Symmetric multiprocessing (SMP)
where each processor is self scheduling.
Load balancing
attempts to keep workload evenly distributed
push mitigation
periodic task checks load on each processor, and if found pushes task from overloaded CPU to other CPUs
pull migration
idle processors pulls waiting task from busy processor
Soft affinity
the operating system attempts to keep a thread running on the same processor, but no guarantees.
Hard affinity
allows a process to specify a set of processors it may run on.