تشغيل stystemalgorithms
جدول المحتويات
- مقدمة
- توضيح
- الخوارزميات
- الإعداد المحلي
- مؤلف
- رخصة
مقدمة
- تم تصميم محاكاة تخصيص الذاكرة مع Java ، لفهم أفضل لكيفية عمل تخصيص الذاكرة في نظام التشغيل . يحاكي استراتيجيات تخصيص الذاكرة الشائعة:
يحتوي هذا المستودع أيضًا على الكود لـ
- خوارزميات الجدولة
- خوارزميات استبدال الصفحة
- محاكاة الترحيل
- سياسات جدولة القرص
توضيح
- مرحبا بكم في محاكاة تخصيص الذاكرة.
- أولاً ، نسأل ما إذا كان المستخدم يريد إدخال قيم أم لا ، إن لم يكن كذلك ، فإن بعض القيم متشددين بالفعل.
- تعد القيم المتشددين مهمة لفهم الوقت وتوفير الوقت.

- بعد أخذ قيمة إدخال أقسام الذاكرة ، وحالةها الحالية (مجانية/غير مجانية) وأرقام العملية ، نطبع الجدول الحالي لتخصيص الذاكرة.

- حتى الآن ، نأخذ حجم عملية الإدخال ، وتظهر قائمة.




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

إذا كانت عملية الإدخال بحجم 200 كيلو بايت ، ثم:
تخصيص الذاكرة - أول ملاءمة

تخصيص الذاكرة - أفضل ملاءمة

تخصيص الذاكرة - أسوأ ملاءمة

الإعداد المحلي
- قم بتنزيل أحدث إصدار من Java - Java SE - التنزيلات | أوراكل.
- استنساخ المستودع:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - افتح هذا الدليل في Command Promt أو Shell.
- قم بتجميع الملف باستخدام الأمر:
javac MemoryAllocation.java - قم بتشغيل الملف باستخدام الأمر:
java MemoryAllocation
مؤلف
توشر نانكاني
LinkedIn | تغريد
رخصة
ترخيص GPU