ماهو deadlock فى انظمة التشغيل

قبل البدء فى تعريف ماهو Deadlock سنعرف ماهى Process فى انظمة التشغيل.

ماهى Process

Process هى البرنامج ولكن فى مرحلة التنفيذ بمعنى انه حينما يقوم الحاسب بتحميل البرنامج فى ذاكرة RAM يتحول البرنامج إلى Process.

كيف تستخدم Process الموارد المختلفة

والمقصود بالموارد او Resources هى اي مكان فى الذاكرة الدائمة او المؤقتة او الاجهزة المتصلة مثل الطابعة وغيره او حتى موارد افتراضية وتشمل الملفات ، اتصالات الشبكة وغيرها.

لكى تستخدم Process الموارد تقوم بالتالى.

  • تطلب المورد
  • تستخدم المورد
  • تترك المورد

ماهو Deadlock

Deadlock من المفاهيم الشهيرة فى انظمة التشغيل وتعنى باللغة العربية الجمود.

Deadlock هي موقف حيث يتم ايقاف مجموعة من العمليات Processes لأن كل عملية تحتجز موردًا وتنتظر موردًا آخر حصلت عليه عملية أخرى.

فمثلاً عندما يتجه قطاران نحو بعضهما البعض في نفس المسار ولا يوجد سوى مسار واحد ، بحيث لا يمكن لأي من القطاران أن يتحرك عندما يكونا أمام بعضها البعض.

يحدث موقف مماثل في أنظمة التشغيل عندما يكون هناك عمليتان أو أكثر تحتفظان ببعض الموارد وينتظران الموارد التي يحتفظ بها الآخرون.

على سبيل المثال ، في المخطط أدناه ، تحتفظ العملية 1 بالمورد 1 وتنتظر المصدر 2 الذي يتم الحصول عليه عن طريق العملية 2 ، والعملية 2 في انتظار المورد 1.

deadlock ماهو
ماهو deadlock

طرق للتعامل مع حالة Deadlock

هناك ثلاث طرق للتعامل مع حالة Deadlock.

  1.  منع Deadlock وتجنبه نحتاج للتأكد من أن جميع المعلومات المتعلقة بالموارد التي تحتاجها العملية معروفة لنا قبل تنفيذ العملية. نستخدم خوارزمية Banker لتفادي deadlock.
  2. اكتشاف Deadlock بعد ذلك التعامل معها عند حدوثها بمعنى ان نظام التشغيل يترك Deadlock تحدث وبمجرد حدوثها يقوم بحل المشكلة.
  3. تجاهل المشكلة كلها فى حين ان حالة deadlock تام نادرة جدًا ، فندعها تحدث ونعيد تشغيل النظام. هذا هو النهج الذي يتبعه كل من Windows و UNIX.

المراجع

لتصحيح اي معلومة من فضلك تواصل معنا فى التعليقات ولاثراء النقاش حول الموضوع يمكنك استخدم التعليقات ايضًا.


كتب بواسطة عمرو العربى

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*