الرئيسيةبحث

إدارة الذاكرة بإعادة ترتيب المواقع

فهرس

إدارة الذاكرة الرئيسية :

مقدمة

تعتبر الذاكرة الرئيسية متطلباً أساسياً لتنفيذ العمل .

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

طرق إدارة الذاكرة

تتنوع طرق إدارة الذاكرة بتنوع الحواسيب من حيث سعة الذاكرة وقوة وكفاءة برمجيات إدارة الذاكرة وتتوفر عدة طرق لإدارة الذاكرة:

  1. إدارة الذاكرة المفردة المتماسكة.
  2. إدارة الذاكرة بالتجزئة.

إدارة الذاكرة بإعادة توزيع المواقع.

  1. إدارة الذاكرة بالصفحات.
  2. إدارة الذاكرة الافتراضية والتي تتضمن :

إدارة الذاكرة بالصفحات المطلوبة إدارة الذاكرة بالقطع إدارة الذاكرة بالقطع والصفحات المطلوبة

وبغض النظر عن الطريقة المستخدمة في إدارة الذاكرة فإن المطلوب منها تنفيذ المهام التالية:

  1. متابعة كافة مواقع الذاكرة وكافة الأعمال الداخلة إليها والمستقرة فيها والخارجة منها
  2. رسم سياسة لمتابعة الذاكرة وذلك لتحديد المساحات التي يمكن إشغالها ومتى يسمح للأعمال بالدخول إلى الذاكرة والخروج منها.
  3. توطين (تخزين) الأعمال القابلة للتنفيذ في الذاكرة.
  4. تحرير مواقع الذاكرة والمخصصة للأعمال التي تم تنفيذها وذلك بترحيل هذه الأعمال إلى مصادرها الأساسية.

إدارة الذاكرة باستخدام عملية الضغط (إعادة توزيع المواقع): Relocatable memory management

لنفترض الذاكرة المبينة في الشكلين(1)و(2) :

للاستفادة من الأجزاء الحرة المتوفرة في الذاكرة ولتحميل أعمال أخرى ولزيادة درجة تعدد البرامج والتقليل من الفراغات ما أمكن تستخدم إدارة الذاكرة بالضغط (compression) أو ما يسمى بإعادة توزيع المواقع وتتلخص فكرة هذه الإدارة في أنه قبل تنفيذ العمل وهذا ما نلاحظه في الشكل (1) يحمل هذا العمل إلى الذاكرة إذا توفر جزء يستوعب هذا العمل أما إذا لم يتوفر جزء حر فيتم حساب مجموع المساحات الحرة فاذا كان حجمها أكبر أو يساوي حجم العمل يتم تجميع الفراغات وذلك بضغط الذاكرة الشكل(2) لإنتاج منطقة حرة واحدة تستطيع استيعاب العمل المراد تنفيذه.

تم تنفيذ عملية الضغط وبهذا تصبح الذاكرة كما في الشكل (2).

لاحظ أن العمل الثاني تمت إزاحته بمقدار x للأعلى وأن العمل الثالث تمت إزاحته بمقدار y للأعلى وعادة ما تكون الإزاحة صفر أو مقدار سالب.

- عند إزاحة العمل في الذاكرة تبقى محتويات البرنامج ثابتة أي أن تعليمات البرنامج لا تتغير بحيث تبقى العناوين التي تتعامل معها التعليمات كما كانت قبل عملية الضغط وتسمى هذه العناوين :العناوين المنطقية أو الافتراضية (Virtual or Logic address ) أما العناوين الفيزيائية Physical adress فقد اختلفت وذلك لحدوث التغيير على مواقع هذه الأعمال بعد تنفيذ عملية الضغط لذا لابد من تخصيص مسجل خاص لكل عمل يسمى مسجل إعادة ترتيب المواقع(Relocation Register ) يخزن فيه مقدار الإزاحة للعمل والجدير بالملاحظة أن عملية ترجمة العناوين المنطقية إلى فيزيائية يتم عبر وحدة تسمى وحدة إدارة الذاكرة(MMU).

وبهذا فإن عملية تنفيذ الأمر(التعليمة) في العمل تتطلب باستمرار حساب العنوان الفيزيائي كما في الشكل التالي:


نلاحظ أن العنوان الخارج من CPU وهو العنوان المنطقي يتم جمعه مع العنوان الموجود في مسجل الإزاحة لينتج لدينا العنوان الفيزيائي الذي تتعامل معه الذاكرة.

تتطلب إدارة الذاكرة بإعادة ترتيب المواقع مجموعة من المعدات ممثلة في مسجلات الحماية ومسجلات إعادة ترتيب المواقع وجدول بالمساحات الحرة حتى تتم متابعة الذاكرة بالصورة الصحيحة. يبين الشكل التالي مخطط سير العمليات اللازم لتوطين عمل في الذاكرة بإعادة ترتيب المواقع .

محاسن ومساوئ إدارة الذاكرة بالضغط

من محاسن هذه الطريقة إمكانية تنفيذ عملية الضغط والتي يؤدي تنفيذها يؤدي التقليل من الفراغات ما أمكن وبالتالي زيادة درجة تعدد البرامج ومحاولة تجميعها للاستفادة منها لتحميل عمل آخر.

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

المراجع

نظم التشغيل للدكتور عبد الكريم القاضي