الفرق بين سيمافور و مونيتور

Anonim

سيمافور فس مونيتور

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

ما المقصود ب سيمافور؟

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

ما هو "مراقب"؟

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

ما هو الفرق بين سيمافور و مونيتور؟

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