دليل أونلاين مصر

حل مشكلة عشاء الفلاسفة بواسطة النياسب والموتكس نريد كتابة خوارزمية تمكن اكبر عدد من الفلاسفة من الاكل بوقت واحد.

0 معجب 0 شخص غير معجب
72 مشاهدات
سُئل نوفمبر 21، 2018 بواسطة Walaa Hessen (9,551,190 نقاط)
حل مشكلة عشاء الفلاسفة بواسطة النياسب والموتكس نريد كتابة خوارزمية تمكن اكبر عدد من الفلاسفة من الاكل بوقت واحد.

إجابة واحدة

0 معجب 0 شخص غير معجب
تم الرد عليه نوفمبر 21، 2018 بواسطة abdullah (9,535,890 نقاط)
أهم النظريات التي تقوم عليها أنظمة التشغيل اليوم هي نظرية حل “مشكلة عشاء الفلاسفة”. ما هي المشكلة؟ خمس فلاسفة يجلسون على مائدة واحدة وحولهم 5 أشواك الفيلسوف يستطيع القيام بأحد أمرين، أن يفكر، وإذا جاع أكل. لا يستطيع الفيلسوف أن يأكل إلا والشوكتين اللتين أمامه في يده. والشوكة الواحدة لا يمكن أن يستخدمها أكثر من فيلسوف في نفس الوقت. مع افتراض أن الأكل لا ينتهي (مصدر غير منتهي). ومع افتراض أن لا أحد من الفلاسفة يستطيع معرفة ما إذا كان الفيلسوف الآخر يريد أن يأكل أو أن يفكر. كيف تستطيع حل هذه المشكلة بحيث لا يموت أحد الفلاسفة جوعا. بلغة أخرى، يجب حل المشكلة بحيث يستطيع كل الفلاسفة التبديل بين الأكل والتفكير إلى ما لا نهاية.

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

لم يتم إيجاد أسئلة ذات علاقة

دليل أونلاين مصر

powered by serv2000 for hosting , web and mobile development

...