यह आम तौर पर ओएस पर निर्भर है, लेकिन यह इतना की तरह आम तौर पर बताया गया है:
सब कुछ राम को चला जाता है। द्विआधारी हार्ड ड्राइव में रहता है, लेकिन, जब दौड़ता है, निर्भर पुस्तकालयों के साथ, रैम में पूरी तरह से लोड किया जाता है।
ढेर और ढेर कार्यान्वयन विवरण हैं, लेकिन वे रैम में भी रहते हैं।
हालांकि रैम में लोड किया गया, स्मृति सीधे पता योग्य नहीं है। ऑपरेटिंग सिस्टम प्रत्येक प्रक्रिया के लिए वर्चुअल मेमोरी आवंटित करता है। इसका मतलब है कि पता 0x001
वास्तव में रैम में 0x001
पर स्थित नहीं है, लेकिन वर्चुअल एड्रेस स्पेस में एक पता का प्रतिनिधित्व करता है।
संपादित करें:
बाइनरी पूरी तरह या आंशिक क्रम में लोड कर रहे हैं: सेशन की टिप्पणी से एक के लिए स्पष्टीकरण? और, क्या वे बाइनरी केवल एक बार रनटाइम पर पहुंचे हैं या लगातार हार्डड्राइव से पढ़ रहे हैं?
उदाहरण के लिए, एमएस में, यदि आप लाइब्रेरी के खिलाफ लिंक करते हैं, तो यह प्रोग्राम की शुरुआत में रनटाइम पर पूरी तरह से लोड हो जाएगा। यदि आप प्रोग्राम को LoadLibrary()
के माध्यम से प्रोग्रामेटिक रूप से लोड करते हैं, तो इसे फ़ंक्शन कॉल पर मेमोरी में लोड किया जाता है, और इसे स्मृति से अनलोड किया जा सकता है।
स्रोत
2012-03-24 18:39:37
मैं होमवर्क या परीक्षा की तैयारी गंध के माध्यम से मतलब है :) कि सब के सब जब तक प्रश्न उचित रूप से टैग किया जाता है ठीक है,। – dasblinkenlight
* प्रोग्रामिंग भाषाओं * और * कंप्यूटिंग हार्डवेयर * मिश्रण न करें। पूर्व एक भाषा है, बाद में जब आप इसे मंजिल पर छोड़ देते हैं तो टूट जाता है। प्रोग्रामिंग भाषाओं का उपयोग * कंप्यूटर * को * निर्देशित करने के लिए किया जा सकता है, लेकिन वे पहले और सबसे महत्वपूर्ण एक अमूर्त निर्माण हैं। –
@ केरेक एसबी: अगर मैं कह सकता हूं तो सी ++ कंप्यूटर को अंत में कहने के लिए कहां कहता है? – Maiss