الفرق بين إشارة وشاشة في نظام التشغيل

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 23 أبريل 2024
Anonim
عيوب الرسيفر الداخلى للشاشة
فيديو: عيوب الرسيفر الداخلى للشاشة

المحتوى


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

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

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


تعريف إشارة

كونه أداة مزامنة عملية ، الملوحة جهاز هو متغير صحيح هذا العدد الصحيح متغير S تهيئة ل عدد الموارد موجودة في النظام. لا يمكن تعديل قيمة إشارة S إلا من خلال وظيفتين انتظر() و الإشارة() بصرف النظر عن التهيئة.

تعمل عملية الانتظار () و الإشارة () على تعديل قيمة الإشارة S بشكل غير قابل للتجزئة. مما يعني أنه عندما تقوم العملية بتعديل قيمة الإشارة ، لا يمكن لأي عملية أخرى تعديل قيمة الإشارة في وقت واحد. علاوة على ذلك ، يميز نظام التشغيل الإشارة في فئتين: عد الإشارة و إشارة ثنائية.

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


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

تعريف مراقب

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

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

بناء جملة الشاشة على النحو التالي:

جهاز العرض monitor_name {// المشترك بيانات تعريف المتغير الداخلي P1 (...) {} الإجراء P2 (...) {} الإجراء Pn (...) {} رمز التهيئة (...) {}}

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

المتغيرات الشرطية تم تقديمها لآلية التزامن الإضافية. المتغير الشرطي يسمح لعملية الانتظار داخل الشاشة ويتيح استئناف عملية الانتظار على الفور عندما تطلق العملية الأخرى الموارد.

ال متغير مشروط يمكن استدعاء اثنين فقط من العملية انتظر() و الإشارة(). أين لو العملية P يستدعي الانتظار () العملية يتم تعليقها في الشاشة حتى عملية أخرى س استدعاء إشارة () العملية ، أي الإشارة () العملية التي تستدعيها العملية تستأنف العملية المعلقة.

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

خاتمة:

الشاشات سهلة التنفيذ من الإشارة ، وهناك فرصة ضئيلة في الخطأ مقارنة بالشارات.