Fragmentation In Hindi|Fragmentation हिंदी में

हेलो फ्रेंड्स, आज के इस ब्लॉग पोस्ट(Fragmentation In Hindi) में मै आपको Fragmentation के बारे में बताने जा रहा हूँ | आप में से बहुत से लोगो ने ऑपरेटिंग सिस्टम के अंदर इसको स्टडी किया होगा| Fragmentation टर्म मेमोरी मैनेजमेंट से रिलेटेड है |

memory तो है पर फिर भी process को सर्वे नहीं कर पा रहे है इसी problem को Fragmentation(Fragmentation In Hindi) कहते है | तो आइये सबसे पहले fragmentation की definition के बारे में जानते है |

Fragmentation(Fragmentation In Hindi) क्या होता है ?

जब कोई process execute होने के लिए memory में आती है तो वह अपने लिए ममोरी block ढूंढ़ती है अथवा OS उसे allocate करती है | पर यहाँ पर यहाँ पर उसे कुछ memory ब्लॉक ऐसे मिलते है जो उसकी requirement से छोटे होते है और कुछ memory ब्लॉक ऐसे होते है जो उसकी requirement से काफी बड़े होते है |Fragmentation In Hindi|

इस सिचुएशन में OS के लिए इस प्रोसेस को कोई भी मेमोरी ब्लॉक assign करना मुश्किल हो जाता है और इसी सिचुएशन को हम Fragmentation(Fragmentation In Hindi) कहते है |

आईये इसे एक example से समझते है | suppose कीजिये एक process है जिसे execute होने के लिए 10K memory की जरुरत है | पर सिस्टम में जो मेमोरी ब्लॉक अवेलेबल है उनमे से एक 25K साइज का है और दूसरा 5K साइज का है |

तो यहाँ पर OS के लिए यह बड़ा मुश्किल काम है कि वह प्रोसेस को इनमे से कोई भी ब्लॉक allocate करने कि स्थिति में नहीं होती है | जबकि अगर memory की बात कि जाये तो taotal memory अभी काफी amount में है | इसी phenomina को हम Fragmentation कहते है |

चलिए कुछ और शब्दों में इसे समझते है | जो हमारी टोटल मेमोरी होती है उसे पार्टीशन किया जाता है कुछ फिक्स्ड साइज के ब्लॉक और कुछ वेरिएबल साइज memory ब्लॉक | यह पार्टीशन प्रोसेस या तो हम static कर सकते है या फिर dynamic कर सकते है |

जब भी process execute होने के लिए आती है तो उसे उसकी requirement के अनुसार या तो fixed साइज ब्लॉक या फिर variable साइज block असाइन कर दिए जाता है |

पर यह देखा जाता है कि इसके बाद भी हर memory block में कुछ न कुछ unused space बच जाता है | और यह स्पेस Internal भी हो सकता है और External भी हो सकता है |

अब यहाँ पर समस्या तब आती है जब कोई नयी प्रोसेस execute होने के लिए आती है तो उसकी requirement के हिसाब से कोई भी memory block शेष नहीं रहता है | जबकि अगर हम सभी ब्लॉक कि unused मेमोरी को एक साथ मिला ले तो यह उस प्रोसेस की requirement के हिसाब से कही अधिक हो जाती है |

और इसी प्रॉब्लम को हम Fragmentation की problem कहते है | Fragmentation के दो प्रकार होते है एक होता है Internal Fragmentation और दूसरा होता है External Fragmentation |

Internal Fragmentation(Fragmentation In Hindi) क्या होता है ?

जब किसी process ki memory requirement block की मेमोरी से कम होती है तो उस ब्लॉक में कुछ memory बच जाती है और हम इसे unused मेमोरी कहते है | यह मेमोरी waste memory में consider होने लगती है |

जब हम मेमोरी का static partition अथवा fixed size ब्लॉक में पार्टीशन करते है तब अगर हमारी प्रोसेस की डिमांड अगर इन ब्लॉक से कम होती है तो कुछ मेमोरी बच जाती है | और इसे ही हम Internal Fragmentation बोलते है |

internal-fragmentation
Fragmentation in Hindi: Internal fragmentation

example के लिए अगर हम 5K साइज के मेमोरी ब्लॉक बनाते है और हमारी प्रोसेस को 3K मेमोरी की जरुरत होती है तो फिर उस ब्लॉक में 2K memory waste छूट जाती है | और फिर वह मेमोरी सिर्फ तभी use हो सकती है जब इतने ही requirement की कोई प्रोसेस execute होने के लिए आये|

External Fragmentation(Fragmentation In Hindi) क्या होता है ?

जैसा कि हमने Internal Fragmentation में देखा कि fixed size के memory block बनाने की वजह से बहुत सारी memory का waste हो रहा था |

और इसी Internal Fragmentation की problem को solve करने के लिए हम अब memory का dynamic partition करते है | और यहाँ पर जब भी कोई प्रोसस्स मेमोरी में आती है तो उसे उतनी ही मेमोरी का ब्लॉक assign करते है जिससे कि अब memory waste bilkul नहीं होता है |

पर यहाँ पर भी एक प्रॉब्लम आती है | example के लिए हम एक 64mb के मेमोरी ब्लॉक को कुछ प्रोसेस को असाइन करते है |

जैसा कि आप नीचे दिए चित्र में देख सकते है कि यहाँ पर 8mb ऑपरेटिंग सिस्टम use कर रहा है | और बाकी की बची memory होती है वो है 56MB |

अब यहाँ पर सबसे पहले प्रोसेस P1 (20MB) एक्सेक्यूटे होने के लिए आती है | और OS उसे 20mb का एक ब्लॉक allocate कर देता है |

थोड़ी देर बाद एक प्रोसेस p2 (14mb) की मेमोरी में execute होने के लिए आती है और OS उसे 14MB assign कर देता है | और इसके थोड़ी देर बाद सिस्टम में एक तीसरी प्रोसेस अति है P3 (18mb) जिसे सिस्टम 18 MB असाइन कर देता है |

external-fragmentation-content
Fragmentation in hindi: External Fragmentation Example

अब यहाँ पर जो मेमोरी बची होती है वह होती है 4 MB | और इसी बीच एक चौथी प्रोसेस आ जाती है P4 (8mb), पर अब सिस्टम के लिए उसे असाइन करने के लिए कोई भी ब्लॉक नहीं होता, क्योकि 4mb वाला मेमोरी ब्लॉक उसके लिए sufficient नहीं होता है |

पर यहाँ पर OS प्रोसेस p2 को process P4 से swap कर देता है | और यहाँ पर प्रोसेस 4 execute हो जाती है और इसके अतरिक्त 6mb का एक मेमोरी ब्लॉक बच जाता है |

अब OS p2 जिसे उसने suspend कर दिया था उसे process 1 से swap करती है और उसे उस ब्लॉक की memory allocate कर देती है जो कि होती है 20mb और इस मेमोरी में से भी 6mb बच जाते है |

अब यहाँ पर बहुत सारे memory holes create हो जाते है जिन्हे अगर मिला दिया जाये तो 16mb तक की process को serve कर सकते है पर अभी यह सब अलग अलग ब्लॉक में होते है | और इसी मेमोरी होल्स की प्रॉब्लम को हम External Fragmentation कहते है | यहाँ पर डायनामिक तरीके से एलोकेशन करने के बाद भी memory holes अथवा unused memory holes की problem आ जाती है |

पर इस External Fragmentation की समस्या को सुलझाने के लिए हम memory compaction का उपयोग कर सकते है | जिसमे OS एक regular time interval के बाद यहाँ पर ऐसे सभी memory holes को एक contigeous location पर shift करेगा और फिर यह memory block में एक बड़ी process को आसानी से execute कर सकते है |Fragmentation In Hindi|

Conclusion:

तो दोस्तों इस ब्लॉग पोस्ट(Fragmentation In Hindi) में हमने Fragmentation के बारे में डिटेल में जाना और समझा | यह एक memory management तकनीक होती है जिसमे हम waste memory के ब्लॉक को use नहीं कर पातें है और फिर कुछ और तकनीक का use करके हम इस Fragmentation problem को solve करते है | Fragmentation दो प्रकार के होते है एक होता है Internal Fragmentation और दूसरा होता है External Fragmentation | Internal Fragmentation को overcome करने के लिए हम External Fragmentation का उपयोग करते है और External Fragmentation को overcome करने के लिए हम memory compaction का उपयोग करते है |

इस ब्लॉग(Fragmentation In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते [email protected]पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट Fragmentation In Hindi को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.