er kernelens beslutning om klar tråd som får CPU-en , og for . Siden det vanligvis er flere kjørbare tråder enn cores, multiplekser dem, med mål om å balansere konkurrerende hensyn — , og — samtidig som unngås.
er kernelens beslutning om klar tråd som får CPU-en , og for . Siden det vanligvis er flere kjørbare tråder enn cores, multiplekser dem, med mål om å balansere konkurrerende hensyn — , og — samtidig som unngås.
FCFS (first-come, first-served) → simple, but one long job blocks everyone (convoy effect)
SJF (shortest job first) → optimal avg wait, but needs to know job length; can starve long jobs
Round-robin (RR) → each job a fixed TIME SLICE (quantum), cycle through → fair, good latency
Priority → highest priority first → can STARVE low priority (fix: aging)
MLFQ (multi-level feedback) → several priority queues; jobs that use a full quantum sink,
interactive jobs that yield stay high → approximates SJF without knowing lengths
Round-robin illustrerer den sentrale justeringsknappen — quantum:
quantum too SMALL → fair & responsive, but lots of context-switch overhead
quantum too LARGE → less overhead, but degrades toward FCFS (poor responsiveness)
Linux sin mangeårige standard var CFS (Completely Fair Scheduler): i stedet for faste tidsluker sporer den hver tasks virtual runtime (vruntime) og kjører alltid tråden som har fått minst CPU så langt, vektet etter sin nice-verdi — en tilnærming til "alle får en rettferdig andel." Den nøkler et rød-svart tre etter vruntime, så å plukke neste task er O(log n). (Nyere kerneler bruker EEVDF, en forbedring med samme rettferdighetsmål pluss strammere latency-grenser.)
Preemptive vs cooperative: moderne OS-er er preemptive — et timer interrupt lar scheduleren tvangsmessig ta CPU-en tilbake, så én tråd ikke kan monopolisere en core.
Scheduling former direkte den latencyen og throughputen brukere føler. Intervjuere graver i det for å se om du forstår avveiingene — hvorfor en interaktiv arbeidsmengde vil ha korte quanta eller et prioritetsløft, hvorfor prioritets-scheduling trenger aging for å hindre starvation, og hvordan MLFQ/CFS oppnår god interaktiv oppførsel uten å kjenne jobblengder på forhånd. Det er også den mentale modellen bak justering av nice, sanntidsprioriteter og diagnostisering av en utsultet eller treg tjeneste.
Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner