look85

عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا

او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدى
نتشرف بتسجيلك
شكرا

إدارة المنتدى


انضم إلى المنتدى ، فالأمر سريع وسهل

look85

عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا

او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدى
نتشرف بتسجيلك
شكرا

إدارة المنتدى
look85
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

livelock & deadlocks

2 مشترك

اذهب الى الأسفل

livelock & deadlocks Empty livelock & deadlocks

مُساهمة من طرف ابو وديع الخميس 24 أبريل 2008 - 11:33

سأستعرض في هذا الموضوع حالتان شائعتان في نظم التشغيل:

1. حالة الـ deadlocks.
2. حالة الـ livelock.


1. حالة الـ deadlock (الاستعصاء):
الاستعصاء أو مايعرف deadlock هو حالة تحدث عندما يكون لدينا معالجتين (عمليتين) tow processes (أو أكثر) تنتظر كلاً منهما الأخرى للقيام بعمل ما. والنتيجة تكون تعليق عمل كلاً من المعالجتين. وقد يتسبب ذلك في موتهما.

تحدث حالات الاستعصاء كثيراً في الأنظمة متعددة المهام multitasking وفي بيئات مخدّم/زبون client/server . بشكل نموذجي، فإن البرنامج أو (نظام التشغيل) الذي يتعرض لحالة الاستعصاء، عليه إيجاد حل ما، لكن هذا الحل غالباً لايكون مدروجاً ضمن سياسة البرنامج أو نظام التشغيل.

تدعى حالة الاستعصاء أيضاً بـ (الطوق المميت deadly embrace).

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

مثال عملي2: لدينا برنامج ما يتخاطب مع مخدّم server، ينتظر البرنامج في مرحلة ما للحصول على معطيات خرج معين من المخدّم، بينما ينتظر المخدّم بنفس الوقت دخل معيّن من البرنامج قبل أن يقوم بإرسال أي معطيات خرج إليه.


=====================


2. حالة الـ livelock (استمرار العمل)
الحالة المناقضة لحالة الاستعصاء هي حالة الـ livelock (لم أجد تعريب مناسب لهذا المصطلح لكن يمكننا تعريبه بـ (قفل استمرارية الحياة) أو (قفل استمرارية العمل)). تحدث هذه الحالة عند وجود معالجتين (عمليتين) أو أكثر، تغيّر كل منهما حالتها الراهنة باستمرار أملاً في إحداث تغيير في حالة المعالجة الأخرى. والنتيجة تكون أن أياً من العمليتين لن تستطيع إتمام مهمتها، كما أنه ليس بإمكانها الموت وستبق حيّة تعمل للأبد.

تختلف حالة livelock عن حالة deadlock في أنه العملية process تكون غير معاقة Not blocked ولاتنتظر تحقق حدث ما، بل يكون لديها عملياً عمل غير منته (دائم الاستمرار) ولاتستطيع أبداً التوقف عنه.

مثال عملي1: يحدث عندما يتقابل أحمد وحسن في رواق مبنى ما، يقوم أحمد بالذهاب يميناً من أجل تجاوز حسن، لكن يقوم حسن بنفس الوقت بالذهاب يميناً لتجاوز أحمد..! يقوم أحمد بالذهاب يساراً ، لكن بنفس الوقت يقوم حسن بنفس الفعل (الذهاب لليسار). وهكذا يستمر أحمد وحسن بالتمايل يميناً ويساراً دون أن يستطيع أحد منهما تجاوز الآخر، وسيعلقان في الممر على هذه الحالة مع العلم أن كل واحد منهما يحاول تبديل وضعيته للسماح للآخر بإنجاز مهمته والخروج من الرواق لكن دون جدوى.! .أبسط الحلول هي أن يقوم أحد منهما بأخذ خطوتين معاً لليمين أو اليسار بينما يقوم الاخر بأخذ خطوة واحدة بالاتجاه الذي يريده.

مثال عملي2: لدينا برنامج يتخاطب مع مخدّم server . يقوم البرنامج بإرسال سؤال للمخدّم يطلب منه شيء ما و من ثم يتابع عمله دون أن ينتظر إجابة من المخدم، ويقوم المخدم بنفس الوقت بإرسال سؤال للبرنامج يطلب منه شيء ما دون أن ينتظر إجابة من البرنامج . وهكذا يستمر كلاً من البرنامج والمخدم بالعمل على إرسال أسئلتهم لبعضهما دون ان يتحول أحد منهما لحالة الإعاقة blocked أو حالة الانتظار wait.

وشكراً.

إعداد: Mido.Kat
______________
ابو وديع
ابو وديع
0 مشرف عام 0

عدد الرسائل : 2293
العمر : 39
الموقع : كوكب الأرض
المزاج : الحمد لله .. معصب
تاريخ التسجيل : 04/09/2007
نقاط المساهمات : 6585

الرجوع الى أعلى الصفحة اذهب الى الأسفل

livelock & deadlocks Empty رد: livelock & deadlocks

مُساهمة من طرف عزي ايماني الجمعة 19 يونيو 2009 - 22:12

جزاك الله خيرا ووفقك لما يحبه ويرضاه
عزي ايماني
عزي ايماني
تكنولوجي متميز
تكنولوجي متميز

عدد الرسائل : 2263
الموقع : البيت
المزاج : نص هيك و نص هيك
تاريخ التسجيل : 05/04/2009
نقاط المساهمات : 7933

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى