মূল পার্থক্য - লিঙ্কার বনাম লোডার
কম্পিউটারকে নির্দেশনা দেওয়ার জন্য একটি কম্পিউটার প্রোগ্রাম ব্যবহার করা হয়। এটি একটি নির্দিষ্ট প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয়। প্রোগ্রামিং ভাষা যেমন সি, জাভা উচ্চ স্তরের প্রোগ্রামিং ভাষা এবং সেগুলি মানুষের দ্বারা বোধগম্য কিন্তু কম্পিউটার দ্বারা নয়। অতএব, একটি উচ্চ স্তরের প্রোগ্রাম একটি ভাষা অনুবাদক ব্যবহার করে মেশিন ভাষায় রূপান্তরিত হয়। একটি উচ্চ স্তরের ভাষা ব্যবহার করে লিখিত একটি প্রোগ্রাম একটি উৎস কোড. রূপান্তরের পরে, অনুবাদিত কোডটিকে অবজেক্ট কোড বলা হয়। লিঙ্কার এবং লোডার দুটি সফ্টওয়্যার প্রোগ্রাম যা প্রোগ্রাম নির্বাহের জন্য ব্যবহৃত হয়। এই নিবন্ধটি লিঙ্কার এবং লোডারের মধ্যে পার্থক্য নিয়ে আলোচনা করে।লিঙ্কার হল এমন একটি সফ্টওয়্যার যা অবজেক্ট কোডকে অতিরিক্ত ফাইল যেমন হেডার ফাইলের সাথে লিঙ্ক করে এবং.exe এক্সটেনশন দিয়ে একটি এক্সিকিউটেবল ফাইল তৈরি করে। লোডার হল একটি সিস্টেম সফ্টওয়্যার যা মূল মেমরিতে লিঙ্কার দ্বারা উত্পন্ন এক্সিকিউটেবল ফাইল লোড করে। এটি লিঙ্কার এবং লোডারের মধ্যে মূল পার্থক্য।
লিঙ্কার কি?
একটি কম্পিউটার প্রোগ্রাম একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য একটি কম্পিউটারকে দেওয়া নির্দেশাবলীর একটি সেট। একটি কম্পিউটার প্রোগ্রাম একটি প্রোগ্রামিং ভাষা ব্যবহার করে লেখা যেতে পারে। বেশিরভাগ প্রোগ্রামিং ভাষা উচ্চ স্তরের প্রোগ্রামিং। এগুলি প্রোগ্রামার দ্বারা সহজেই বোধগম্য এবং পাঠযোগ্য। এই ভাষাগুলি ইংরেজি ভাষার অনুরূপ একটি সিনট্যাক্স অনুসরণ করে। উচ্চ স্তরের ভাষার কিছু উদাহরণ হল জাভা, সি এবং পাইথন। উচ্চ-স্তরের প্রোগ্রামিং ভাষা ব্যবহার করে লেখা একটি প্রোগ্রাম সোর্স কোড, সোর্স ফাইল বা সোর্স প্রোগ্রাম নামে পরিচিত। সোর্স কোডের এক্সটেনশন নির্ভর করে এটি যে ভাষা দিয়ে তৈরি করা হয়েছিল তার উপর। যদি সোর্স কোডটি C++ এ লেখা থাকে, তাহলে ফাইলের এক্সটেনশন হল।cpp যদি সোর্স কোডটি পাইথনে লেখা থাকে তবে এক্সটেনশনটি.py.
এমনকি সোর্স কোড প্রোগ্রামার দ্বারা বোধগম্য হয়; এটা কম্পিউটার দ্বারা বোধগম্য নয়. তাই, সোর্স কোডকে ভাষা অনুবাদক ব্যবহার করে মেশিন বোধগম্য বিন্যাসে রূপান্তর করা উচিত। এটি একটি কম্পাইলার বা একটি দোভাষী হতে পারে। অনুবাদকৃত কোড অবজেক্ট কোড নামে পরিচিত। বস্তুর কোডটি মেশিনের ভাষায়। এটি শূন্য এবং একবার নিয়ে গঠিত। কম্পিউটার সরাসরি বস্তুর কোড বুঝতে পারে। এর এক্সটেনশন আছে.obj. Test.c হিসাবে একটি সোর্স কোড থাকলে, এটি কম্পাইলারের মাধ্যমে যায় এবং রূপান্তরিত কোড Test.obj হয়ে যায়।
লিঙ্কার হল এমন একটি সফ্টওয়্যার যা অবজেক্ট কোডকে অতিরিক্ত ফাইল যেমন হেডার ফাইলের সাথে লিঙ্ক করে এবং.exe এক্সটেনশন সহ একটি এক্সিকিউটেবল ফাইল তৈরি করে। প্রোগ্রামটি বিল্ট-ইন ফাংশন ব্যবহার করতে পারে। সেই অন্তর্নির্মিত ফাংশনগুলির কার্যকারিতাগুলি হেডার ফাইলগুলিতে রয়েছে। উপরে বর্ণিত উদাহরণ অনুযায়ী, অবজেক্ট কোড যা টেস্ট।obj লিঙ্কার ব্যবহার করে প্রয়োজনীয় হেডার ফাইলের সাথে যোগ করা হয়। এটি Test.exe নামে পরিচিত একটি নতুন ফাইল তৈরি করে। এটি একটি এক্সিকিউটেবল ফাইল। অতএব, এটি কম্পিউটার দ্বারা নির্বাহযোগ্য৷
লোডার কি?
একটি প্রোগ্রাম যা কার্যকর করা উচিত তা অবশ্যই মেমরিতে রাখতে হবে। লিঙ্কারটি অবজেক্ট কোড এবং হেডার ফাইলগুলিকে লিঙ্ক করে এবং এক্সিকিউটেবল ফাইল আউটপুট করে। লোডার হল একটি সিস্টেম সফ্টওয়্যার যা মূল মেমরিতে লিঙ্কার দ্বারা উত্পন্ন এক্সিকিউটেবল ফাইল লোড করে। এটি প্রধান মেমরিতে এক্সিকিউটেবল মডিউলে মেমরি স্পেস বরাদ্দ করে। অতএব, একটি লোডার হল অপারেটিং সিস্টেমের একটি অংশ যা প্রোগ্রাম এবং লাইব্রেরি লোড করার জন্য দায়ী৷
চিত্র 01: ক্রম যাতে সোর্স কোড মেমরিতে লোড হয়
একটি প্রোগ্রাম লোড করার জন্য কয়েকটি ধাপ জড়িত। এটি মেমরিতে প্রোগ্রাম নির্দেশ সহ এক্সিকিউটেবল ফাইলের বিষয়বস্তু পড়া এবং এক্সিকিউটেবল ফাইল চালানোর জন্য প্রয়োজনীয় প্রস্তুতিমূলক কাজগুলি সম্পাদন করতে জড়িত।একবার লোডিং সম্পন্ন হলে, অপারেটিং সিস্টেম লোড করা প্রোগ্রাম কোডে নিয়ন্ত্রণ পাস করে প্রোগ্রামটি শুরু করে। বিশেষ কম্পিউটার সিস্টেম যেমন এমবেডেড সিস্টেমে সাধারণত লোডার থাকে না। কোডটি সরাসরি রম দ্বারা কার্যকর হয়।
লিঙ্কার এবং লোডারের মধ্যে সম্পর্ক কী?
লিঙ্কারের আউটপুট লোডারে যায়।
লিঙ্কার এবং লোডারের মধ্যে পার্থক্য কী?
লিঙ্কার বনাম লোডার |
|
লিঙ্কার হল একটি সফ্টওয়্যার যা অবজেক্ট কোডকে অতিরিক্ত ফাইল যেমন হেডার ফাইলের সাথে লিঙ্ক করে এবং.exe এক্সটেনশনের সাথে একটি এক্সিকিউটেবল ফাইল তৈরি করে। | লোডার হল একটি সিস্টেম সফ্টওয়্যার যা লিংকারের দ্বারা উৎপন্ন এক্সিকিউটেবল ফাইলটিকে প্রধান মেমরিতে লোড করে। |
ইনপুট | |
লিঙ্কার ভাষা অনুবাদকের আউটপুট নেয়, যা অবজেক্ট কোড। | লোডার লিঙ্কার থেকে আউটপুট নেয়, যা এক্সিকিউটেবল ফাইল। |
কার্যকারিতা | |
লিঙ্কারটি অবজেক্ট কোড এবং হেডার ফাইলকে লিঙ্ক করে এবং এক্সিকিউটেবল ফাইল আউটপুট করে। | লোডার লিঙ্কার থেকে অর্জিত এক্সিকিউটেবল ফাইলটিকে প্রধান মেমরিতে লোড করে। |
সারাংশ – লিঙ্কার বনাম লোডার
লিঙ্কার এবং লোডার হল প্রোগ্রাম এক্সিকিউশন সম্পর্কিত দুটি সফটওয়্যার উপাদান। এই নিবন্ধটি লিঙ্কার এবং লোডারের মধ্যে পার্থক্য নিয়ে আলোচনা করেছে। লিঙ্কার হল এমন একটি সফ্টওয়্যার যা অবজেক্ট কোডকে অতিরিক্ত ফাইল যেমন হেডার ফাইলের সাথে লিঙ্ক করে এবং.exe এক্সটেনশন দিয়ে একটি এক্সিকিউটেবল ফাইল তৈরি করে। লোডার হল একটি সিস্টেম সফ্টওয়্যার যা মূল মেমরিতে লিঙ্কার দ্বারা উত্পন্ন এক্সিকিউটেবল ফাইল লোড করে।এটাই লিঙ্কার এবং লোডারের মধ্যে পার্থক্য৷