CMD + K

Kapittel 4Begreper & formler · CPU-planlegging: fra FIFO til MLFQ
Referanseside · Kapittel 4

Begreper & formler

Alle nøkkelbegrepene og formlene fra CPU-planlegging: fra FIFO til MLFQ, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards23 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01FIFO

First In, First Out. Den som kom først, kjører først til den er ferdig.

02SJF

Shortest Job First. Velger jobben med kortest total CPU-behov først.

03STCF

Shortest Time-to-Completion First. Preemptiv variant som alltid velger jobben med minst gjenværende tid.

04Round Robin

Hver jobb får et tidskvantum før neste slipper til. Godt for responstid, men gir overhead.

05MLFQ

Multi-Level Feedback Queue. Endrer prioritet dynamisk basert på oppførsel for å favorisere interaktive jobber.

06Starvation

En jobb blir forbigått så lenge at den i praksis nesten aldri får kjøre.

07Fairness

Hvor rettferdig CPU-tid fordeles mellom konkurrerende jobber.

08I/O-bevissthet

Interaktive jobber som ofte blokkerer på I/O bør ikke straffes som om de var CPU-bundne.

09Priority boost

MLFQ-regel der alle jobber periodisk flyttes opp til høyeste prioritetskø. Forhindrer at lange CPU-bundne jobber sulter ut, og lar nye interaktive jobber få respons.

10Time accounting

MLFQ-regel der schedulerns nedrykk er basert på samlet CPU-tid brukt på et nivå, ikke på antall ganger jobben ble preemptert. Hindrer at en jobb gamingen schedulere ved å frivillig slippe CPU akkurat før time slice utløper.

11Time slice / quantum

Maksimal CPU-tid en jobb får før Round Robin/MLFQ tvinger en context switch. Stort quantum → mindre overhead, men dårligere responstid. Lite quantum → bedre respons, men flere context switches.

12Gaming the scheduler

Når en prosess utnytter scheduler-reglene for å få urettferdig mye CPU — f.eks. ved å frivillig slippe CPU rett før time slice utløper, slik at gammel scheduler-versjon ikke registrerer forbruket.

13Kontekstbytte

Å lagre nåværende prosess sin tilstand (registre, PC, minne-mapping) og laste en annens. Tar typisk 1–10µs på moderne CPU-er, og inkluderer cache- og TLB-flushing.

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

turnaround

Turnaround-tid

Logg inn for forklaring

Batch-jobber ønsker ofte lav gjennomsnittlig turnaround.

T_ferdigtidspunktet prosessen ble ferdig
T_ankomsttidspunktet prosessen ankom køen
response

Response-tid

Logg inn for forklaring

Interaktive systemer bryr seg spesielt om denne metrikken.

T_første_kjøringtidspunktet prosessen fikk CPU første gang
slowdown

Slowdown

Logg inn for forklaring

Normaliserer opplevd venting etter hvor stor jobben egentlig er.

mlfq-regelsett

MLFQ-regelsett

Logg inn for forklaring

Lær reglene utenat. Eksamen tester gjerne hva som skjer hvis en regel mangler (f.eks. uten regel 5 → starvation; uten regel 4 → gaming).

trade-off-kvantum

Trade-off i time quantum

Logg inn for forklaring

MLFQ bruker ofte 10 ms øverst og 40+ ms nederst — interaktive jobber merker quantum knapt, batch-jobber unngår overhead.

avg-turn

Snitt turnaround

Logg inn for forklaring

Gjennomsnitt av turnaround-tid over alle prosesser. SJF gir teoretisk minimum når alle jobber er klare samtidig.

stride

Stride pr. prosess

Logg inn for forklaring

I stride-scheduling: jo flere billetter, desto kortere stride, desto oftere blir prosessen valgt.

Cstor konstant (ofte 10000)
billetterprosessens andel av CPU-en
rr-slice

Round-Robin kvantum

Logg inn for forklaring

Typisk tidsvindu pr. prosess i RR. For lite gir høyt switch-overhead, for stort gir dårlig respons.

cfs-slice

CFS time-slice

Logg inn for forklaring

Lengden på tidsvinduet i Linux CFS. Hver tråd får en andel proporsjonalt med sin vekt.

vruntime

Virtual runtime

Logg inn for forklaring

Vekt-justert kjøretid. CFS plukker alltid tråden med lavest vruntime — lavt nice → høy vekt → vruntime vokser saktere → mer CPU.

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Forklare forskjellen på turnaround-tid og responstid, og hvorfor de drar i hver sin retning
  2. 02Sammenligne FIFO, SJF og RR på et eksempel-jobbsett og regne ut snitt-verdier
  3. 03Beskrive de fem MLFQ-reglene og hvilken bug hver av dem hindrer
  4. 04Forklare hvordan CFS bruker vruntime og rød-svart-tre for å plukke neste tråd