मुख्य अंतर - लिंकर बनाम लोडर
कंप्यूटर को निर्देश देने के लिए एक कंप्यूटर प्रोग्राम का उपयोग किया जाता है। यह एक विशिष्ट प्रोग्रामिंग भाषा का उपयोग करके लिखा गया है। प्रोग्रामिंग भाषाएं जैसे सी, जावा उच्च स्तरीय प्रोग्रामिंग भाषाएं हैं और इन्हें इंसानों द्वारा समझा जा सकता है लेकिन कंप्यूटर द्वारा नहीं। इसलिए, भाषा अनुवादक का उपयोग करके एक उच्च स्तरीय कार्यक्रम को मशीनी भाषा में परिवर्तित किया जाता है। उच्च स्तरीय भाषा का प्रयोग करके लिखा गया प्रोग्राम एक सोर्स कोड होता है। रूपांतरण के बाद, अनुवादित कोड को ऑब्जेक्ट कोड कहा जाता है। लिंकर और लोडर दो सॉफ्टवेयर प्रोग्राम हैं जिनका उपयोग प्रोग्राम निष्पादन के लिए किया जाता है। यह लेख लिंकर और लोडर के बीच अंतर पर चर्चा करता है।लिंकर वह सॉफ़्टवेयर है जो ऑब्जेक्ट कोड को अतिरिक्त फ़ाइलों जैसे हेडर फ़ाइलों के साथ जोड़ता है और.exe एक्सटेंशन के साथ एक निष्पादन योग्य फ़ाइल बनाता है। लोडर वह सिस्टम सॉफ़्टवेयर है जो लिंकर द्वारा उत्पन्न निष्पादन योग्य फ़ाइल को मुख्य मेमोरी में लोड करता है। लिंकर और लोडर के बीच यही मुख्य अंतर है।
लिंकर क्या है?
कंप्यूटर प्रोग्राम एक निश्चित कार्य को करने के लिए कंप्यूटर को दिए गए निर्देशों का एक समूह है। एक प्रोग्रामिंग भाषा का उपयोग करके एक कंप्यूटर प्रोग्राम लिखा जा सकता है। अधिकांश प्रोग्रामिंग भाषाएं उच्च स्तरीय प्रोग्रामिंग हैं। वे प्रोग्रामर द्वारा आसानी से समझने योग्य और पठनीय हैं। वे भाषाएं अंग्रेजी भाषा के समान वाक्य रचना का पालन करती हैं। उच्च स्तरीय भाषाओं के कुछ उदाहरण जावा, सी और पायथन हैं। उच्च-स्तरीय प्रोग्रामिंग भाषा का उपयोग करके लिखे गए प्रोग्राम को सोर्स कोड, सोर्स फाइल या सोर्स प्रोग्राम के रूप में जाना जाता है। स्रोत कोड का विस्तार उस भाषा पर निर्भर करता है जिसके साथ इसे विकसित किया गया था। यदि स्रोत कोड C++ में लिखा गया है, तो फ़ाइल एक्सटेंशन.सीपीपी यदि स्रोत कोड पायथन में लिखा गया है, तो एक्सटेंशन.py. है
यहां तक कि सोर्स कोड को भी प्रोग्रामर समझ सकता है; यह कंप्यूटर द्वारा समझ में नहीं आता है। इसलिए, स्रोत कोड को भाषा अनुवादक का उपयोग करके मशीन समझने योग्य प्रारूप में परिवर्तित किया जाना चाहिए। यह एक कंपाइलर या एक दुभाषिया हो सकता है। अनुवादित कोड को ऑब्जेक्ट कोड के रूप में जाना जाता है। ऑब्जेक्ट कोड मशीनी भाषा में है। इसमें शून्य और एक बार होते हैं। कंप्यूटर सीधे ऑब्जेक्ट कोड को समझ सकता है। इसका विस्तार.obj है। यदि Test.c के रूप में कोई स्रोत कोड है, तो यह संकलक के माध्यम से जाता है और परिवर्तित कोड Test.obj बन जाता है।
लिंकर वह सॉफ़्टवेयर है जो ऑब्जेक्ट कोड को अतिरिक्त फ़ाइलों जैसे हेडर फ़ाइलों से जोड़ता है और.exe एक्सटेंशन के साथ एक निष्पादन योग्य फ़ाइल बनाता है। कार्यक्रम में अंतर्निहित कार्यों का उपयोग हो सकता है। उन अंतर्निहित कार्यों के लिए कार्यक्षमता शीर्षलेख फ़ाइलों में हैं। ऊपर बताए गए उदाहरण के अनुसार, ऑब्जेक्ट कोड जो टेस्ट है।obj लिंकर का उपयोग करके आवश्यक शीर्षलेख फ़ाइलों के साथ जोड़ा जाता है। यह Test.exe नामक एक नई फ़ाइल बनाता है। यह एक निष्पादन योग्य फ़ाइल है। इसलिए, यह कंप्यूटर द्वारा निष्पादन योग्य है।
लोडर क्या है?
एक प्रोग्राम जिसे निष्पादित किया जाना चाहिए उसे मेमोरी में रखा जाना चाहिए। लिंकर ऑब्जेक्ट कोड और हेडर फ़ाइलों को लिंक करता है और निष्पादन योग्य फ़ाइल को आउटपुट करता है। लोडर वह सिस्टम सॉफ़्टवेयर है जो लिंकर द्वारा उत्पन्न निष्पादन योग्य फ़ाइल को मुख्य मेमोरी में लोड करता है। यह मुख्य मेमोरी में निष्पादन योग्य मॉड्यूल को मेमोरी स्पेस आवंटित करता है। इसलिए, लोडर ऑपरेटिंग सिस्टम का एक हिस्सा है जो प्रोग्राम और लाइब्रेरी को लोड करने के लिए जिम्मेदार होता है।
चित्र 01: वह क्रम जिसमें सोर्स कोड मेमोरी में लोड होता है
किसी प्रोग्राम को लोड करने में कई चरण शामिल होते हैं। इसमें प्रोग्राम निर्देश वाली निष्पादन योग्य फ़ाइल की सामग्री को मेमोरी में पढ़ना और निष्पादन योग्य फ़ाइल को चलाने के लिए आवश्यक तैयारी कार्यों को पूरा करना शामिल है।एक बार लोडिंग पूरी हो जाने के बाद, ऑपरेटिंग सिस्टम लोडेड प्रोग्राम कोड पर नियंत्रण पास करके प्रोग्राम शुरू करता है। एंबेडेड सिस्टम जैसे विशेष कंप्यूटर सिस्टम में आमतौर पर लोडर नहीं होते हैं। कोड सीधे ROM द्वारा निष्पादित होता है।
लिंकर और लोडर के बीच क्या संबंध है?
लिंकर का आउटपुट लोडर को जाता है।
लिंकर और लोडर में क्या अंतर है?
लिंकर बनाम लोडर |
|
लिंकर वह सॉफ़्टवेयर है जो ऑब्जेक्ट कोड को अतिरिक्त फ़ाइलों जैसे हेडर फ़ाइलों के साथ जोड़ता है और.exe एक्सटेंशन के साथ एक निष्पादन योग्य फ़ाइल बनाता है। | लोडर सिस्टम सॉफ़्टवेयर है जो लिंकर द्वारा उत्पन्न निष्पादन योग्य फ़ाइल को मुख्य मेमोरी में लोड करता है। |
इनपुट | |
लिंकर भाषा अनुवादक का आउटपुट लेता है, जो कि ऑब्जेक्ट कोड है। | लोडर लिंकर से आउटपुट लेता है, जो एक्जीक्यूटेबल फाइल है। |
कार्यक्षमता | |
लिंकर ऑब्जेक्ट कोड और हेडर फाइल को लिंक करता है और एक्जीक्यूटेबल फाइल को आउटपुट करता है। | लोडर लिंकर से प्राप्त निष्पादन योग्य फ़ाइल को मुख्य मेमोरी में लोड करता है। |
सारांश – लिंकर बनाम लोडर
लिंकर और लोडर प्रोग्राम के निष्पादन से संबंधित दो सॉफ्टवेयर घटक हैं। इस लेख में लिंकर और लोडर के बीच अंतर पर चर्चा की गई है। लिंकर वह सॉफ़्टवेयर है जो ऑब्जेक्ट कोड को अतिरिक्त फ़ाइलों जैसे हेडर फ़ाइलों के साथ जोड़ता है और.exe एक्सटेंशन के साथ एक निष्पादन योग्य फ़ाइल बनाता है। लोडर वह सिस्टम सॉफ़्टवेयर है जो लिंकर द्वारा उत्पन्न निष्पादन योग्य फ़ाइल को मुख्य मेमोरी में लोड करता है।लिंकर और लोडर में यही अंतर है।