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




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

إدارة الذاكرة : ببساطة هي كيفية استغلال الذاكرة في جهاز الحاسب الآلي الاستغلال الأمثل

بحيث يمكن الاستفادة من كل جزء من هذه الذاكرة دون إهدار أو تعطيل لهذه الأجزاء وبذلك يمكن تشغيل اكبر عدد ممكن من البرامج في آن واحد.

 

  أهداف نظم إدارة الذاكرة

1.     تحديث عناوين الملفات على الذاكرة

2.     حماية البرامج والملفات أثناء التشغيل

3.     المشاركة بين البرامج على الذاكرة

4.     تحسين كفاءة ذاكرة التشغيل

  1. تقليل حجم الأجزاء الغير مستقلة من الذاكرة ومحاولة الاستفادة منها.
  2. زيادة عدد البرامج الممكن لتشغيلها على الذاكرة المتاحة.
  3. سرعة نقل البيانات من والى البرامج أثناء التشغيل.
  4. أنشاء ما يسمى بالذاكرة الافتراضية .

   وسائل تنفيذ الأهداف الرئيسية لنظم إدارة الذاكرة :

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

 

·       تقسيم الذاكرة

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

 

  طرق تقسيم الذاكرة

  1. طرق التقسيم السائد :

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

 

  1. التقسيم المرن لذاكرة:

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

 

  1. تقسيم الذاكرة إلى صفحات

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

بحيث يكون حجم الإطار اكبر من أو يساوي حجم جزء البرنامج الموضوع علية.


طرق أدارت الذاكرة

أولا : برنامج واحد ذاكرة واحدة :

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

 

مميزاته

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

عيوبه

  1. عدم التوافق مع الحاسبات الكبيرة .
  2. إهدار الوقت والجهد.
  3. بطيء تنفيذ البرامج . حيث أنها تعتمد على توالي التنفيذ وليس التنفيذ في آن واحد .
  4. هذه الطريقة مناسبة فقط للحاسبات أحادية المهمة (البدائية).

ثانياَ :ذاكرة متعددة وبرامج متعددة:

في هذه الحالة تكون عملية إدارة الذاكرة معقدة وتحتاج إلى مدير ذاكرة أقصى مرونة ودينامكية

في الحالة السابقة وفي هذه الحالة تكون وظائف مدير الذاكرة كالآتي:

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

أولاَ :معيار الأقدمية 

البرنامج الذي يتم طلبة أولا يتم تحميله أولا.

  • مميزاته:

1.      سهولة العمل .

2.      بساطة الأسلوب المتبع .

  • العيوب:

هناك عيب كبير وهو تشتت الذاكرة . حيث يمكن لبرنامج صغير الحجم ان يشغل حيزاَ على الذاكرة يفوق  حجمه بمئات المرات .

 

ملاحظة

هذا المعيار المستخدم في معظم الحاسبات الشخصية المتعارف عليها .

ثانياَ :معيار الحجم

هذا المعيار يراعي حجم البرنامج وحجم الجزء المخصص له في الذاكرة حيث يكون الفرق بينهما اقل ما يمكن .

 

  • عيوبه :

1.      الانتظار الطويل للبرامج الصغيرة لحين تحميلها على الذاكرة .

2.      تقليل التفتت الداخلي للذاكرة بنسبة كبيره .
 

ثالثاَ :معيار الحجم المعدل

هو نفس معيار الحجم السابق مع إضافة بعض التعديلات لتلافي العيوب التي ظهرت إثناء التشغيل .

 

أهم هذه التعديلات :

1.      تقسيم الذاكرة إلى أجزاء شديدة التفاوت.

2.      وضع حد معين لعدد مرات تخطي البرامج الصغير .

  • مميزاته:

  1. التقليل النسبي لتفتت الذاكرة .
  2. تقليل مدة انتظار البرامج الصغيرة .

  • العيوب :

لا تزال مشكلة تفتت الذاكرة  موجودة مع إتباع هذه الطريقة .
 


  التقسيم المرئي لذاكرة

(عدد غير محدد من البرامج وعدد غير ثابت من الذاكرة ).

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

1.      السماح بتغير عدد أجزاء الذاكرة في أي وقت .

2.      السماح بتغير كل جزاء من أجزاء الذاكرة تباعاَ ليما يحتوي من برامج في أي وقت .

 

·         مميزاتها

  1. زيادة كفاءة تشغيل الذاكرة وذلك بتشغيل عدد اكبر من البرامج في اقل حجم ممكن من الذاكرة .
  2. تقليل عملية التبادل بين الذاكرة الرئيسية والذاكرة الثانوية (وسائط التخزين).
  3. تقليل حجم الذاكرة الغير مستقلة بدرجة كبيرة .
  4. الزيادة النسبية في سرعة وكفاءة تشغيل الحاسب كوحدة واحدة .

·         عيوبه

  1. زيادة مطردة  في حجم البرنامج إثناء التشغيل تؤدي إلى :

  1. إما المبالغة في حجم الذاكرة المخصصة لهذه الزيادة
  2. وأما تمدد البرنامج اكبر مما خصص له من الذاكرة  فيحتاج إلى زيادة حجمه مره أخرى .

  1. تضل مشكلة تفتت الذاكرة موجودة وان كانت بشكل ضئيل

   أسباب زيادة حجم البرنامج إثناء التشغيل

  1. استدعاء برامج مساعدة أو فرعية .
  2. تخزين نواتج العمليات التي يجريها البرنامج على الذاكرة .
  3. زيادة حجم مصفوفة البيانات.
  4. عملية ترجمة البرامج إلى لغة الآلة يزيد كثيراً في حجمها.
  5. عملية ربط أجزاء البرنامج مع ملفات الإدخال والإخراج يزيد في حجم البرنامج.

 
   مشكلة التفت الداخلي للذاكرة

حيث انه من الصعب التنبؤ بحجم الزيادة في البرنامج اثنا التشغيل وخوفا من حدوث زيادة غير متوقعة يقوم نظام التشغيل بحجز مساحه غير مبالغ فيها من الذاكرة ويخصصها لنمو حجم البرنامج .

إذا تكررت هذه العملية مع عدة برامج تؤدي إلى إهدار كبير للذاكرة وهو ما يؤدي إلى التفتت الداخلي للذاكرة.


نظم التشغيل الحديثة

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

 

  الذاكرة الافتراضية

الذاكرة الافتراضية هي جزء من القرص الصلب يقوم نظام التشغيل بتحويله للعمل وكأنة ذاكرة .

وتعمل هذه الذاكرة الافتراضية مع الذاكرة الرئيسية كوحدة واحدة. وبذلك يتم توسيع وتكبير حجم الذاكرة  بشكل كبير وفي هذا تكون أهمية الذاكرة الافتراضية .

 

  تطوير العمل يتلاءم مع وجود الذاكرة الافتراضية

أصبح من الضروري تطوير أساليب تحميل البرامج على الذاكرة لاستيعاب مفهوم الذاكرة الافتراضية بحيث لا يحدث مشاكل في الربط بين الجزء الافتراضي والجزء الرئيسي من الذاكرة وبذلك يتم إدارة الذاكرة كالتالي:-

 

  1. تقسيم البرامج إلى طبقات يتم تحميل الطبقات النشطة فقط على الذاكرة.
  2. وضع باقي الطبقات على الجزء الافتراضي لذاكرة.
  3. يتم التبادل بين الجزء الافتراضي والجزء الرئيسي من الذاكرة وذلك بتحميل الطبقات التي تنشط وتنزيل الطبقات التي تم تنفيذها .
  4. الاستفادة من هذا التوسع في الذاكرة بتشغيل عدد كبير من البرامج في آن واحد.

هناك 7 تعليقات:

  1. اذكر أساليب إدارة الذاكرة

    ردحذف
  2. شكرا جدا على هذا المجهود الرائع واتاحته للجميع

    ردحذف
  3. operating system memory management Algorithms ماهي

    ردحذف
  4. اذكر اهم وظائف مدير الذاكره

    ردحذف
  5. السلام عليكم ورحمة الله وبركاته السوال/وظائف نظام التشغيل في الحاسب.وبس شكرًا

    ردحذف