Introduction (परिचय)
Computer system में CPU सबसे important resource होता है।
अगर CPU idle (खाली) रहे, तो system की efficiency कम हो जाती है।
इस problem को solve करने के लिए Multiprogramming concept use किया जाता है।
Multiprogramming क्या होता है
Multiprogramming एक technique है जिसमें एक ही समय पर memory में multiple programs रखे जाते हैं, और CPU उनके बीच switch करता रहता है।
इसका main उद्देश्य है:
CPU को हमेशा busy रखना

Simple Definition
Multiprogramming वह method है जिसमें कई programs एक साथ memory में रहते हैं और CPU उन्हें one by one execute करता है ताकि CPU idle न रहे।
Working (कैसे काम करता है)
- Multiple programs memory में load रहते हैं
- CPU एक program को execute करता है
- जैसे ही वह program I/O operation के लिए wait करता है
- CPU तुरंत दूसरे program को execute करना शुरू कर देता है
इससे CPU खाली नहीं रहता।
Example (समझने के लिए)
मान लीजिए तीन programs हैं:
- Program A (I/O heavy)
- Program B (CPU task)
- Program C (Calculation)
Process:
- CPU Program A चलाता है
- A I/O के लिए wait करता है
- CPU B पर switch हो जाता है
- फिर C को execute करता है
इस तरह सभी programs progress करते रहते हैं।
Key Features
- Multiple programs in memory
- CPU switching between programs
- No CPU idle time
- Better resource utilization
Multiprogramming का उद्देश्य
- CPU utilization बढ़ाना
- System performance improve करना
- Idle time कम करना
Advantages (फायदे)
- CPU हमेशा busy रहता है
- System efficiency बढ़ती है
- Throughput (काम की मात्रा) बढ़ती है
Disadvantages (कमियाँ)
- Memory management complex हो जाता है
- CPU scheduling की जरूरत होती है
- System design थोड़ा complicated हो जाता है
Multiprogramming vs Single Programming
| Feature | Single Programming | Multiprogramming |
|---|---|---|
| Programs | एक समय में एक | कई programs |
| CPU usage | Idle हो सकता है | हमेशा busy |
| Efficiency | कम | ज्यादा |
Conclusion
Multiprogramming एक important OS technique है जो CPU को idle होने से बचाती है।
यह system की performance को बेहतर बनाती है और resources का efficient use करती है।