الفرق بين رابط ومحمل

مؤلف: Laura McKinney
تاريخ الخلق: 3 أبريل 2021
تاريخ التحديث: 7 قد 2024
Anonim
لقطات من داخل أغرب المصانع في العالم.. لن تصدق ما ستراه !!
فيديو: لقطات من داخل أغرب المصانع في العالم.. لن تصدق ما ستراه !!

المحتوى


Linker و Loader هي برامج الأداة المساعدة التي تلعب دورًا رئيسيًا في تنفيذ البرنامج. كود المصدر لبرنامج يمر عبر المترجم ، المجمع ، رابط ، محمل بالترتيب المعني ، قبل التنفيذ. من ناحية ، حيث رابط يستهلك رموز الكائنات التي تم إنشاؤها بواسطة المجمّع ودمجها لإنشاء الوحدة النمطية القابلة للتنفيذ. من ناحية أخرى ، فإن محمل تحميل هذه الوحدة القابلة للتنفيذ على الذاكرة الرئيسية للتنفيذ. دعونا نناقش الفرق بين Linker والمحمل بمساعدة مخطط المقارنة.

  1. رسم بياني للمقارنة
  2. فريف
  3. الاختلافات الرئيسية
  4. استنتاج

رسم بياني للمقارنة

أساس للمقارنةرابطمحمل
الأساسيةيقوم بإنشاء الوحدة القابلة للتنفيذ لبرنامج المصدر.يقوم بتحميل الوحدة القابلة للتنفيذ على الذاكرة الرئيسية.
إدخاليأخذ كمدخل ، رمز الكائن الذي تم إنشاؤه من قبل المجمع.يستغرق وحدة قابلة للتنفيذ التي تم إنشاؤها بواسطة رابط.
وظيفةفهو يجمع بين جميع وحدات الكائن من شفرة المصدر لإنشاء وحدة قابلة للتنفيذ.يخصص العناوين إلى وحدة قابلة للتنفيذ في الذاكرة الرئيسية للتنفيذ.
نوع / المنهجمحرر الربط ، رابط ديناميكي.التحميل المطلق والتحميل القابل للتحميل والتحميل الديناميكي لوقت التشغيل.


تعريف رابط

يقوم المجمِّع بإنشاء رمز كائن البرنامج المصدر وتسليمه إلى رابط. رابط يأخذ رمز الكائن ويولد رمز قابل للتنفيذ للبرنامج ، وسلمه إلى اللودر.

اللغة عالية المستوى ، وبعض البرامج مكتبات مدمجة و ملفات رأس. قد يحتوي البرنامج المصدر على بعض وظائف المكتبة التي يتم تخزين تعريفها في المكتبات المدمجة. رابط رابط هذه الوظيفة إلى المكتبات المضمنة. في حالة عدم العثور على المكتبات المضمنة ، فإنه يُعلم المترجم ، ثم يقوم المترجم بإنشاء الخطأ.

في بعض الأحيان تنقسم البرامج الكبيرة إلى برامج فرعية تسمى وحدات. الآن عندما يتم تجميع هذه الوحدات النمطية وتجميعها ، يتم إنشاء وحدات كائن البرنامج المصدر. يتحمل الرابط مسؤولية دمج / ربط جميع وحدات الكائن لإنشاء ملف تنفيذي واحد للبرنامج المصدر. لدينا نوعان من الروابط.

محرر الربط: وهو رابط يولد وحدة قابلة للتنفيذ ، قابلة للنقل.

رابط ديناميكي: يقوم بإلغاء / تأجيل ربط بعض الوحدات الخارجية حتى يتم إنشاء وحدة التحميل / الوحدة القابلة للتنفيذ. هنا ، يتم الربط أثناء وقت التحميل أو وقت التشغيل.


تعريف اللودر

حيث أن البرنامج الذي يجب تنفيذه حاليًا يجب أن يتواجد في الذاكرة الرئيسية لجهاز الكمبيوتر. إنها مسؤولية محمل، برنامج في نظام التشغيل ، لتحميل الملف / الوحدة القابلة للتنفيذ من البرنامج ، التي تم إنشاؤها بواسطة رابط ، إلى الذاكرة الرئيسية للتنفيذ. يخصص مساحة الذاكرة إلى الوحدة القابلة للتنفيذ في الذاكرة الرئيسية.

هناك ثلاثة أنواع من طرق التحميل:

  • التحميل المطلق
  • تحميل relocatable
  • دينامية وقت التشغيل التحميل

التحميل المطلق: هذا النهج بتحميل الملف القابل للتنفيذ من برنامج إلى نفس موقع الذاكرة الرئيسية كل مرة. ولكن لديها بعض سلبيات مثل مبرمج يجب أن تكون على علم استراتيجية المهمة لتحميل الوحدات النمطية إلى الذاكرة الرئيسية. في حالة ، يجب تعديل البرنامج الذي يتضمن بعض الإدراج والحذف في البرنامج ، ثم يجب تغيير جميع عناوين البرنامج.

تحميل relocatable: في هذا النهج ، المترجم أو المجمّع لا لا تنتج عنوان الذاكرة الرئيسية الفعلي. وتنتج عناوين النسبية.

وقت التشغيل الديناميكي التحميل: في هذا النهج ، يتم إنشاء العنوان المطلق لأحد البرامج عند تنفيذ تعليمة وحدة تنفيذية بالفعل. إنها مرنة للغاية ، يمكن تحميل الوحدة النمطية القابلة للتنفيذ / الوحدة القابلة للتنفيذ أي منطقة من الذاكرة الرئيسية. يمكن مقاطعة البرنامج التنفيذي بينه وبين إمكانية التبديل إلى القرص والعودة إلى الذاكرة الرئيسية هذه المرة في عنوان ذاكرة رئيسي مختلف.

  1. الفرق الرئيسي بين رابط ومحمل هو أن رابط يولد تنفيذ ملف برنامج بينما يقوم المُحمّل بتحميل الملف القابل للتنفيذ الذي تم الحصول عليه من رابط الدخول إلى الذاكرة الرئيسية للتنفيذ.
  2. يربط رابط وحدة الكائن برنامج تم إنشاؤه بواسطة المجمّع. ومع ذلك ، فإن محمل مآخذ وحدة قابلة للتنفيذ ولدت من قبل رابط.
  3. يجمع الرابط بين كل وحدة كائن في البرنامج لإنشاء وحدات قابلة للتنفيذ كما يربط وظيفة المكتبة في وحدة الكائن ل مكتبات مدمجة لغة البرمجة عالية المستوى. من ناحية أخرى ، لودر يخصص مساحة للتنفيذ وحدة في الذاكرة الرئيسية.
  4. رابط يمكن تصنيفها على أنها محرر الربط ، و رابط ديناميكي بينما يمكن تصنيف اللودر على أنه محمل مطلق ، محمل relocatable و محمل وقت التشغيل الديناميكي.

استنتاج:

يأخذ الرابط الوحدات النمطية للكائن في البرنامج من المجمّع ويربطها معًا لإنشاء وحدة نمطية قابلة للتنفيذ من البرنامج. يتم بعد ذلك تحميل الوحدة القابلة للتنفيذ بواسطة اللودر في الذاكرة الرئيسية للتنفيذ.