ऑपरेटिंग सिस्टम में मेमोरी प्रबंधन: सन्निहित, स्वैपping, विखंडन

⚡ स्मार्ट सारांश

मेमोरी मैनेजमेंट ऑपरेटिंग सिस्टम की वह प्रक्रिया है जिसके द्वारा कंप्यूटर मेमोरी को नियंत्रित और समन्वित किया जाता है, और प्रदर्शन को अनुकूलित करने के लिए चल रहे प्रोग्रामों को ब्लॉक आवंटित किए जाते हैं। tracयह प्रत्येक मेमोरी लोकेशन को स्कैन करता है, प्रक्रियाओं को मुख्य मेमोरी और डिस्क के बीच स्थानांतरित करता है, और प्रक्रियाओं को एक दूसरे से सुरक्षित रखता है।

  • 🧠 परिभाषा: मेमोरी प्रबंधन आवंटन करता है और tracप्रदर्शन को अधिकतम करने के लिए प्रोग्राम चलाने हेतु मेमोरी ब्लॉक का उपयोग किया जाता है।
  • तकनीक: सिंगल कॉन्टिगुअस, पार्टीशन्ड, पेज्ड और सेगमेंटेड एलोकेशन मेमोरी को अलग-अलग तरीके से मैनेज करते हैं।
  • 🔄 विनिमयping: मल्टीप्रोग्रामिंग को बढ़ावा देने के लिए प्रक्रियाएं अस्थायी रूप से मुख्य मेमोरी और एक बैकअप मेमोरी के बीच स्थानांतरित होती हैं।
  • 📑 पेजिंग बनाम सेगमेंटेशन: पेजिंग में निश्चित आकार के फ्रेम का उपयोग होता है; सेगमेंटेशन में परिवर्तनीय लंबाई के सेगमेंट का उपयोग होता है।
  • 🧩 विखंडन: आंतरिक और बाह्य विखंडन से मेमोरी छोटे, अनुपयोगी ब्लॉकों में बर्बाद हो जाती है।
  • 🔗 लोडिंग और लिंकिंग: डायनामिक लोडिंग और लिंकिंग से मेमोरी की बचत होती है क्योंकि ये रूटीन को केवल आवश्यकता पड़ने पर ही लोड करते हैं।

ऑपरेटिंग सिस्टम में मेमोरी प्रबंधन

मेमोरी प्रबंधन क्या है?

मेमोरी प्रबंधन यह कंप्यूटर मेमोरी को नियंत्रित और समन्वित करने की प्रक्रिया है, जिसमें सिस्टम के समग्र प्रदर्शन को अनुकूलित करने के लिए विभिन्न चल रहे प्रोग्रामों को ब्लॉक के रूप में ज्ञात भागों को आवंटित किया जाता है।

ऑपरेटिंग सिस्टम का सबसे महत्वपूर्ण कार्य प्राथमिक मेमोरी का प्रबंधन करना है। यह प्रक्रियाओं को मुख्य मेमोरी और निष्पादन डिस्क के बीच आगे-पीछे जाने में मदद करता है। यह ऑपरेटिंग सिस्टम को सुचारू रूप से चलाने में सहायक होता है। tracप्रत्येक मेमोरी लोकेशन का k मान, चाहे वह किसी प्रोसेस को आवंटित हो या खाली रहे।

मेमोरी प्रबंधन का उपयोग क्यों करें?

मेमोरी मैनेजमेंट का उपयोग करने के कारण निम्नलिखित हैं:

  • यह आपको यह जांचने की अनुमति देता है कि प्रक्रियाओं को कितनी मेमोरी आवंटित की जानी चाहिए, जो यह तय करती है कि किस प्रोसेसर को किस समय मेमोरी मिलनी चाहिए।
  • Tracजब भी इन्वेंट्री खाली या अनआवंटित होती है, तो यह ks कमांड स्थिति को तदनुसार अपडेट करता है।
  • यह अनुप्रयोग रूटीनों के लिए स्थान आवंटित करता है।
  • यह इस बात की भी गारंटी देता है कि ये एप्लिकेशन एक दूसरे के काम में बाधा न डालें।
  • यह विभिन्न प्रक्रियाओं को एक दूसरे से सुरक्षित रखने में मदद करता है।
  • यह प्रोग्रामों को मेमोरी में रखता है ताकि मेमोरी का पूर्ण उपयोग हो सके।

मेमोरी प्रबंधन तकनीक

यहां कुछ सबसे महत्वपूर्ण मेमोरी प्रबंधन तकनीकें दी गई हैं:

एकल सन्निहित आबंटन

यह मेमोरी प्रबंधन की सबसे सरल तकनीक है। इस विधि में, ऑपरेटिंग सिस्टम के लिए आरक्षित एक छोटे से हिस्से को छोड़कर, कंप्यूटर की सभी प्रकार की मेमोरी एक ही एप्लिकेशन के लिए उपलब्ध होती है। उदाहरण के लिए, एमएस-डॉस ऑपरेटिंग सिस्टम इसी तरह मेमोरी आवंटित करता है। एम्बेडेड सिस्टम भी एक ही एप्लिकेशन पर चलता है।

विभाजित आवंटन

यह प्राथमिक मेमोरी को विभिन्न मेमोरी विभाजनों में विभाजित करता है, जो अधिकतर मेमोरी के सन्निहित क्षेत्र होते हैं। प्रत्येक विभाजन किसी विशिष्ट कार्य या जॉब से संबंधित सभी जानकारी संग्रहीत करता है। इस विधि में कार्य शुरू होने पर उसे एक विभाजन आवंटित किया जाता है और कार्य समाप्त होने पर उसे निरस्त कर दिया जाता है।

पृष्ठांकित स्मृति प्रबंधन

यह विधि कंप्यूटर की मुख्य मेमोरी को निश्चित आकार की इकाइयों में विभाजित करती है जिन्हें पेज फ्रेम के रूप में जाना जाता है। यह हार्डवेयर मेमोरी प्रबंधन इकाई पृष्ठों को फ्रेम में मैप करती है जिन्हें पेज के आधार पर आवंटित किया जाना चाहिए।

खंडित स्मृति प्रबंधन

खंडित मेमोरी एकमात्र मेमोरी प्रबंधन विधि है जो उपयोगकर्ता के प्रोग्राम को रैखिक और सन्निहित पता स्थान प्रदान नहीं करती है।

सेगमेंट को सेगमेंट टेबल के रूप में हार्डवेयर सहायता की आवश्यकता होती है। इसमें मेमोरी में सेक्शन का भौतिक पता, आकार और एक्सेस प्रोटेक्शन बिट्स और स्थिति जैसे अन्य डेटा शामिल होते हैं।

स्वैप क्या है?ping?

विनिमयping यह एक ऐसी विधि है जिसमें किसी प्रक्रिया को अस्थायी रूप से मुख्य मेमोरी से बैकअप मेमोरी में स्थानांतरित किया जाता है। बाद में इसे निरंतर निष्पादन के लिए वापस मेमोरी में लाया जाता है।

बैकअप स्टोरेज एक हार्ड डिस्क या कोई अन्य द्वितीयक स्टोरेज डिवाइस है जो सभी उपयोगकर्ताओं के लिए सभी मेमोरी इमेज की प्रतियां रखने के लिए पर्याप्त बड़ी होनी चाहिए। यह इन मेमोरी इमेज तक सीधी पहुंच प्रदान करने में भी सक्षम है।

विनिमयping

अदला-बदली के लाभping

यहां स्वैप के प्रमुख लाभ/फायदे दिए गए हैं।ping:

  • यह उच्च स्तर की मल्टीप्रोग्रामिंग प्रदान करता है।
  • यह गतिशील स्थानांतरण की अनुमति देता है। उदाहरण के लिए, यदि निष्पादन समय पर पता बाइंडिंग का उपयोग किया जा रहा है, तो प्रक्रियाओं को अलग-अलग स्थानों पर स्वैप किया जा सकता है। अन्यथा, संकलन और लोड समय बाइंडिंग के मामले में, प्रक्रियाओं को एक ही स्थान पर ले जाया जाना चाहिए।
  • यह स्मृति का बेहतर उपयोग करने में मदद करता है।
  • कार्य पूर्ण होने पर सीपीयू समय की न्यूनतम बर्बादी होती है, इसलिए इसे प्राथमिकता-आधारित शेड्यूलिंग पद्धति में आसानी से लागू किया जा सकता है ताकि इसके प्रदर्शन में सुधार हो सके।

मेमोरी आवंटन क्या है?

मेमोरी आवंटन एक प्रक्रिया है जिसके द्वारा कंप्यूटर प्रोग्रामों को मेमोरी या स्थान आवंटित किया जाता है।

यहां, मुख्य मेमोरी को दो प्रकार के विभाजनों में विभाजित किया गया है:

  1. कम स्मृति - Operaचीज़ प्रणाली इस प्रकार की स्मृति में रहता है.
  2. उच्च स्मृति – उपयोगकर्ता प्रक्रियाओं को उच्च मेमोरी में रखा जाता है।

विभाजन आवंटन

मेमोरी को अलग-अलग ब्लॉक या पार्टिशन में विभाजित किया जाता है। प्रत्येक प्रक्रिया को आवश्यकता के अनुसार आवंटित किया जाता है। आंतरिक विखंडन से बचने के लिए विभाजन आवंटन एक आदर्श तरीका है।

नीचे विभिन्न विभाजन आवंटन योजनाएँ दी गई हैं:

  • पहला फिट: इस प्रकार के फिट में, पार्टीशन को मुख्य मेमोरी की शुरुआत से पहला पर्याप्त ब्लॉक आवंटित किया जाता है।
  • सबसे अच्छा फिट: यह प्रक्रिया को उपलब्ध मुक्त विभाजनों में से सबसे छोटे पर्याप्त विभाजन को आवंटित करता है।
  • सबसे ख़राब फिट: यह प्रक्रिया को मुख्य मेमोरी में उपलब्ध सबसे बड़े पर्याप्त विभाजन में आवंटित करता है।
  • अगला फ़िट: यह काफी हद तक फर्स्ट फिट के समान है, लेकिन यह फिट अंतिम आवंटन बिंदु से पहले पर्याप्त विभाजन की खोज करता है।

पेजिंग क्या है?

पेजिंग एक स्टोरेज तंत्र है जो ऑपरेटिंग सिस्टम को सेकेंडरी स्टोरेज से प्रक्रियाओं को पेजों के रूप में मुख्य मेमोरी में लाने की अनुमति देता है। पेजिंग विधि में, मुख्य मेमोरी को छोटे-छोटे निश्चित आकार के भौतिक मेमोरी ब्लॉकों में विभाजित किया जाता है, जिन्हें फ्रेम कहा जाता है। मुख्य मेमोरी का अधिकतम उपयोग सुनिश्चित करने और बाहरी विखंडन से बचने के लिए फ्रेम का आकार पेज के आकार के बराबर रखा जाना चाहिए। पृष्ठन इसका उपयोग डेटा तक तीव्र पहुंच के लिए किया जाता है, और यह एक तार्किक अवधारणा है।

विखंडन क्या है?

प्रक्रियाओं को मेमोरी में संग्रहीत किया जाता है और मेमोरी से हटाया जाता है, जिससे मेमोरी में खाली स्थान बन जाते हैं जो अन्य प्रक्रियाओं द्वारा उपयोग किए जाने के लिए बहुत छोटे होते हैं।

कुछ समय बाद, उन प्रक्रियाओं को उनके छोटे आकार के कारण मेमोरी ब्लॉक आवंटित नहीं किए जा सकते, और मेमोरी ब्लॉक हमेशा अप्रयुक्त रहते हैं। इसे विखंडन कहते हैं। इस प्रकार की समस्या गतिशील मेमोरी आवंटन प्रणाली में तब उत्पन्न होती है जब उपलब्ध ब्लॉक काफी छोटे होते हैं, इसलिए वे किसी भी अनुरोध को पूरा करने में सक्षम नहीं होते हैं।

विखंडन विधियाँ दो प्रकार की हैं:

  1. बाह्य विखंडन
  2. आंतरिक विखंडन
  • बाह्य विखंडन को मेमोरी सामग्री को पुनर्व्यवस्थित करके सभी मुक्त मेमोरी को एक ही ब्लॉक में एक साथ रखकर कम किया जा सकता है।
  • आंतरिक विखंडन को सबसे छोटे विभाजन को आवंटित करके कम किया जा सकता है, जो पूरी प्रक्रिया को संभालने के लिए पर्याप्त है।

सेगमेंटेशन क्या है?

सेगमेंटेशन विधि पेजिंग के लगभग समान ही काम करती है। दोनों में एकमात्र अंतर यह है कि सेगमेंट की लंबाई परिवर्तनीय होती है, जबकि पेजिंग विधि में पेज हमेशा निश्चित आकार के होते हैं।

प्रोग्राम सेगमेंट में प्रोग्राम का मुख्य फ़ंक्शन, डेटा संरचना, उपयोगिता फ़ंक्शन आदि शामिल होते हैं। OS सभी प्रक्रियाओं के लिए एक सेगमेंट मैप टेबल बनाए रखता है। इसमें मुख्य मेमोरी या मेमोरी में इसके आकार, सेगमेंट नंबर और मेमोरी स्थानों के साथ-साथ मुक्त मेमोरी ब्लॉक की सूची भी शामिल होती है। आभासी स्मृति.

डायनामिक लोडिंग क्या है?

डायनामिक लोडिंग प्रोग्राम का एक ऐसा रूटीन है जो प्रोग्राम द्वारा कॉल किए जाने तक लोड नहीं होता है। सभी रूटीन को रिलोकेटेबल लोड फॉर्मेट में डिस्क पर रखा जाना चाहिए। मुख्य प्रोग्राम मेमोरी में लोड होगा और निष्पादित होगा। डायनामिक लोडिंग से मेमोरी स्पेस का बेहतर उपयोग भी होता है।

डायनामिक लिंकिंग क्या है?

लिंकिंग एक ऐसी विधि है जो ऑपरेटिंग सिस्टम को कोड और डेटा के विभिन्न मॉड्यूल को एकत्रित करके एक एकल निष्पादन योग्य फ़ाइल में संयोजित करने में सहायता करती है। इस फ़ाइल को मेमोरी में लोड करके निष्पादित किया जा सकता है। ऑपरेटिंग सिस्टम सिस्टम-स्तरीय लाइब्रेरी को प्रोग्राम में लिंक कर सकता है, जिससे लोड होने के समय लाइब्रेरी आपस में जुड़ जाती हैं। डायनेमिक लिंकिंग विधि में, लाइब्रेरी निष्पादन के समय लिंक होती हैं, जिससे प्रोग्राम कोड का आकार छोटा रहता है।

स्थैतिक और गतिशील लोडिंग के बीच अंतर

स्थैतिक लोडिंग गतिशील लोड हो रहा है
स्टैटिक लोडिंग का उपयोग तब किया जाता है जब आप अपने प्रोग्राम को स्टैटिक रूप से लोड करना चाहते हैं। फिर, संकलन के समय, पूरा प्रोग्राम किसी बाहरी मॉड्यूल या प्रोग्राम निर्भरता की आवश्यकता के बिना लिंक और संकलित हो जाएगा। डायनामिकली लोड किए गए प्रोग्राम में, संदर्भ प्रदान किए जाएंगे और लोडिंग निष्पादन के समय की जाएगी।
लोडिंग समय पर, संपूर्ण प्रोग्राम मेमोरी में लोड हो जाता है तथा उसका निष्पादन प्रारंभ हो जाता है। लाइब्रेरी के रूटीन मेमोरी में तभी लोड किए जाते हैं जब प्रोग्राम में उनकी आवश्यकता होती है।

स्टेटिक और डायनामिक लिंकिंग के बीच अंतर

स्टैटिक और डायनेमिक लिंकिंग के बीच मुख्य अंतर इस प्रकार हैं:

स्थैतिक लिंकिंग गतिशील लिंकिंग
स्थैतिक लिंकिंग का उपयोग किसी प्रोग्राम द्वारा आवश्यक सभी अन्य मॉड्यूल को एक ही निष्पादन योग्य कोड में संयोजित करने के लिए किया जाता है। इससे ऑपरेटिंग सिस्टम को किसी भी रनटाइम निर्भरता से बचने में मदद मिलती है। जब डायनेमिक लिंकिंग का उपयोग किया जाता है, तो प्रोग्राम को वास्तविक मॉड्यूल या लाइब्रेरी से लिंक करने की आवश्यकता नहीं होती है। इसके बजाय, यह संकलन और लिंकिंग के समय प्रदान किए गए डायनेमिक मॉड्यूल के संदर्भ का उपयोग करता है।

अक्सर पूछे जाने वाले प्रश्न

पेजिंग मेमोरी को निश्चित आकार के फ्रेम में विभाजित करती है और प्रोग्रामर को दिखाई नहीं देती, जबकि सेगमेंटेशन मेमोरी को प्रोग्राम की तार्किक संरचना के आधार पर परिवर्तनीय लंबाई वाले खंडों में विभाजित करती है। पेजिंग से आंतरिक विखंडन हो सकता है; सेगमेंटेशन से बाह्य विखंडन हो सकता है।

आंतरिक विखंडन आवंटित ब्लॉक के भीतर व्यर्थ स्थान है जब कोई प्रक्रिया ब्लॉक के आकार से कम का उपयोग करती है। बाह्य विखंडन मुक्त स्मृति का छोटे-छोटे बिखरे हुए ब्लॉकों में विभाजन है जो मिलकर पर्याप्त बड़े होते हैं लेकिन किसी अनुरोध को पूरा नहीं कर सकते।

प्रोग्राम के निष्पादन के दौरान सीपीयू द्वारा एक तार्किक (आभासी) पता उत्पन्न किया जाता है। भौतिक पता मुख्य मेमोरी में वास्तविक स्थान होता है। मेमोरी प्रबंधन इकाई (एमएमयू) रनटाइम पर तार्किक पतों को भौतिक पतों में परिवर्तित करती है।

कृत्रिम बुद्धिमत्ता यह अनुमान लगा सकती है कि किसी प्रोग्राम को आगे किन पेजों की आवश्यकता होगी और उन्हें पहले से ही प्राप्त कर सकती है, जिससे कैशिंग और पेज-रिप्लेसमेंट संबंधी निर्णय बेहतर होते हैं। यह मेमोरी लीक का पता लगाने और आवंटन नीतियों को गतिशील रूप से समायोजित करने में भी मदद करती है, जिससे स्वैप मेमोरी कम होती है।ping और समग्र प्रणाली प्रदर्शन में सुधार.

जी हां। एआई आवंटन पैटर्न सीख सकता है और ब्लॉक आकार या संपीड़न समय का चयन कर सकता है जिससे विखंडन कम से कम हो। आवंटन की अवधि का अनुमान लगाकर, यह समान वस्तुओं को एक साथ समूहित करता है, जिससे बिखरी हुई खाली जगह कम हो जाती है और महंगे मेमोरी संपीड़न की आवश्यकता भी कम हो जाती है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: