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

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

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