2016-07-15 13 views
5

मैं प्रबंधित बनाम अप्रबंधित कोड की अवधारणा के आसपास अपना दिमाग लपेटने की कोशिश कर रहा हूं। अगर मैं गलत हूं तो मुझे सही करें लेकिन प्रबंधित कोड कुछ भी है जो बाइटकोड पर संकलित हो जाता है जबकि अप्रबंधित कोड मशीन कोड पर संकलित हो जाता है।प्रबंधित कोड बनाम अप्रबंधित कोड

क्या यह सही है?

+0

यह कचरा संग्रह के बारे में है, जो प्रबंधित कोड विशिष्ट बनाता है यह है कि जीसी ऑब्जेक्ट संदर्भों को वापस देख सकता है जो कोड का उपयोग करता है। एमएसआईएल को मशीन कोड (जैसे सी सी कंपाइलर सी कोड के साथ करता है) को संकलित करने से परे, इस योजना में जस्ट-इन-टाइम कंपाइलर बहुत महत्वपूर्ण भूमिका निभाता है, यह * एक * तालिका भी उत्पन्न करता है जो जीसी को ऑब्जेक्ट को देखने के लिए कहता है संदर्भ। वह तालिका अंतर है, अप्रबंधित कोड उस तालिका को प्रदान नहीं कर सकता है। –

उत्तर

4

annakata के जवाब से: (! उम्मीद है कि)

प्रबंधित कोड मशीन कोड के लिए, लेकिन एक मध्यवर्ती भाषा है जो एक मशीन पर व्याख्या की है और कुछ सेवा द्वारा निष्पादित और इसलिए के भीतर एक काम कर रहा है के लिए संकलित नहीं है सुरक्षित ढांचा जो आपके लिए स्मृति जैसी खतरनाक चीजें और धागे को संभालता है। आधुनिक उपयोग में इसका अर्थ अक्सर .NET है लेकिन नहीं है।

अप्रबंधित कोड मशीन कोड में संकलित किया गया है और इसलिए ओएस द्वारा सीधे निष्पादित किया गया है। इसलिए हानिकारक/शक्तिशाली चीजें प्रबंधित करने की क्षमता प्रबंधित कोड नहीं है। यह सब कुछ कैसे काम करने के लिए प्रयोग किया जाता है, तो आम तौर पर यह .dlls

अब, क्या हुड के नीचे हो रहा है जैसे पुराने सामान के साथ जुड़े है? प्रबंधित बनाम अप्रबंधित मेमोरी के बारे में सभी है।

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

एक विशाल पार्किंग स्थल की तरह स्मृति को विज़ुअलाइज़ करें। एक प्रबंधित और अप्रबंधित भाषा के बीच का अंतर इस तरह है:

एक प्रबंधित भाषा में, आप वैलेट तक जाते हैं और समझाते हैं कि आप 10 कारों को पार्क करना चाहते हैं। आपको बिल्कुल पता नहीं है, जहां वे पार्क किए गए हैं, लेकिन आप जानते हैं कि वैलेट खुशी से उन्हें आपके लिए कभी भी पुनर्प्राप्त करेगा। आप पर भी का निर्णय नहीं लेते हैं, जहां वे पार्क किए जाते हैं - आप बस उस वैलेट को बताने के लिए कहते हैं जिसे उन्हें पार्क करने की आवश्यकता है।

एक अप्रबंधित भाषा में, यह स्पॉट चुनने का आपका काम है। आप अन्य कारों, पार्क में विकलांग स्थानों में पार्क कर सकते हैं, जो भी - यह आपको बेहतर प्रदर्शन देता है (आपको वॉलेट को लगातार रिले निर्देशों की आवश्यकता नहीं है) लेकिन आप भी कई बेवकूफ/खतरनाक गलतियां कर सकते हैं।

+0

क्या कोई ऐसी प्रबंधित भाषा नहीं है जो मशीन कोड से संकलित हो? मैंने सोचा कि भेद कचरा कलेक्टर होने के बारे में सख्ती से था या नहीं। क्या कोई दूसरा बताता है? – JamesFaix

+0

यदि यह मशीन कोड के लिए संकलित करता है, तो कचरा कलेक्टर जैसी सुविधाओं को जोड़ने का एकमात्र तरीका संकलन के दौरान कोड में एक _enormous_ असेंबली को उत्सर्जित करना होगा। ऐसा कहने के लिए, प्रोवर्बियल 'वैलेट' को कोड की लगभग हर पंक्ति में डालना होगा क्योंकि इसे असेंबली में परिवर्तित किया गया था। – Ares

+0

पुरानी स्कूल एलआईएसपी कमी मशीनों के बारे में क्या?(यह नहीं कि आपको * इसका उत्तर पता होना चाहिए, या यह वास्तव में इन दिनों मायने रखता है।) – JamesFaix

संबंधित मुद्दे