يقوم نظام التشغيل بعملية ربط العناوين حيث يرسم خريطة العناوين
يقوم نظام التشغيل بعملية ربط العناوين حيث يرسم خريطة العناوين
يقوم نظام التشغيل بعملية ربط العناوين حيث يرسم خريطة العناوين. لا تعرف البرامج عناوينها مسبقًا في الذاكرة وهذا هو السبب في أن هذه البرامج تتعرف على تعليماتها وبياناتها باستخدام هذه العناوين المنطقية.
ويقوم نظام التشغيل برسم خريطة لهذه العناوين المنطقية للبرامج وما يقابلها من عناوين ذاكرة حقيقية في ذاكرة الوصول العشوائي. وتندرج هذه المهمة ضمن مهام نظام التشغيل المخصصة في إدارة الذاكرة. [1]
مهام نظام التشغيل في ربط العناوين
واحدة من مهام نظام التشغيل هي إدارة الذاكرة والتي يقوم بها نظام التشغيل من خلال تتبع مكان وجود البرنامج داخل الذاكرة وتحويل عناوين البرنامج المنطقية إلى عناوين الذاكرة الحقيقية. ويتعامل نظام التشغيل مع الذاكرة الرئيسية على أنها مخزن بيانات مستمر مقسم إلى مجموعات من الخانات الثنائية والتي تحتوي على التعليمات أو البيانات. وكل جزء من مخزن البيانات يجب أن يكون محدد بشكل فريد من خلال عنوان.
من الضروري أن يكون كل جزء من مخزن البيانات محدد من خلال عنوان لأن البرامج لا تعرف عناوينها مسبقًا في الذاكرة. ومن خلال هذه العناوين المنطقية التي تتحول إلى عناوين الذاكرة الحقيقية من خلال نظام التشغيل تتعرف البرامج على تعليماتها وبياناتها. ولا تقتصر مهام نظام التشغيل على ربط العناوين من خلال رسم خريطة لعناوين بل تتعداها إلى إدارة العمليات وإدارة أجهزة الإدخال والإخراج وإدارة الملفات. [1] [2]
تعريف ربط العناوين
في الحقيقة، ربط العناوين هو شيء أساسي وضروري. وبشكل مختصر يمكن تعريف ربط العناوين على أنه تعيين تعليمات وبيانات الحاسوب في مواقع في ذاكرة الوصول العشوائي. يتم تحميل البرامج عالية المستوى في الذاكرة للتنفيذ في وحدة المعالجة المركزية. ويشير ربط العناوين إلى تعيين تعليمات وبيانات الحاسوب في مواقع الذاكرة الحقيقية. يتم استخدام كل من العناوين المنطقية والفعلية في ذاكرة الكمبيوتر.
من الممكن التمييز ما بين عناوين الذاكرة المنطقية وعناوين الذاكرة الحقيقية من خلال التمثيل الافتراضي للعناوين. تقوم وحدة المعالجة المركزية بتحويل البرامج إلى عمليات وإنشاء عناوين منطقية داخل الذاكرة الرئيسية. تقوم وحدة إدارة الذاكرة بترجمة العناوين المنطقية إلى عناوين فعلية في ذاكرة الوصول العشوائي. يسمى تعيين عنوان منطقي إلى عنوان حقيقي ربط العنوان أو تعيين العنوان. وهناك أنواع من ربط العناوين.
أنواع ربط العناوين
هناك ثلاثة أنواع رئيسية لربط العناوين التي يقوم بها نظام التشغيل
ربط العناوين وقت المعالجة:
- اذا كان المترجم البرمجي هو المسؤول عن تنفيذ ربط العناويت يسمى ربط العناوين وقت المعالجة.
- يحدث ربط العناوين وقت المعالجة قبل تحميل البرنامج في الذاكرة.
- يتطلب المترجم البرمجي التفاعل مع مدير ذاكرة نظام التشغيل لإجراء ربط عنوان وقت المعالجة.
ربط العناوين وقت التحميل:
- يحدث ربط العناوين وقت التحميل بعد تحميل البرنامج في الذاكرة.
- سيتم إجراء هذا النوع من ربط العنوان بواسطة مدير ذاكرة نظام التشغيل ، أي المُحمل.
ربط العناوين وقت التنفيذ:
- يحدث ربط العناوين وقت التحميل بشكل مؤجل حتى بعد تحميل البرنامج في الذاكرة.
- سيبقى البرنامج على تغيير المواقع في الذاكرة أي يمكنه التنقل من جزء إلى آخر حتى وقت تنفيذ البرنامج.
- هذا النوع لربط العنوان الذي يقوم به المعالج في وقت تنفيذ البرنامج. [2] [3]
طرق ربط العنوان
هناك ثلاث آليات لربط العناوين اعتمادًا على ما إذا كان ربط العناوين يتم في وقت المعالجة أو وقت التحميل أو وقت التنفيذ.
ربط العناوين وقت المعالجة
يمكن للمترجم البرمجي أن يقوم بربط العناوين وقت المعالجة أثناء التحويل البرمجي. في هذا النوع من الربط، يقوم نظام التشغيل بترجمة العناوين الرمزية إلى عناوين مطلقة.
العناوين المطلقة هي تعبير عناوين بقيمة ثابتة لا تعتمد على الأمور المتعلقة ب وقت التشغيل. على سبيل المثال، يظل موقع البرنامج في الذاكرة كما هو طوال تنفيذ البرنامج. فقط من خلال معرفة مكان وجود البرنامج في الذاكرة في وقت الترجمة فيمكن إنشاء رمز مطلق قبل تحميل البرنامج.
وربط العناوين وقت المعالجة ممكن قبل وقت التحميل ووقت التنفيذ عند معرفة مقدار الذاكرة التي يجب استخدامها. حيث يمكن الاستدلال في هذه الحالة من أين نبدأ في تخصيص ذاكرة للبرنامج وإعداد كل شيء مسبقًا. ومع ذلك ، نادرًا ما يكون ربط العناوين وقت المعالجة ممكنًا. مثال على نظام مع ربط عنوان وقت الترجمة MS-DOS
ربط العناوين وقت التحميل
يحدث ربط عنوان وقت التحميل أثناء تحميل البرنامج في الذاكرة. مدير ذاكرة نظام التشغيل هو العنصر المسؤول.لا يقوم المترجم البرمجي هنا بإجراء الربط ولكنه يترجم العناوين الرمزية من التعليمات البرمجية المصدر إلى العناوين ذات الصلة.
ثم يقوم المحمل بعد ذلك بترجمة العناوين النسبية إلى عناوين مطلقة. يحتاج إلى معرفة العنوان الأساسي في الذاكرة الرئيسية التي يبدأ التخصيص منها. لذلك، عند تحميل برنامج، نحسب العناوين الفعلية عن طريق إضافتها إلى العنوان الأساسي.
ربط العناوين وقت التحميل
إذا تم تجميع البرنامج فإن جميع المتغيرات تصبح معروفة مسبقًا. ومع ذلك ، قد لا تكون متطلبات الذاكرة معروفة. على سبيل المثال عند القيام بتحميل بعض البيانات من ملف ديناميكيًا دون القدرة على تحديد مقدار المساحة التي نحتاجها للبيانات قبل أن نقرأ الملف. وبالمثل ، إذا تم تفسير البرنامج، فلا يمكن النظر في جميع المتغيرات قبل التنفيذ.
يغطي وقت التنفيذ الملزم هذه الحالات. يتم حجز العناوين والذاكرة ديناميكيًا ، أي عندما نحتاج إلى القيام بذلك أثناء التنفيذ. يمكن لغالبية أنظمة تشغيل الأغراض العامة استخدام هذه الآلية. تقوم بعض أنظمة التشغيل الشائعة مثل Windows و Linux بتطبيق التحميل الديناميكي والربط الديناميكي وربط العنوان الديناميكي عمليًا. [3]