Dispatcher क्या है? OS में CPU को Process कैसे मिलती है
Dispatcher क्या है? — OS का वो Module जो CPU Actually देता है
Operating System में CPU Scheduler और Dispatcher — दोनों का नाम साथ आता है, लेकिन इन दोनों का काम बिल्कुल अलग है। Dispatcher वह OS module है जो CPU Scheduler द्वारा select की गई process को वास्तव में CPU allocate करता है।
सीधे शब्दों में:
- CPU Scheduler सिर्फ decide करता है — कौन सी process को CPU मिलेगी
- Dispatcher उस decision को execute करता है — और process को CPU पर चला देता है
Definition: Dispatcher is the module that gives control of the CPU to the process selected by the CPU Scheduler.
Dispatcher के मुख्य कार्य — 4 Key Functions
1. Context Switching
यह Dispatcher का सबसे important काम है। जब एक process हट रही है और दूसरी आ रही है, तब:
- पुरानी process का context (registers, program counter, stack) save होता है
- नई process का context PCB से restore होता है
2. Kernel Mode से User Mode में Switch करना
OS का kernel privileged mode में काम करता है। Process को CPU देने से पहले Dispatcher, Kernel Mode से User Mode में switch करता है — ताकि process safely execute हो सके।
3. Program Counter Load करना
Dispatcher नई process का Program Counter set करता है — यानी वो instruction point जहाँ से process को execute शुरू करना है। अगर process पहले से run हो चुकी है, तो वहीं से resume होती है।
4. CPU Allocate करना
ऊपर के तीनों steps पूरे होने के बाद, Dispatcher selected process को CPU सौंप देता है — और वो process running state में आ जाती है।
Dispatcher का Flow — Diagram
Ready Queue
│
▼
CPU Scheduler
(Process Select)
│
▼
Dispatcher
│
┌─────────┴─────────┐
▼ ▼
Save Old Context Load New Context
│
▼
Kernel → User Mode
│
▼
Program Counter Set
│
▼
CPU
│
▼
Running Process ✅
Dispatcher Latency क्या होती है?
Dispatcher Latency वह time है जो CPU Scheduler द्वारा process select करने और Dispatcher द्वारा उस process को actually CPU देने के बीच लगता है।
Formula
Dispatcher Latency = Time to Stop One Process + Time to Start Another Process
यानी — एक process को रोकने में जितना time लगा + नई process शुरू करने में जितना time लगा = Dispatcher Latency।
H3: Dispatcher Latency कम क्यों होनी चाहिए?
अगर Dispatcher Latency ज़्यादा हो, तो इसके सीधे नुकसान हैं:
| Problem | Effect |
|---|---|
| CPU Idle रहता है | Processing रुक जाती है |
| Throughput कम होता है | कम processes complete होती हैं |
| Response Time बढ़ती है | User को delay महसूस होता है |
| Overall Performance गिरती है | System slow लगता है |
इसीलिए हर OS Dispatcher Latency को minimum रखने की कोशिश करता है — यह Context Switching in Operating System की efficiency का सबसे बड़ा indicator है।
CPU Scheduler vs Dispatcher — क्या फर्क है?
यह exam में सबसे common comparison question है। दोनों मिलकर काम करते हैं, लेकिन role अलग-अलग है:
| CPU Scheduler | Dispatcher |
|---|---|
| Process select करता है | Selected process को CPU देता है |
| Scheduling algorithm use करता है | Context Switch करता है |
| Ready Queue पर काम करता है | CPU control transfer करता है |
| Decision लेता है | Decision लागू करता है |
| Selection करता है | Execution शुरू करता है |
एक line में याद रखें — Scheduler सोचता है, Dispatcher करता है।
FAQ — Dispatcher के बारे में Common Questions
Q1. क्या CPU Scheduler और Dispatcher एक ही होते हैं?
नहीं। CPU Scheduler यह decide करता है कि ready queue में से कौन सी process अगली CPU पाएगी। Dispatcher उस decision को implement करता है — context switch, mode change, और CPU allocation करके। दोनों अलग-अलग OS modules हैं जो मिलकर process execution possible बनाते हैं।
Q2. Dispatcher Latency को कैसे कम किया जा सकता है?
Dispatcher Latency को efficient context switching mechanism से कम किया जाता है। इसके अलावा hardware support (जैसे fast register save/restore), lightweight threads का use, और optimized OS kernel भी latency कम करने में मदद करते हैं।
Q3. Dispatcher किस Mode में काम करता है?
Dispatcher खुद Kernel Mode में execute होता है। लेकिन जब वो किसी user process को CPU देता है, तो पहले Kernel Mode से User Mode में switch करता है — यह switch एक critical step है जो process को secure तरीके से execute होने देता है।
💬 Leave a Comment & Rating