Demand Paging क्या है?
Demand Paging एक memory management technique है जिसमें pages को RAM में तभी लाया जाता है जब उनकी जरूरत होती है।
मतलब:
पूरे program को एक साथ load नहीं किया जाता, बल्कि केवल वही pages load होते हैं जो currently required हैं।
Basic Concept
- Program के सारे pages शुरुआत में RAM में नहीं होते
- कुछ pages RAM में होते हैं, बाकी disk में रहते हैं
- जब किसी page की जरूरत होती है, तब उसे RAM में लाया जाता है
Working of Demand Paging
- Program start होता है
- कुछ pages RAM में load होते हैं
- CPU किसी page को access करता है
- अगर page RAM में नहीं है → Page Fault होता है
- OS उस page को disk से RAM में लाता है
- Execution continue होता है
Page Fault
Page Fault क्या है?
जब CPU जिस page को access करना चाहता है वह RAM में नहीं मिलता, तब Page Fault होता है।
Steps in Page Fault Handling
- OS check करता है कि page valid है या नहीं
- अगर valid है → disk में search किया जाता है
- Free frame मिलता है या replace किया जाता है
- Page को RAM में load किया जाता है
- Page Table update होती है
- Instruction फिर से execute होती है
Advantages of Demand Paging
- Memory saving होती है
- Large programs easily run होते हैं
- Only required pages load होते हैं
- Faster startup time
Disadvantages of Demand Paging
- Page Fault होने पर delay होता है
- Disk access slow होता है
- ज्यादा page faults होने पर performance गिरती है
Example (Conceptual)
मान लो program में 5 pages हैं:
P1, P2, P3, P4, P5
Start में सिर्फ P1 और P2 RAM में हैं
अगर CPU को P4 चाहिए:
- P4 RAM में नहीं है → Page Fault
- OS P4 को disk से RAM में लाता है
Short Conclusion
Demand Paging एक technique है जिसमें pages को RAM में तभी load किया जाता है जब उनकी जरूरत होती है। इससे memory का efficient use होता है, लेकिन page fault होने पर delay आ सकता है।