موصى به, 2021

اختيار المحرر

الفرق بين المقاطعة والاستطلاعات في نظام التشغيل

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

يسمح الاقتراع والمقاطعة وحدة المعالجة المركزية بإيقاف ما تقوم به حاليًا والاستجابة للمهمة الأكثر أهمية. يختلف الاقتراع والمقاطعة عن بعضهما البعض في جوانب عديدة. لكن النقطة الأساسية التي تميز Polling و Interrupt هي أنه في وحدة استقصاء وحدة المعالجة المركزية تحتفظ بفحص أجهزة الإدخال / الإخراج في فاصل زمني عادي سواء كانت بحاجة إلى خدمة وحدة المعالجة المركزية بينما ، في المقاطعة ، يقوم جهاز I / O بمقاطعة وحدة المعالجة المركزية وإخبار وحدة المعالجة المركزية بأنها تحتاج إلى خدمة وحدة المعالجة المركزية . لقد ناقشت بعض الاختلافات بين Interrupt و Polling في الرسم البياني للمقارنة أدناه ، يرجى إلقاء نظرة.

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

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

تعريف المقاطعة

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

على الرغم من أن وحدة المعالجة المركزية لا تدرك متى تحدث مقاطعة كما يمكن أن تحدث في أي لحظة ، ولكن عليها أن تستجيب للمقاطعة عندما تحدث.

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

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

تعريف الاقتراع

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

تختبر وحدة المعالجة المركزية باستمرار كل جهاز مرفق به لاكتشاف ما إذا كان أي جهاز يحتاج إلى اهتمام CPU. يحتوي كل جهاز على بت استعداد الأمر الذي يشير إلى حالة ذلك الجهاز ، أي ما إذا كان لديه بعض الأوامر ليتم تنفيذها بواسطة وحدة المعالجة المركزية أم لا. إذا تم تعيين bit بت 1 ، عندها يكون هناك أمر ما ليتم تنفيذه إذا كان البت هو 0 ، فليس له أوامر. تحتوي وحدة المعالجة المركزية على بت مشغول يشير إلى حالة وحدة المعالجة المركزية (CPU) سواء كانت مشغولة أم لا. إذا تم تعيين بت 1 مشغول ، ثم مشغول في تنفيذ الأمر من بعض الأجهزة ، وإلا فإنه 0 .

خوارزمية للاقتراع

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

الاختلافات الرئيسية بين المقاطعة واستطلاعات الرأي في نظام التشغيل

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

استنتاج:

كلا Polling و Interrupts بكفاءة في حضور أجهزة I / O. ولكن يمكن أن تصبح غير فعالة في حالة معينة كما هو موضح أعلاه.

Top