تبديل الصفحةِ ( page replacement )
ماذا يَحْدثُ إذا لم يكن هناك إطار شاغر (free frame ) للتَخصيص؟
هنا يأتي دور بديلُ صفحةِ
- يَختار اطار في الذاكرةِ (بخوارزميات معينة) ويُبدّلُه خارج. فيصبح لدينا اطار شاغر..
مُلاحظة: نفس الـ page قَدْ تُجْلَبُ إلى الذاكرةِ عدّة مرات على مدار حياة العملية, ولتجنب ذلك يستعمل ( dirty bit) لتَخفيض الضغط مِنْ إنتقالاتِ هذا الـ page
كما يطلق اسم الضحية ( victim) على الإطار الذي أًُختير ليخرج من الذاكرة
مالهدف من عملية تبديل الصفحات ؟
تقليل قدر الامكان من حدوث الـ page fault ويقصد به عدم وجود صفحة مطلوبة في الذاكرة
العلاقة بين page fault وعدد الاطارات في الذاكرة:
هي علاقة عكسية (حيث كلما زاد عدد الاطارات قل عدد حدوث page fault )
هناك عدة خوارزميات لتنفيذ عملية تبديل الصفحات:
إن جميع هذه الطرق تتبع نفس الخطوات وتسمى (basic page replacement ). يكون الاختلاف فقط في طريقة اختيار الضحية
خطوات الـ basic page replacement :
1- ايجاد الصفحة المطلوبة على القرص
2- البحث عن اطار فارغ .. وهناك حالتين :
أ-وجود اطار فارغ و بالتالي نستخدمه مباشرة.
ب- عدم وجود اطار فارغ وبالتالي نقوم بعملة التبديل تبعا لخوارزمية معينة لاختيار الضحية
3- تتم عملة النقل.. ثم نقوم بتحديث جدول الصفحات
4- اعادة تشغيل المهمة
خوارزميات تبديل الصفحات:
صفا البلاع
المصادر:
operating system concept
/www.cs.utexas.edu
Comments (0)
You don't have permission to comment on this page.