अनुशंसित, 2019

संपादक की पसंद

अंतरविरोधी और निर्विवाद मेमोरी आवंटन के बीच अंतर

मेमोरी बाइट्स का एक बड़ा सरणी है, जहाँ प्रत्येक बाइट का अपना पता होता है। मेमोरी आवंटन को दो तरीकों सन्निहित मेमोरी आवंटन और गैर-सन्निहित मेमोरी आवंटन में वर्गीकृत किया जा सकता है। Contiguous और Noncontiguous मेमोरी एलोकेशन के बीच मुख्य अंतर यह है कि सन्निहित मेमोरी एलोकेशन मेमोरी के लिए निरंतर ब्लॉक्स को मेमोरी के लिए अनुरोध करने वाली प्रक्रिया को असाइन करता है, जबकि, noncontiguous मेमोरी एलोकेशन मेमोरी स्पेस में अलग-अलग लोकेशन पर अलग-अलग मेमोरी ब्लॉक को नॉन-कॉनसैनल तरीके से असाइन करता है स्मृति के लिए अनुरोध करने वाली एक प्रक्रिया। हम नीचे दिखाए गए तुलना चार्ट की सहायता से सन्निहित और गैर-सन्निहित स्मृति आवंटन के बीच कुछ और अंतरों पर चर्चा करेंगे।

तुलना चार्ट

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

संकरी स्मृति आवंटन की परिभाषा

ऑपरेटिंग सिस्टम और उपयोगकर्ता की प्रक्रिया दोनों को मुख्य मेमोरी में समायोजित किया जाना चाहिए। इसलिए मुख्य मेमोरी को दो भागों में विभाजित किया जाता है : एक विभाजन में ऑपरेटिंग सिस्टम रहता है और अन्य उपयोगकर्ता प्रक्रियाओं में रहता है। सामान्य परिस्थितियों में, कई उपयोगकर्ता प्रक्रियाओं को एक ही समय में मेमोरी में रहना चाहिए, और इसलिए, प्रक्रियाओं को मेमोरी के आवंटन पर विचार करना महत्वपूर्ण है।

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

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

परिवर्तनीय विभाजन योजना में, ऑपरेटिंग सिस्टम एक तालिका रखता है जो इंगित करता है कि मेमोरी का कौन सा विभाजन मुफ़्त है और प्रक्रियाओं द्वारा कब्जा कर लिया गया है। सन्निहित स्मृति आवंटन पते के अनुवाद के ओवरहेड्स को कम करके एक प्रक्रिया के निष्पादन को तेज करता है।

नॉन-कॉन्टिग्रेटेड मेमोरी एलोकेशन

गैर-सन्निहित स्मृति आवंटन एक प्रक्रिया को इसकी आवश्यकता के अनुसार मेमोरी में अलग-अलग स्थान पर कई मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है। आंतरिक और बाहरी विखंडन के कारण होने वाली स्मृति अपव्यय को भी अनियंत्रित स्मृति आवंटन कम कर देता है। चूंकि यह आंतरिक और बाहरी विखंडन के दौरान बनाए गए मेमोरी होल का उपयोग करता है।

पेजिंग और सेगमेंटेशन दो तरीके हैं जो किसी प्रक्रिया के भौतिक पता स्थान को गैर-सन्निहित होने की अनुमति देते हैं। गैर-सन्निहित स्मृति आवंटन में, प्रक्रिया को ब्लॉक (पेज या सेगमेंट) में विभाजित किया जाता है, जिसे मेमोरी की उपलब्धता के अनुसार मेमोरी स्पेस के विभिन्न क्षेत्र में रखा जाता है।

अनियंत्रित मेमोरी आवंटन में मेमोरी अपव्यय को कम करने का एक फायदा है लेकिन, यह एड्रेस ट्रांसलेशन के ओवरहेड्स को बढ़ाता है। जैसा कि प्रक्रिया के हिस्सों को मेमोरी में एक अलग स्थान पर रखा जाता है, यह मेमोरी के निष्पादन को धीमा कर देता है क्योंकि पता अनुवाद में समय लगता है।

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

कंटिन्यूअस और नॉन-कॉन्टिग्रेंट मेमोरी एलोकेशन के बीच महत्वपूर्ण अंतर

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

निष्कर्ष:

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

Top