यह सिर्फ एक डिफ़ॉल्ट आकार है। यदि आपको अधिक आवश्यकता है, तो आप अतिरिक्त स्टैक स्थान आवंटित करने के लिए लिंकर को बताकर अधिक बार प्राप्त कर सकते हैं।
बड़े स्टैक्स होने का नकारात्मक पक्ष यह है कि यदि आप कई धागे बनाते हैं, तो उन्हें प्रत्येक स्टैक की आवश्यकता होगी। यदि सभी स्टैक मल्टी-एमबी आवंटित कर रहे हैं, लेकिन इसका उपयोग नहीं कर रहे हैं, तो अंतरिक्ष बर्बाद हो जाएगा।
आपको अपने कार्यक्रम के लिए उचित संतुलन खोजना होगा।
@BJovke जैसे कुछ लोगों का मानना है कि वर्चुअल मेमोरी अनिवार्य रूप से मुफ्त है। यह सच है कि आपको सभी वर्चुअल मेमोरी का समर्थन करने के लिए भौतिक मेमोरी की आवश्यकता नहीं है। आपको वर्चुअल मेमोरी को कम से कम एड्रेस देने में सक्षम होना चाहिए।
हालांकि, एक विशिष्ट 32-बिट पीसी पर वर्चुअल मेमोरी का आकार भौतिक मेमोरी के आकार के समान है - क्योंकि हमारे पास किसी भी पते, वर्चुअल या नहीं के लिए केवल 32 बिट्स हैं।
क्योंकि प्रक्रिया में सभी थ्रेड्स समान पता स्थान साझा करते हैं, इसलिए उन्हें इसे उनके बीच विभाजित करना होगा। और ऑपरेटिंग सिस्टम ने अपना हिस्सा लेने के बाद एक आवेदन के लिए "केवल" 2-3 जीबी छोड़ दिया है। और वह आकार भौतिक और आभासी मेमोरी दोनों के लिए सीमा है , क्योंकि वहाँ कोई और पते नहीं हैं।