Introduction (परिचय)
Computer system में CPU सबसे important resource होता है। लेकिन system में एक समय पर कई processes ready रहते हैं।
अब सवाल यह है:
CPU किस process को पहले execute करे?
इसी problem को solve करने के लिए CPU Scheduling का use किया जाता है।
CPU Scheduling क्या होता है
CPU Scheduling वह process है जिसमें Operating System यह decide करता है कि ready queue में मौजूद processes में से कौन सा process CPU को मिलेगा।

Simple Definition
CPU Scheduling एक technique है जिसके द्वारा OS processes को CPU allocate करता है ताकि system efficiently काम करे।
Basic Idea
- System में कई processes होते हैं
- सभी processes एक queue में wait करते हैं (Ready Queue)
- OS उनमें से किसी एक process को select करता है
- CPU उस process को execute करता है
Process States (Important Concept)
CPU Scheduling को समझने के लिए process states जानना जरूरी है:
1. New
Process create हुआ है
2. Ready
Process CPU के लिए wait कर रहा है
3. Running
Process CPU पर execute हो रहा है
4. Waiting
Process I/O operation के लिए wait कर रहा है
5. Terminated
Process complete हो चुका है
Ready Queue Concept
- सभी ready processes एक queue में रहते हैं
- OS scheduler इस queue से process चुनता है
CPU Scheduler क्या करता है
CPU Scheduler OS का हिस्सा होता है जो:
- Ready queue से process select करता है
- CPU allocate करता है
Dispatcher क्या होता है
Dispatcher वह component है जो:
- Selected process को CPU देता है
- Context switch करता है
Context Switching
जब CPU एक process से दूसरे process पर switch करता है, उसे Context Switching कहते हैं।
इसमें:
- Current process का state save होता है
- Next process load होता है
Types of Scheduling
1. Non-Preemptive Scheduling
- Process CPU तब तक रखता है जब तक वह complete न हो जाए
Example:
FCFS
2. Preemptive Scheduling
- OS process को बीच में रोककर दूसरे process को CPU दे सकता है
Example:
Round Robin
Example
मान लीजिए 3 processes हैं:
- P1
- P2
- P3
Process flow:
- सभी ready queue में हैं
- OS P1 को select करता है
- P1 execute करता है
- फिर P2 और P3 को chance मिलता है
Key Points
- CPU Scheduling = CPU allocation decision
- Ready Queue = waiting processes
- Scheduler = process select करता है
- Dispatcher = process को CPU देता है
Conclusion
CPU Scheduling Operating System का एक महत्वपूर्ण concept है, जो यह सुनिश्चित करता है कि CPU का उपयोग efficiently हो और सभी processes को उचित समय पर execute होने का मौका मिले।