ما هو الجمود في نظام التشغيل: الشروط وخوارزمية الكشف

جرب أداة القضاء على المشاكل





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

ما هو الجمود في نظام التشغيل؟

تعريف: Dead-Lock هو الموقف الذي ينتظر فيه معالجان أو أكثر حدوث حدث ما ، ولكن مثل هذه الأحداث التي لا تحدث هي حالة توقف تام ، ويقال إن المعالجات في حالة توقف تام. على سبيل المثال ، دعنا نفترض سيناريو في الوقت الفعلي ، حيث توجد سيارتان A و B ، يقودهما سائقان فرديان على طريق باتجاه واحد. ينشأ الموقف الآن حيث يقول سائق السيارة أ أنه يتحرك نحو الشمال هو الاتجاه الصحيح ، بينما يقول سائق السيارة ب إنه يتحرك نحو الجنوب صحيح. لكن لا أحد منهما يتحرك للخلف للسماح لسيارة أخرى بالمضي قدمًا ، وتسمى هذه الحالة حالة الجمود




مثال سيارة

مثال على السيارة

من أجل فهم أفضل ، دعنا نفكر في مثال آخر حيث يوجد موردان R1 و R2 وعمليتان P1 و P2 ، حيث يتم تعيين R1 إلى P1 و R2 تم تعيينه إلى P2. الآن إذا أراد P1 الوصول إلى R2 ، كما نعلم بالفعل ، فإن R2 مملوك بواسطة P2 ، والآن يريد P2 الوصول إلى R1 ، وهو P1 يتم تنفيذه فقط عند الوصول إلى R2 ، كما يتم تنفيذ P2 فقط عند الوصول إلى R1 هذا الموقف هي دولة طريق مسدود.



مثال على المعالج

مثال المعالج

شروط Dead-Lock

فيما يلي أربع شروط مأزق مهمة تحدث في حالة حدوث جميع الظروف في وقت واحد ، فهناك فرص معينة لحدوث المأزق.

استبعاد متبادل

وهذا يعني أنه يجب استخدام أي مورد نستخدمه بطريقة حصرية للطرفين. حيث تستخدم عمليات واحدة فقط موردًا واحدًا في كل مرة. على سبيل المثال ، تستمر عملية الطباعة وتحاول عملية أخرى بشكل مفاجئ مقاطعة عملية الطباعة. لذلك هنا في حالة الاستبعاد المتبادل ، فقط بعد اكتمال مهمة الطباعة ، تتم معالجة المهمة التالية فقط. يمكن القضاء على الاستبعاد المتبادل من خلال تقاسم الموارد في وقت واحد ، وهو أمر غير ممكن عمليًا.

استبعاد متبادل

استبعاد متبادل

لا أولوية

بالنسبة الى وقائي الخوارزميات المعتمدة ، إذا كانت هناك مهمة ذات أولوية تحاول مقاطعة المهمة الحالية. الخوارزمية الوقائية التي تحمل المهمة الحالية وتنفذ المهمة ذات الأولوية أولاً وتعود إلى مهمتها الأولى. تم شرح الموقف وفقًا للمثال أعلاه حيث تحتفظ العملية بالمورد طالما يتم تنفيذها ، أي أن P1 لا يمكنها إطلاق R1 إلا بعد التنفيذ ، وبالمثل إصدار P2 R2 فقط بعد التنفيذ. إذا لم يكن هناك إجراءات استباقية ، فقد يحدث مأزق.


مثال عدم الشفعة

مثال على عدم الشفعة

انتظر وانتظر

تحتفظ العملية ببعض الموارد وتنتظر موارد إضافية ولكن يتم الحصول على هذه الموارد من خلال عملية أخرى. من المثال أعلاه ، يحتفظ P1 بـ R1 وينتظر R2 ، حيث يتم الحصول على R2 بواسطة P2 ، و P2 يحتفظ بـ R2 وينتظر R1 ، حيث يتم الحصول على R1 بواسطة P1 هو تعليق وانتظار قد يحدث طريق مسدود في النظام.

مثال الانتظار والانتظار

على سبيل المثال الانتظار والانتظار

انتظر دائري

يقال إن مجموعة من العمليات في طريق مسدود إذا كانت إحدى العمليات تنتظر موردًا تم تخصيصه لعملية أخرى وتلك العملية تنتظر موردًا ، فهي تشبه المثال الموضح أعلاه حيث تكون في شكل حلقة. حيث P1 ينتظر R2 و R2 مخصص لـ P2 و P2 ينتظر R1 و R1 المخصصان لـ P1 وهو نموذج انتظار دائري إذا كان هذا الشرط يفي بحدوث طريق مسدود.

مثال على الانتظار الدائري

التعميم الانتظار على سبيل المثال

خوارزمية الكشف عن القفل الميت

الحالات التي نخصص فيها الموارد للعمليات ، ويعيد نظام التشغيل التحقق من حدوث حالة توقف تام في النظام أو عدم استخدام خوارزميتين رئيسيتين لاكتشاف حالة الجمود ، فهي

  • نسخة واحدة
  • مثيلات متعددة من نوع المورد

نسخة واحدة

المثيل الفردي هو حالة يكون فيها النظام به مثيل واحد لجميع الموارد. يُعرف أيضًا باسم انتظار خوارزمية الرسم البياني أو الرسم البياني لتخصيص الموارد. يتكون الرسم البياني لتخصيص الموارد من مجموعة من العمليات ومجموعة من الموارد التي يتم تمثيلها كرأسين مختلفين. يتم تعديل الموارد في الرسم البياني لتخصيص الموارد ويتم تمثيلها في انتظار نموذج الرسم البياني. حيث يوجد في انتظار نموذج الرسم البياني العمليات التي يتم تمثيلها كرؤوس كما هو موضح أدناه ،

  • الرسم البياني لتخصيص الموارد: يتم تمثيل العمليات P1 و P2 و P3 والموارد R1 و R2 و R3 في الرسم البياني لتخصيص الموارد.
  • انتظر الرسم البياني: تم ذكر العمليات P1 و P2 و P3 فقط في انتظار الرسم البياني.
  • إذا كان هناك شرط دورة ، إذا كان هناك تدفق مستمر للعملية في اتجاه واحد ، فهذا يعني خروج حالة الدورة وانتظر الرسم البياني في حالة توقف تام.

مثال 1: يوضح المثال أدناه عدم وجود حالة توقف تام لأنه لا يوجد تدفق مستمر لوحظ في انتظار الرسم البياني.

مثيل واحد مثال 1

مثيل واحد مثال 1

المثال 2: حدثت حالة الجمود بسبب وجود تدفق مستمر للدورة من P1 إلى P4.

مثيل واحد - مثال 2

مثيل واحد مثال 2

إذا حدث الجمود بشكل متكرر في النظام ، فسيتم استخدام خوارزمية الكشف بشكل متكرر. إذا كان هناك المزيد من استخدام خوارزمية الكشف ، فسيكون هناك المزيد من النفقات العامة والمزيد من وقت الحساب. ومن ثم للتغلب على هذا ، فإننا نستدعي الخوارزمية بعد ذلك ، مع إعطاء مقدار متساوٍ من الوقت ، وهذه هي الطريقة التي يتم بها استخدام وزن الرسم البياني لاكتشاف الجمود.

مثيلات متعددة لنوع المورد

الأمثلة المتعددة لنوع المورد هي حالة يكون فيها النظام به مثيلات متعددة لجميع الموارد ، ويُعرف أيضًا باسم خوارزمية Bankers. وفقًا لخوارزمية Bankers ، بمجرد أن تحصل العملية على جميع الموارد المطلوبة ، فإنها تطلق مواردها.

دعونا ننظر في المثال التالي ، لنفترض أن هناك 3 عمليات P0 و P1 و P2 ونوع المورد A و B و C حيث يمكن أن يكون A وحدة المعالجة المركزية يمكن أن تكون B طابعة و C يمكن أن تكون لوحة المفاتيح. تمثل الأرقام '0' في العمود مدى توفر الموارد.

الحالة (ط): لنفترض أنه إذا أخذنا شرط الشرط '000' الموجود في P0 و P2 ، فيجب علينا التحقق من الطلب الذي تم الوفاء به ، والعمليات P0 تطلق العمليات بعد الحصول على التخصيص ، ثم إصدارات عمليات P2 التالية بعد الحصول على التخصيص. مثل هذا ، في تسلسل ، تطلق عملية واحدة تلو الأخرى P0 ، P2 ، P3 ، P1 ، P4 في تسلسل. أخيرًا ، نحصل على الموارد المتاحة مثل P7 و P2 و P6. التسلسل المتاح هو شرط لا يوجد فيه طريق مسدود.

مصرفيون-خوارزمية- مثال 1

مصرفيون-خوارزمية- example1

المنازل (2): لنفترض أنه إذا كانت P2 هي 001 بدلاً من 000 ، فقم الآن بتطبيق خوارزمية المصرفي للتحقق من حالة الجمود ، حيث يتم تنفيذ P0 الوحيد بين جميع العمليات الخمس. ومن ثم فإن P1 و P2 و P3 و P4 في حالة توقف تام باستثناء P0.

مصرفيون- مثال 2

مصرفيون- example2

تطبيقات Deadlock

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

مزايا

مزايا الجمود هي

  • لم يلاحظ أي إجراءات استباقية في تجنب المأزق
  • لا تأخير في العملية

سلبيات

عيب الجمود هو

  • يجب أن يكون المورد الذي سيتم استخدامه معروفًا مسبقًا
  • انسداد العملية لفترة طويلة
  • يتم توريث خسائر الشفعة.

تتناول هذه المقالة نظرة عامة حول كيفية حدوث الجمود عندما تكون هناك عمليتان أو أكثر والشروط الثلاثة التي هي سبب حدوث طريق مسدود ، ونوعان من الخوارزميات وهما خوارزمية مشاركة الموارد التي تكتشف وجود حالة الجمود وخوارزمية المصرفيين وهي خوارزمية تجنب الجمود. وهنا السؤال 'ماذا يحدث إذا تم تجاهل المأزق؟'.