म्हणजे तयार thread ला CPU मिळेल आणि याबाबतचा kernel चा निर्णय. सहसा cores पेक्षा अधिक चालण्याजोगे threads असतात, म्हणून त्यांना multiplex करतो, परस्परविरोधी उद्दिष्टे — , , आणि — यांचा समतोल साधण्याचा प्रयत्न करतो, तसेच टाळतो.
म्हणजे तयार thread ला CPU मिळेल आणि याबाबतचा kernel चा निर्णय. सहसा cores पेक्षा अधिक चालण्याजोगे threads असतात, म्हणून त्यांना multiplex करतो, परस्परविरोधी उद्दिष्टे — , , आणि — यांचा समतोल साधण्याचा प्रयत्न करतो, तसेच टाळतो.
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 मुख्य नियंत्रक — quantum — दर्शवतो:
quantum too SMALL → fair & responsive, but lots of context-switch overhead
quantum too LARGE → less overhead, but degrades toward FCFS (poor responsiveness)
Linux चा दीर्घकाळ default असलेला CFS (Completely Fair Scheduler) होता: निश्चित slices ऐवजी तो प्रत्येक task चा virtual runtime (vruntime) मागोवा घेतो आणि नेहमी आतापर्यंत सर्वात कमी CPU मिळालेला thread चालवतो, त्याच्या nice मूल्यानुसार weighted — "प्रत्येकाला न्याय्य वाटा मिळतो" याचे अंदाजे रूप. तो vruntime नुसार red-black tree ला key करतो, त्यामुळे पुढील task निवडणे O(log n) असते. (नवे kernels EEVDF वापरतात, तेच fairness उद्दिष्ट अधिक घट्ट latency मर्यादांसह असलेली सुधारणा.)
Preemptive vs cooperative: आधुनिक OS preemptive असतात — एक timer interrupt scheduler ला बळजबरीने CPU परत घेऊ देतो, त्यामुळे एक thread एखाद्या core वर मक्तेदारी करू शकत नाही.
Scheduling थेट वापरकर्त्यांना जाणवणारी latency आणि throughput घडवते. Interviewers हे तपासतात की तुम्हाला trade-offs समजतात का — एखादा interactive workload लहान quanta किंवा priority boost का हवा असतो, priority scheduling ला starvation टाळण्यासाठी aging का लागते, आणि job लांबी आधीच माहीत नसताना MLFQ/CFS चांगले interactive वर्तन कसे मिळवतात. nice ट्यून करणे, real-time priorities, आणि एखादी उपाशी किंवा रेंगाळणारी service निदान करणे यामागील मानसिक मॉडेलदेखील हेच आहे.
सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या