الذاكرة الافتراضية في نظام التشغيل: ما هي، ترحيل الطلب، المزايا

ما هي الذاكرة الافتراضية؟

الذاكرة الظاهرية هي آلية تخزين تعطي المستخدم وهمًا بوجود ذاكرة رئيسية كبيرة جدًا. ويتم ذلك عن طريق التعامل مع جزء من الذاكرة الثانوية باعتباره الذاكرة الرئيسية. في الذاكرة الافتراضية، يمكن للمستخدم تخزين العمليات بحجم أكبر من الذاكرة الرئيسية المتوفرة.

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

لماذا تحتاج الذاكرة الافتراضية؟

فيما يلي أسباب استخدام الذاكرة الافتراضية:

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

كيف تعمل الذاكرة الافتراضية؟

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

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

دعونا نفهم إدارة الذاكرة الافتراضية بمساعدة مثال واحد.

مثلا

لنفترض أن نظام التشغيل يتطلب 300 ميجابايت من الذاكرة لتخزين كافة البرامج قيد التشغيل. ومع ذلك، لا يوجد حاليًا سوى 50 ميجابايت فقط من الذاكرة الفعلية المتوفرة المخزنة على ذاكرة الوصول العشوائي (RAM).

  • سيقوم نظام التشغيل بعد ذلك بإعداد 250 ميجابايت من الذاكرة الافتراضية واستخدام برنامج يسمى Virtual Memory Manager (VMM) لإدارة تلك الـ 250 ميجابايت.
  • لذلك، في هذه الحالة، سيقوم VMM بإنشاء ملف على القرص الثابت بحجم 250 ميجابايت لتخزين الذاكرة الإضافية المطلوبة.
  • سيتابع نظام التشغيل الآن معالجة الذاكرة لأنه يأخذ في الاعتبار 300 ميجابايت من الذاكرة الحقيقية المخزنة في ذاكرة الوصول العشوائي (RAM)، حتى لو توفرت مساحة قدرها 50 ميجابايت فقط.
  • إن مهمة VMM هي إدارة ذاكرة بسعة 300 ميجابايت حتى في حالة توفر 50 ميجابايت فقط من مساحة الذاكرة الحقيقية.

ما هو ترحيل الطلب؟

الطلب الاستدعاء

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

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

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

أنواع طرق استبدال الصفحة

فيما يلي بعض الطرق المهمة لاستبدال الصفحة

  • FIFO
  • الخوارزمية المثلى
  • استبدال صفحة LRU

استبدال صفحة FIFO

FIFO (أولاً ما يدخل أولاً يخرج أولاً) هي طريقة تنفيذ بسيطة. في هذه الطريقة، تحدد الذاكرة الصفحة البديلة التي كانت موجودة في العنوان الظاهري للذاكرة لفترة أطول.

شرح المميزات:

  • كلما تم تحميل صفحة جديدة، تتم إزالة الصفحة التي ظهرت مؤخرًا في الذاكرة. لذلك، من السهل تحديد الصفحة التي يجب إزالتها لأن رقم التعريف الخاص بها موجود دائمًا في مكدس FIFO.
  • أقدم صفحة في الذاكرة الرئيسية هي التي يجب تحديدها للاستبدال أولاً.

الخوارزمية المثلى

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

شرح المميزات:

  • ينتج عن الخوارزمية المثلى أقل عدد من أخطاء الصفحة. هذه الخوارزمية صعبة التنفيذ.
  • تتمتع طريقة خوارزمية استبدال الصفحة المثلى بأقل معدل خطأ في الصفحة بين جميع الخوارزميات. توجد هذه الخوارزمية ويجب أن تسمى MIN أو OPT.
  • استبدل الصفحة التي تختلف عن استخدامها لفترة زمنية أطول. يستخدم فقط الوقت الذي يجب فيه استخدام الصفحة.

استبدال صفحة LRU

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

كيف يعمل؟

  • الصفحة التي لم يتم استخدامها لفترة طويلة في الذاكرة الرئيسية هي الصفحة التي سيتم اختيارها للاستبدال.
  • سهل التنفيذ، والاحتفاظ بقائمة، واستبدال الصفحات من خلال النظر إلى الوراء في الوقت المناسب.

شرح المميزات:

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

معدل الخطأ

معدل الخطأ هو التردد الذي يفشل به النظام أو المكون المصمم. يتم التعبير عنها بالفشل لكل وحدة زمنية. ويرمز له بالحرف اليوناني ؟ (لامدا).

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

فيما يلي إيجابيات/فوائد استخدام الذاكرة الافتراضية:

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

عيوب الذاكرة الافتراضية

فيما يلي عيوب/سلبيات استخدام الذاكرة الافتراضية:

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

الملخص

  • الذاكرة الافتراضية هي آلية تخزين توفر للمستخدم وهمًا بوجود ذاكرة رئيسية كبيرة جدًا.
  • هناك حاجة إلى الذاكرة الظاهرية عندما لا يحتوي جهاز الكمبيوتر الخاص بك على مساحة في الذاكرة الفعلية
  • تشبه آلية الترحيل عند الطلب إلى حد كبير نظام الترحيل مع المبادلة حيث يتم تحميل العمليات المخزنة في الذاكرة الثانوية والصفحات عند الطلب فقط، وليس مقدمًا.
  • طرق استبدال الصفحة المهمة هي 1) FIFO 2) الخوارزمية المثالية 3) استبدال صفحة LRU.
  • في طريقة FIFO (أولاً يدخل أولاً يخرج)، تحدد الذاكرة الصفحة لاستبدالها والتي كانت موجودة في العنوان الظاهري للذاكرة لأطول فترة.
  • تحدد الطريقة المثلى لاستبدال الصفحة تلك الصفحة للاستبدال الذي يكون الوقت المستغرق للوصول إلى المرجع التالي هو الأطول.
  • تساعد طريقة LRU نظام التشغيل في العثور على استخدام الصفحة خلال فترة زمنية قصيرة.
  • تساعد الذاكرة الافتراضية على اكتساب السرعة عندما يكون هناك حاجة إلى جزء معين فقط من البرنامج لتنفيذ البرنامج.
  • قد تعمل التطبيقات بشكل أبطأ إذا كان النظام يستخدم الذاكرة الظاهرية.