بحاجة إلى بعض التوضيح على خوارزمية المصرفيين
-
27-09-2019 - |
سؤال
مجرد استعلام سريع عن حالات آمنة/غير آمنة في ديجكسترا خوارزمية المصرفي...
إذا كانت إحدى العمليات الواردة في لقطة النظام (على سبيل المثال تلك أدناه) قد تم تلبية جميع احتياجاتها بالفعل ، ولا توجد موارد كافية لتلبية احتياجات أي من العمليات الأخرى ، هو النظام في حالة آمنة ؟ أعلم عادة أننا نفترض أنه بمجرد أن تتلقى العملية مواردها المطلوبة ، ستنتهي بعد فترة وجيزة وإعادة جميع الموارد ، ولكن هل يتم وضع هذا الافتراض عندما نحسب حالة النظام؟
Allocated Maximum Available
| A | B | A | B A | B
---+---+--- ---+---+--- ---+---
P1 | 1 | 2 P1 | 1 | 2 1 | 3
P2 | 5 | 3 P2 | 7 | 8
تعديل
فقط لجعل سؤالي أكثر وضوحًا: هل النظام في المثال أعلاه في حالة آمنة أو حالة غير آمنة؟ هل نفترض أن الطلبات من P2 تتأخر حتى تعيد P1 الموارد ، وعندها يمكن الوفاء بطلبات P2 ، وبالتالي فإن النظام آمن ، أم أن النظام غير آمن لأنه في الوقت الحالي لا يمكن الوفاء بأي من الطلبات المحتملة؟
المحلول
النظام في حالة آمنة لأنه يمكن تشغيل العملية 1. عند الانتهاء من ذلك ، سيكون هناك ما يكفي من نسخ من الموارد A والموارد B للعملية 2 لإنهاء. وبالتالي ، يوجد "جدول" يمكن للنظام من خلاله تشغيل عملياته حتى الانتهاء. هذا يعني أنه آمن.