ni uamuzi wa kernel wa iliyotayari itapata CPU , na kwa . Kwa kuwa kwa kawaida kuna thread zinazoweza kukimbia nyingi kuliko cores, huzichanganya (multiplex), ikilenga kusawazisha malengo yanayoshindana — , , na — huku ikiepuka .
ni uamuzi wa kernel wa iliyotayari itapata CPU , na kwa . Kwa kuwa kwa kawaida kuna thread zinazoweza kukimbia nyingi kuliko cores, huzichanganya (multiplex), ikilenga kusawazisha malengo yanayoshindana — , , na — huku ikiepuka .
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 huonyesha kifundo kikuu — quantum:
quantum too SMALL → fair & responsive, but lots of context-switch overhead
quantum too LARGE → less overhead, but degrades toward FCFS (poor responsiveness)
Chaguo-msingi la muda mrefu la Linux lilikuwa CFS (Completely Fair Scheduler): badala ya vipande vilivyowekwa, hufuatilia virtual runtime (vruntime) ya kila task na daima hukimbia thread iliyopokea CPU kidogo zaidi hadi sasa, ikipimwa uzito kwa thamani yake ya nice — ikikaribia "kila mmoja hupata sehemu ya haki." Huweka funguo kwenye red-black tree kwa vruntime, hivyo kuchagua task inayofuata ni O(log n). (Kernels mpya zaidi hutumia EEVDF, uboreshaji wenye lengo lile lile la usawa pamoja na mipaka mikali zaidi ya latency.)
Preemptive dhidi ya cooperative: OS za kisasa ni preemptive — timer interrupt huruhusu scheduler kunyakua CPU kwa nguvu, hivyo thread moja haiwezi kuhodhi core.
Scheduling huchagiza moja kwa moja latency na throughput ambavyo watumiaji huvihisi. Wahoji huchunguza hili kuona kama unaelewa trade-offs — kwa nini kazi ya kimwingiliano (interactive) hutaka quanta fupi au boost ya kipaumbele, kwa nini priority scheduling inahitaji aging kuzuia starvation, na jinsi MLFQ/CFS zinavyopata tabia nzuri ya kimwingiliano bila kujua urefu wa kazi mapema. Pia ni mfumo wa kifikra nyuma ya kurekebisha nice, vipaumbele vya real-time, na kutambua service iliyofishwa njaa au yenye kuchelewa.
Maktaba ya maswali ya mahojiano ya IT yenye majibu ya kina — kutoka Junior hadi Senior.
Changia