جدول المحتويات:
التعريف - ماذا يعني الاستبعاد المتبادل (Mutex)؟
الاستثناء المتبادل (mutex) هو كائن برنامج يمنع الوصول المتزامن إلى مورد مشترك. يتم استخدام هذا المفهوم في البرمجة المتزامنة مع قسم حرج ، جزء من التعليمات البرمجية حيث العمليات أو مؤشرات الترابط الوصول إلى مورد مشترك. يمتلك مؤشر ترابط واحد فقط mutex في وقت واحد ، وبالتالي يتم إنشاء mutex باسم فريد عند بدء تشغيل البرنامج. عندما يحتفظ مؤشر ترابط بمورد ، يجب عليه قفل كائن المزامنة (mutex) من مؤشرات الترابط الأخرى لمنع الوصول المتزامن للمورد. عند تحرير المورد ، يفتح مؤشر الترابط كائن المزامنة.
تيكوبيديا توضح الاستبعاد المتبادل (موتكس)
يأتي Mutex في الصورة عندما يعمل خيطان على نفس البيانات في نفس الوقت. إنه بمثابة قفل وهو أداة المزامنة الأساسية. عندما يحاول مؤشر ترابط الحصول على كائن مزامنة (mutex) ، فإنه يحصل على كائن المزامنة (mutex) إذا كان متاحًا ، وإلا فسيتم تعيين مؤشر الترابط على حالة السكون. يقلل الاستبعاد المتبادل من زمن الوصول والانتظار المشغول باستخدام مفاتيح انتظار الانتظار والسياق. يمكن تطبيق Mutex على كل من مستوى الأجهزة والبرامج.
يعد تعطيل المقاطعات لأقل عدد من الإرشادات هو أفضل طريقة لفرض كائن المزامنة على مستوى kernel ومنع تلف بنيات البيانات المشتركة. إذا كانت هناك معالجات متعددة تشترك في نفس الذاكرة ، فسيتم تعيين علامة لتمكين وتعطيل عملية الحصول على الموارد حسب توفرها. آلية الانتظار المزدحم تفرض mutex في مجالات البرامج. هذا مزود بخوارزميات مثل خوارزمية Dekker ، وخوارزمية المخابز السوداء والبيضاء ، وخوارزمية Szymanski ، وخوارزمية Peterson وخبز Lamport's.
يمكن تعريف القراء الحصريين المتبادلين ورموز فئة مزامنة القراءة / الكتابة من أجل التنفيذ الفعال للمزج.









