Page replacement algorithms in hindi
आज हम इस पोस्ट में Page Replacement Algorithms के बारे में पढेंगे तो चलिए शुरू करते है.
PAGE :- page को virtual page या memory page कहते हैं। virtual memory जो है वह समान आकार के block में divide होती है जिन्हें page कहते हैं। page, मेमोरी मैनेजमेंट में data की सबसे छोटी unit होते है
इसी तरह Frame, फिजिकल मैमोरी के समान आकार के block को कहते है।
Page replacement algorithms एक ऐसी Technique है जिसमें operating system निश्चित करता है कि DISK पर लिखने के लिए memory को page की आवश्यकता होती है तो कौन से page को swap out करना है और किस को नही.
page replacement तब किया जाता है जब main memory में requested page नहीं मिलता है.
Operating system में निम्न प्रकार के Page replacement algorithms है।
- FIFO Page replacement algorithms
- Optiml Page replacement algorithm
- LRU Page replacement algorithms
- LFU Page replacement algorithm
- MFU Page replacement algorithm
- Second chance Page replacement algorithms
Page fault :- यह एक प्रकार का interrupt है यह तब होता है जब हम नये process के लिए मेमोरी allot करते है या page replace करते हैं।
Page hit:– यह तब होता है जब कोई same process मैमोरी के लिए request करती है जो पहले से ही मैमोरी मे है।
FIFO Page replacement algorithm in hindi:-
इसे first in first out Page replacement algorithms कहते है। इसमें operating system एक fifo queue रखता है ताकि मेमोरी के सभी pages को track कर सकें।
fifo queue मे सबसे पहले आने वाले page (सबसे पुराने page ) को queue के प्रारंभ में तथा सबसे अंत मे आने वाले page ( सबसे नये page ) को fifo queue में सबसे अंत में रखा जाता है। fifo queue में जो page सबसे पहले आता है उसी page को सबसे पहले replace करते है।
इसकी एक समस्या belody’s anomaly है। जितने कम frame होंगे उतनी ही ज्यादा page fault rate होगी । ऐसा कुछ cases में ही होता हैं।
अब हम इसे एक example से समझते हैं।
यहाँ (+) = page fault
(*) = page hit
हमने इसमें तीन frame लिये है।
सबसे पहले 2,3,4 पेज को empty slots मिल गये तो तीन बार page fault होगा
अब हम 1 no . Page को 2 से replace करेगे क्योंकि 2 सबसे पहले आया है इसी तरह 7 no . Page के लिए 3 को रिप्लेस किया
फिर 4 no.page के लिए कोई page replace नही होगा क्योंकि यह पहले से ही मेमोरी मे है। यहां page hit होगा ।
4 no.page के लिए 2 को replace करेगे 5 के लिए 1 को रिप्लेस करेंगे
अब 7 पहले से ही मेमोरी मे है तो पेज hit होगा कोई पेज replace नही होगा। फिर 1 के लिए 7 को रिप्लेस करेंगे
इसी तरह इस उदाहरण मे 8 page fault व 2 page hit होगे।
Optimal Page replacement algorithm in hindi:-
इसमें page fault rate बहुत कम होती हैं। जो page लंबे समय तक use नहीं होता है उसी page को रिप्लेस किया जाता हैं।यह future मे देखता है।मतलब जो page future में late यूज़ होगा उसे पहले replace किया जाएगा।
लेकिन हम इसे practically implement नहीं कर सकते क्योंकि वास्तव मे यह पता लगाना मुश्किल होता है की कोनसे page का use future मे कब होगा।
आइये इसे एक उदाहरण के द्वारा देखते है:-
यहा (+) = page fault
(*) = page hit
हमने इसमें तीन frame लिये है।
सबसे पहले 2,3,1 को empty slots मिल गये तो तीन बार page fault होगा
अब हम 5 को 1 से replace करेंगे क्योंकि future मे यह late use होगा 3 पहले से ही है तो page hit होगा
4 को 3 से replace करेंगे ।
7 को 4 से replace क्योंकि 4 का use late होगा।
2 पहले से ही है तो page hit होगा
5 भी मेमोरी मे पहले से ही है तो वापस page हिट होगा
4 को हम 2 से replace करेंगे क्योंकि 2, 5, 7 में से 2 पहले आया है.
क्योंकि यहाँ पर 4 के बाद कोइ page नहीं है तो fifo use करेंगे।
LRU Page replacement algorithm in hindi :-
इसे least recently used page replacement algorithm कहते है। इसमे उस page को replace किया जाता है जिस page का प्रयोग memory में लंबे समय से नही किया गया है। यह past side में देखता है। यह भी optimal page replacement की तरह ही है लेकिन यह past side में देखता है।
इस algorithm को practically use लेना आसान है । इस algorithm की मान्यता है कि जो पेज लंबे समय से use नहीं हुए है वो अब भी late use होंगे।
आइये इसे उदाहरण के द्वारा देखते है.
यहा (+) = page fault
(*) = page hit
Page fault =9, page hit=1
हमने इसमें तीन frame लिये है।
सबसे पहले 2, 1 को empty slots मिल गये तो 2 बार page fault होगा
फ़िर 1 पहले से ही है तो पेज hit होगा
फिर 3 के लिए memory में empty slot है तो कोई page replace नहीं होगा।और page fault हो जाएगा।
5 no. पेज मेमोरी में नही है तो इसके लिए हम उस page को replace करेंगे जो काफी समय से use नही हुआ है। यहा पर 2 का use नही हुआ है तो हम इससे ही replace कर देगे।
इसी तरह 2no.page को 1 से, 0 को 3 से ,3 को 5 से replace करेंगे।
1 को 3 से रिप्लेस करेगे फिर 5 को 0 से replace करेंगे।
LFU Page replacement algorithms hindi
इसे least frequently used page replacement algorithm कहते है। यह fifo का modified version है। इसमें frequency का use किया जाता है।इसमें page replacement के लिए उस पेज choose किया जाता हैं जिसकी फ्रीक्वेंसी सबसे कम हो।अगर FRAME में उपलब्ध सभी pages की frequency same हो तो जो page पहले आया है उसे replace करेंगे fifo की तरह। इसमे frequency कम ज्यादा होती हैं।
उदाहरण के लिए
यहा (+) = page fault
(*) = page hit
यह फ्रीक्वेंसी chart है जिसमें page के आने से फ्रीक्वेंसी कम ज्यादा हो रही है।
5 | 0 | 1 | 0 | ||||||
4 | 0 | 1 | 0 | 1 | 0 | ||||
3 | 0 | 1 | 0 | 1 | |||||
2 | 0 | 1 | 2 | 1 | 0 | ||||
1 | 0 | 1 | 0 | 1 | |||||
0 | 0 | 1 |
सबसे पहले सभी pages को 0 फ्रीक्वेंसी दे दी।फिर जैसे ही और प्रोसेस स्टार्ट होगी फ्रीक्वेंसी कम ज्यादा होगी।
हमने इसमें तीन frame लिये है।
सबसे पहले 5, 4, 2 को empty frame मिल गया और इनकी फ्रीक्वेंसी 1 हो गयी।
फिर 3 के लिए 5 को replace किया क्योंकि 5 सबसे पहले आया। इसमे तीनों की फ्रीक्वेंसी समान होने के कारण fifo method use kiya।
1 पहले से ही मेमोरी मे हैं तो page hit होगा और 2 की फ्रीक्वेंसी 1 से बढ़कर 2 हो जाएगी।
फिर 4 को 1 से replace किया तो 4 की फ्रीक्वेंसी 0 तथा 1 की 1 , 2 की 1 हो गयी
फिर 3 को 4 से रिप्लेस किया। फ्रीक्वेंसी 4 की 1 व 3 की 0 ही गयी
फिर 2 को 0, 1 को 3 , 4 को 1 से रिप्लेस किया। इन् तीनों मे लीस्ट फ्रीक्वेंसी के बाद fifo का use किया गया
MFU Page replacement algorithms in hindi
इसे most frequently used page replacement algorithm कहते है। यह LFU page replacement algorithm के बिल्कुल विपरीत है। इसमें भी frequency का use किया जाता है।इसमें रिप्लेस के लिऐ उन pages को सेलेक्ट किया जाता हैं जिनकी frequency सबसे ज्यादा हो। इसमे जिन पेजेज का use ज्यादा होगा उन्हें ही replace किया जायेगा.
Second chance Page replacement algorithms in hindi
यह भी fifo का modified version है। इसमें reference bit का use किया जाता है। प्रत्येक page को एक reference bit दी जाती है।
Reference bit:- यह बताती हैं कि क़ोई page कितनी बार memory में आया है और replace नही हुआ। refernce बिट 0 हो तो पेज केवल 1 बार आया है और 1 हो तो पेज 2 बार आया है औऱ replace नही हुआ। अगर page hit हो जाता है तो reference bit बढ जाती है और यदि page fault हो जाता है तो reference bit कम हो जाती है।
अगर frame के सभी पेज की reference बिट 0 होती है तो fifo algorithm use करते हैं और यदि किसी page की reference bit 1 हो तो उस page को छोड़ कर fifo का use किया जाता है।
उदाहरण के लिए
यहा (+) = page fault
(*) = page hit
यहा 1, 3 को empty slot मिल गए 2 पेज फाल्ट हो गए ।
1 पहले से ही मेमोरी में है तो पेज hit होगा। 1 की रेफरेन्स बिट 1 हो जाएगी. 2 को भी empty स्लॉट मिल गया तो पेज फाल्ट होगा.
3 को 5 से रिप्लेस किया 1 no पेज की 1 बिट थी तो 3 और 2 में से जो भी पहले आया वो है 3 तो उसी से replace किया।1 को second chance दिया।1 की रेफरेन्स बिट फिर से 0 हो गयी ।इसी तरह बाकी process को भी किया गया।
निवेदन:- अगर आपके लिए यह पोस्ट helpful रही हो तो कमेंट के माध्यम से बताइए तथा इसे अपने दोस्तों के साथ share करें.
A very helpful….
Thanks a lot ❣️
thanks diksha for your kind words
how question to solve
Very very thank you so much sir
Very very thanks