بحاجة إلى بعض التوضيح على خوارزمية المصرفيين

StackOverflow https://stackoverflow.com/questions/2853785

  •  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 لإنهاء. وبالتالي ، يوجد "جدول" يمكن للنظام من خلاله تشغيل عملياته حتى الانتهاء. هذا يعني أنه آمن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top