ההבדל בין מקשר לטעינה

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 3 אַפּרִיל 2021
תאריך עדכון: 8 מאי 2024
Anonim
פסיכופת או סוציופת מה ההבדל ?
וִידֵאוֹ: פסיכופת או סוציופת מה ההבדל ?

תוֹכֶן


קישוריות ומטען הן תוכניות השירות הממלאות תפקיד מרכזי בביצוע תוכנית. קוד המקור של תוכנית עובר דרך מהדר, הרכבה, קישור, מטעין בסדר המתאים, לפני הביצוע. מצד אחד, איפה מקשר לוקח את קודי האובייקט שנוצר על ידי המאסף ומשלב אותם כדי ליצור את מודול ההפעלה. מצד שני, מטעין טוען מודול הפעלה זה לזיכרון הראשי לביצוע. בוא נדון בהבדל בין קישור לטעינה בעזרת תרשים השוואה.

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

בסיס להשוואהקישורמטעין
בסיסיזה מייצר את מודול ההפעלה של תוכנית מקור.זה טוען את מודול ההפעלה לזיכרון הראשי.
קלטזה לוקח כקלט את קוד האובייקט שנוצר על ידי מכלול.זה לוקח מודול הפעלה שנוצר על ידי קישור.
פונקציהזה משלב את כל מודולי האובייקט של קוד מקור ליצירת מודול הפעלה.זה מקצה את הכתובות למודול הפעלה בזיכרון הראשי לביצוע.
סוג / גישהעורך הצמדה, מקשר דינמי.טעינה מוחלטת, טעינה ניתנת להעברה וטעינה דינאמית בזמן ריצה.


הגדרת קישור

הרכיב מייצר את קוד האובייקט של תוכנית מקור ומעביר אותו לקישור. הקישור לוקח קוד אובייקט זה ומייצר את ה- קוד הפעלה לתוכנית, ומסור אותה לטעינה.

בשפה הגבוהה, לתוכניות יש כמה ספריות מובנות ו קבצי כותרת. תוכנית המקור עשויה להכיל פונקציות ספריה שהגדרתן מאוחסנת בספריות המובנות. הקישור מקשר בין פונקציה זו לספריות המובנות. במקרה שהספריות המובנות לא יימצאו, היא מודיעה למהדר, ואז המהדר יוצר את השגיאה.

לפעמים התוכניות הגדולות מחולקות לתכניות המשנה הנקראות מודולים. כעת כאשר מודולים אלו מורכבים ומורכבים, נוצרים מודולי האובייקט של תוכנית המקור. על הקישור האחריות לשלב / לקשר את כל מודולי האובייקט ליצירת קובץ הפעלה יחיד של תוכנית המקור. יש לנו שני סוגים של קישורים.

עורך הצמדה: זהו קישור שמייצר את המודול הניתן להעברה.

קישור דינמי: זה מגן / דוחה את ההצמדה של כמה מודולים חיצוניים עד שנוצר מודול העומס / מודול ההפעלה. כאן, הקישור מתבצע בזמן טעינה או בזמן ריצה.


הגדרת מטעין

מכיוון שהתוכנית שצריכה להיות מבוצעת כעת חייבת להתגורר בזיכרון הראשי של המחשב. באחריותו של מטעין, תוכנית במערכת הפעלה, כדי לטעון את הקובץ / מודול ההפעלה של תוכנית, שנוצר על ידי הקישור, לזיכרון הראשי לביצוע. זה מקצה את שטח הזיכרון למודול ההפעלה בזיכרון הראשי.

ישנם שלושה סוגים של גישות טעינה:

  • טעינה מוחלטת
  • טעינה ניתנת להעברה
  • טעינה בזמן ריצה דינמי

טעינה מוחלטת: גישה זו טוענת את קובץ ההפעלה של תוכנית לתוך אותו מיקום זיכרון ראשי בכל פעם. אבל יש לזה כמה חסרונות כמו שמתכנת חייב להיות מודע לאסטרטגיית ההקצאה לטעינת המודולים לזיכרון הראשי. במקרה, יש לשנות את התוכנית הכוללת הכנסה ומחיקה מסוימת של התוכנית, יש לשנות את כל הכתובות של התוכנית.

טעינה ניתנת להעברה: בגישה זו, המהדר או הרכיב עושה זאת לא לייצר כתובת זיכרון ראשית בפועל. זה מייצר את הכתובות היחסיות.

טעינת זמן ריצה דינמית: בגישה זו, הכתובת המוחלטת לתוכנית נוצרת כאשר ההוראות של מודול הפעלה מתבצעות בפועל. זה מאוד גמיש, ניתן לטעון את המודול הניתן לטעינה / מודול ההפעלה בכל אזור בזיכרון הראשי. את תוכנית ההפעלה ניתן להפריע בין לבין ניתן להחליף לדיסק ולחזור לזיכרון הראשי הפעם בכתובת זיכרון ראשי אחרת.

  1. ההבדל העיקרי בין מקשר לטעינה הוא שהקשר מקשר הפעלה קובץ של תוכנית בעוד שהמעמיס טוען את הקובץ ההפעלה המתקבל מהקשר זיכרון ראשי לביצוע.
  2. הקישור לוקח את מודול אובייקט של תוכנית שנוצרה על ידי המאסף. עם זאת, המטען לוקח את ה- מודול הפעלה שנוצר על ידי הקישור.
  3. הקישור משלב את כל מודולי האובייקטים של תוכנית לייצור מודולים להפעלה זה גם מקשר בין פונקצית ספרייה במודול האובייקט ל- ספריות מובנות של שפת התכנות ברמה גבוהה. מצד שני, מטעין מקצה שטח להפעלה מודול בזיכרון הראשי.
  4. ניתן לסווג את הקישור כ- עורך הצמדה, ו קישור דינמי ואילו מטעין ניתן לסווג כ מטעין מוחלט, מעמיס להעברה ו מטעין זמן ריצה דינמי.

סיכום:

הקישור לוקח את מודולי האובייקט של תוכנית מהאסמבלר ומקשר אותם זה לזה ליצירת מודול הפעלה של תוכנית. לאחר מכן נטען המודול ההפעלה על ידי המטען לזיכרון הראשי לביצוע.