লিঙ্কার এবং লোডার মধ্যে পার্থক্য
কন্টেন্ট
লিঙ্কার এবং লোডার একটি ইউটিলিটি প্রোগ্রাম যা কোনও প্রোগ্রাম কার্যকর করার ক্ষেত্রে প্রধান ভূমিকা পালন করে। একটি প্রোগ্রামের সোর্স কোড মৃত্যুদন্ড কার্যকর হওয়ার আগে সংশ্লিষ্ট ক্রমে সংকলক, এসেম্বলার, লিঙ্কার, লোডার দিয়ে যায়। একদিকে, যেখানে linker এসেম্বলারের দ্বারা উত্পাদিত অবজেক্ট কোডগুলি ইন্টাক করে এবং এক্সিকিউটেবল মডিউল তৈরি করতে তাদের একত্রিত করে। অন্যদিকে, লোডার এই এক্সিকিউটেবল মডিউলটি কার্যকর করার জন্য প্রধান মেমোরিতে লোড করে। আসুন আমরা তুলনামূলক চার্টের সাহায্যে লিকার এবং লোডার মধ্যে পার্থক্যটি আলোচনা করব।
- তুলনা রেখাচিত্র
- সংজ্ঞা
- মূল পার্থক্য
- উপসংহার
তুলনা রেখাচিত্র
তুলনা করার জন্য বেস | linker | লোডার |
---|---|---|
মৌলিক | এটি একটি উত্স প্রোগ্রামের এক্সিকিউটেবল মডিউল তৈরি করে। | এটি এক্সিকিউটেবল মডিউলটিকে প্রধান স্মৃতিতে লোড করে। |
ইনপুট | এটি ইনপুট হিসাবে গ্রহণ করে, একটি এসেমব্লার দ্বারা উত্পাদিত অবজেক্ট কোড। | এটি কোনও লিঙ্কার দ্বারা উত্পাদিত এক্সিকিউটেবল মডিউল লাগে। |
ক্রিয়া | এটি একটি এক্সিকিউটেবল মডিউল তৈরির জন্য উত্স কোডের সমস্ত অবজেক্ট মডিউলকে একত্রিত করে। | এটি সম্পাদনের জন্য প্রধান মেমরির এক্সিকিউটেবল মডিউলে ঠিকানাগুলি বরাদ্দ করে। |
প্রকার / এপ্রোচ | লিংকেজ এডিটর, ডায়নামিক লিঙ্কার। | সম্পূর্ণ লোডিং, রিলোক্যাটেবল লোডিং এবং ডায়নামিক রান-টাইম লোডিং। |
লিংকার সংজ্ঞা
এসেমব্লার একটি উত্স প্রোগ্রামের অবজেক্ট কোড উত্পন্ন করে এটি লিঙ্কারের হাতে দেয়। লিঙ্কার এই অবজেক্ট কোডটি নেয় এবং উত্পন্ন করে এক্সিকিউটেবল কোড প্রোগ্রামটির জন্য, এবং এটি লোডারকে হস্তান্তর করুন।
উচ্চ-স্তরের ভাষা, প্রোগ্রামগুলির কিছু রয়েছে অন্তর্নির্মিত গ্রন্থাগার এবং শিরোনাম ফাইল। উত্স প্রোগ্রামটিতে কিছু গ্রন্থাগার ফাংশন থাকতে পারে যার সংজ্ঞাটি অন্তর্নির্মিত লাইব্রেরিতে সঞ্চিত রয়েছে। লিঙ্কারটি এই ফাংশনটি অন্তর্নির্মিত লাইব্রেরিতে লিঙ্ক করে। যদি অন্তর্নির্মিত গ্রন্থাগারগুলি এটি সংকলককে অবহিত না করে এবং সংকলকটি ত্রুটি উত্পন্ন করে।
কখনও কখনও বৃহত প্রোগ্রামগুলি উপ-প্রোগ্রামগুলিতে বিভক্ত হয় যা বলা হয় মডিউল। এখন যখন এই মডিউলগুলি সংকলিত এবং একত্রিত করা হয়, উত্স প্রোগ্রামের অবজেক্ট মডিউলগুলি উত্পন্ন হয়। লিঙ্কারের সোর্স প্রোগ্রামের একক এক্সিকিউটেবল ফাইল তৈরি করতে সমস্ত অবজেক্ট মডিউলগুলিকে একত্রিত / সংযুক্ত করার দায়িত্ব রয়েছে। আমাদের দুটি ধরণের লিঙ্কার রয়েছে।
লিঙ্কেজ সম্পাদক: এটি একটি লিঙ্কার যা স্থানান্তরযোগ্য, কার্যকরযোগ্য মডিউল তৈরি করে।
ডায়নামিক লিংকার: লোড মডিউল / এক্সিকিউটেবল মডিউল তৈরি না হওয়া পর্যন্ত এটি কিছু বাহ্যিক মডিউলগুলির সংযোগ স্থগিত / স্থগিত করে। এখানে, লিঙ্কিং লোড সময় বা রান সময় চলাকালীন হয়।
লোডার সংজ্ঞা
বর্তমানে যে প্রোগ্রামটি কার্যকর করতে হবে তা কম্পিউটারের মূল স্মৃতিতে থাকতে হবে। এটা দায়িত্ব লোডার, একটি অপারেটিং সিস্টেমের একটি প্রোগ্রাম, একটি প্রোগ্রামের এক্সিকিউটেবল ফাইল / মডিউলটি লিংক দ্বারা উত্পন্ন, মৃত্যুর জন্য মূল স্মৃতিতে লোড করা। এটি মূল স্মৃতিতে এক্সিকিউটেবল মডিউলে মেমরির স্থান বরাদ্দ করে।
এখানে লোডিং পদ্ধতির তিন ধরণের রয়েছে:
- সম্পূর্ণ লোড হচ্ছে
- পুনঃ স্থান পরিবর্তনযোগ্য লোড হচ্ছে
- গতিশীল রান-টাইম লোড হচ্ছে
সম্পূর্ণ লোড হচ্ছে: এই পদ্ধতির দ্বারা একটি প্রোগ্রামের এক্সিকিউটেবল ফাইলকে লোড করা হয় একই প্রধান মেমরি অবস্থান প্রতি বার. তবে এটি কিছু আছে অসুবিধেও একজন প্রোগ্রামারকে মডিউলগুলি প্রধান মেমোরিতে লোড করার জন্য অ্যাসাইনমেন্ট কৌশল সম্পর্কে সচেতন হতে হবে। সেক্ষেত্রে প্রোগ্রামটিতে কিছু সন্নিবেশ এবং মোছার সাথে জড়িত প্রোগ্রামটি পরিবর্তন করতে হবে, তারপরে প্রোগ্রামের সমস্ত ঠিকানা পরিবর্তন করতে হবে।
পুনঃস্থাপনযোগ্য লোডিং: এই পদ্ধতির মধ্যে, সংকলক বা এসেম্বলারের কাজটি করে প্রকৃত প্রধান মেমরি ঠিকানা উত্পাদন না। এটি আপেক্ষিক ঠিকানা উত্পাদন করে।
গতিশীল রান-টাইম লোড হচ্ছে: এই পদ্ধতির মধ্যে যখন একটি এক্সিকিউটেবল মডিউলের কোনও নির্দেশ কার্যকরভাবে কার্যকর করা হয় তখন কোনও প্রোগ্রামের পরম ঠিকানা তৈরি করা হয়। এটি অত্যন্ত নমনীয়, লোডযোগ্য মডিউল / এক্সিকিউটেবল মডিউলটি লোড করা যায় মূল স্মৃতির যে কোনও অঞ্চল। এক্সিকিউটিভ প্রোগ্রামটি এর মধ্যে বাধাগ্রস্ত হতে পারে এবং ডিস্কে সরিয়ে আনা যায় এবং এই মুহুর্তে অন্য একটি মূল মেমরি ঠিকানায় ফিরে যেতে পারে মূল স্মৃতিতে।
- লিঙ্কার এবং লোডার মধ্যে মূল পার্থক্য হ'ল লিঙ্কারটি উত্পন্ন করে এক্সিকিউটেবল প্রোগ্রামের ফাইল যেখানে, লোডার লিংককারী থেকে প্রাপ্ত এক্সিকিউটেবল ফাইলটি লোড করে কার্যকর করার জন্য প্রধান মেমরি.
- লিঙ্কারটি ইনটেক্স করে অবজেক্ট মডিউল একত্রিতকারী দ্বারা উত্পন্ন একটি প্রোগ্রাম। তবে, লোডারটি গ্রহণ করে এক্সিকিউটেবল মডিউল লিঙ্কার দ্বারা উত্পাদিত।
- লিঙ্কারটি উত্পন্ন করতে কোনও প্রোগ্রামের সমস্ত অবজেক্ট মডিউলকে একত্রিত করে এক্সিকিউটেবল মডিউল এটি লিঙ্ক গ্রন্থাগার ফাংশন অবজেক্ট মডিউল থেকে অন্তর্নির্মিত গ্রন্থাগার উচ্চ স্তরের প্রোগ্রামিং ভাষার। অন্যদিকে, লোডার এক্সিকিউটেবলের জন্য স্থান বরাদ্দ করে মূল স্মৃতি মডিউল।
- লিঙ্কার হিসাবে শ্রেণীবদ্ধ করা যেতে পারে সংযোগ সম্পাদক, এবং গতিশীল লিঙ্কার লোডার হিসাবে শ্রেণীবদ্ধ করা যেতে পারে পরম লোডার, স্থান পরিবর্তনযোগ্য লোডার er এবং গতিশীল রান-টাইম লোডার.
উপসংহার:
লিঙ্কার এসেম্বলারের কাছ থেকে একটি প্রোগ্রামের অবজেক্ট মডিউলগুলি নেয় এবং একটি প্রোগ্রামের এক্সিকিউটেবল মডিউল তৈরি করতে তাদের একসাথে লিঙ্ক করে। এক্সিকিউটেবল মডিউলটি তারপরে লোডারের দ্বারা কার্যকর করার জন্য প্রধান মেমোরিতে লোড করা হয়।