ديكرز خوارزمية

مؤلف: Robert Simon
تاريخ الخلق: 17 يونيو 2021
تاريخ التحديث: 24 يونيو 2024
Anonim
Race Conditions and How to Prevent Them - A Look at Dekker’s Algorithm
فيديو: Race Conditions and How to Prevent Them - A Look at Dekker’s Algorithm

المحتوى

تعريف - ماذا يعني ديكرز خوارزمية؟

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


مقدمة إلى Microsoft Azure و Microsoft Cloud | من خلال هذا الدليل ، سوف تتعرف على الحوسبة السحابية التي تدور حولها وكيف يمكن أن يساعدك Microsoft Azure على ترحيل عملك وإدارته من السحابة.

Techopedia يشرح ديكرز خوارزمية

تسمح خوارزمية Dekker لعملية واحدة فقط باستخدام مورد ما إذا كانت هناك عمليتان تحاولان استخدامه في نفس الوقت. تسليط الضوء على الخوارزمية هو كيف يحل هذه المشكلة. نجحت في منع الصراع من خلال فرض الاستبعاد المتبادل ، مما يعني أن عملية واحدة فقط قد تستخدم المورد في وقت واحد وسوف تنتظر ما إذا كانت هناك عملية أخرى تستخدمه. يتم تحقيق ذلك باستخدام اثنين من "الأعلام" و "الرمز المميز". تشير العلامات إلى ما إذا كانت العملية تريد إدخال القسم المهم (CS) أم لا ؛ تعني القيمة 1 القيمة TRUE التي تريد العملية إدخالها في CS ، بينما تشير 0 أو FALSE إلى عكس ذلك. يشير الرمز المميز ، الذي يمكن أن يكون له أيضًا قيمة 1 أو 0 ، إلى الأولوية عندما يكون لكلتا العمليتين إشاراتها لتعيين TRUE.

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