


कंप्यूटर विज्ञान और प्रोग्रामिंग में आवंटन को समझना
कंप्यूटर विज्ञान और प्रोग्रामिंग के संदर्भ में, आवंटन एक प्रोग्राम में एक चर या ऑब्जेक्ट को मेमोरी स्पेस निर्दिष्ट करने की प्रक्रिया को संदर्भित करता है। जब कोई वेरिएबल या ऑब्जेक्ट बनाया जाता है, तो उसके डेटा को स्टोर करने के लिए एक निश्चित मात्रा में मेमोरी की आवश्यकता होती है। आवंटन में वेरिएबल या ऑब्जेक्ट के उपयोग के लिए उस मेमोरी स्पेस को अलग रखना शामिल है। उदाहरण के लिए, यदि आप अपने प्रोग्राम में पूर्णांकों की एक सरणी बनाते हैं, तो मेमोरी एलोकेटर (जो आमतौर पर ऑपरेटिंग सिस्टम का हिस्सा होता है) मेमोरी का एक सन्निहित ब्लॉक आवंटित करेगा। सभी पूर्णांकों को सरणी में संग्रहीत करें। मेमोरी के उस ब्लॉक के भीतर प्रत्येक पूर्णांक का अपना स्लॉट होगा, और ब्लॉक का आकार उन पूर्णांकों की संख्या पर निर्भर करेगा जिन्हें आप सरणी में संग्रहीत करना चाहते हैं।
आवंटन कई प्रकार के होते हैं, जिनमें शामिल हैं:
1. स्टैक आवंटन: यह स्टैक पर एक वेरिएबल या ऑब्जेक्ट के लिए मेमोरी आवंटित करने की प्रक्रिया है, जो अस्थायी भंडारण के लिए उपयोग की जाने वाली मेमोरी का एक क्षेत्र है। स्टैक पर आवंटित वेरिएबल और ऑब्जेक्ट आमतौर पर छोटे और अल्पकालिक होते हैं।
2। हीप आवंटन: यह हीप पर एक वेरिएबल या ऑब्जेक्ट के लिए मेमोरी आवंटित करने की प्रक्रिया है, जो दीर्घकालिक भंडारण के लिए उपयोग की जाने वाली मेमोरी का एक क्षेत्र है। ढेर पर आवंटित चर और वस्तुएं आम तौर पर बड़ी और लंबे समय तक जीवित रहने वाली होती हैं।
3. गतिशील आवंटन: यह संकलन समय के बजाय रनटाइम पर एक चर या ऑब्जेक्ट के लिए मेमोरी आवंटित करने की प्रक्रिया है। यह आवंटित की जा सकने वाली मेमोरी की मात्रा के संदर्भ में अधिक लचीलेपन की अनुमति देता है, साथ ही उन वस्तुओं के लिए मेमोरी आवंटित करने की क्षमता भी देता है जो रनटाइम तक ज्ञात नहीं हैं।
4। कचरा संग्रहण: यह स्वचालित रूप से उस मेमोरी को पुनः प्राप्त करने की प्रक्रिया है जो पहले उन वस्तुओं के लिए आवंटित की गई थी जो अब उपयोग में नहीं हैं। यह मेमोरी लीक को रोकने में मदद करता है और यह सुनिश्चित करता है कि मेमोरी का कुशलतापूर्वक उपयोग किया जाए।



