يسمح الاقتراع والمقاطعة وحدة المعالجة المركزية بإيقاف ما تقوم به حاليًا والاستجابة للمهمة الأكثر أهمية. يختلف الاقتراع والمقاطعة عن بعضهما البعض في جوانب عديدة. لكن النقطة الأساسية التي تميز 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) بتة مشغولة أيضاً للإشارة إلى أن وحدة المعالجة المركزية حرة في التنفيذ أمر بعض الأجهزة الأخرى.
الاختلافات الرئيسية بين المقاطعة واستطلاعات الرأي في نظام التشغيل
- في المقاطعة ، يقوم الجهاز بإعلام وحدة المعالجة المركزية (CPU) التي تحتاجها للخدمة بينما ، في وحدة فحص الاستقصاء ، يتحقق بشكل متكرر مما إذا كان الجهاز يحتاج إلى خدمة.
- المقاطعة هي آلية الأجهزة حيث أن وحدة المعالجة المركزية لديها سلك ، خط طلب المقاطعة الذي يشير إلى حدوث المقاطعة. من ناحية أخرى ، يعتبر الاقتراع بروتوكولًا يظل يفحص بتات التحكم لإعلام ما إذا كان الجهاز لديه شيء ما لتنفيذه أم لا.
- يعالج معالج المقاطعة المقاطعات التي تم إنشاؤها بواسطة الأجهزة. من ناحية أخرى ، في الاستطلاع ، خدمات وحدة المعالجة المركزية الجهاز عند الحاجة.
- يتم الإشارة إلى المقاطعات بواسطة خط طلب المقاطعة . ومع ذلك ، تشير بت استعداد الأوامر إلى أن الجهاز يحتاج إلى خدمة.
- في المقاطعات ، يتم إزعاج وحدة المعالجة المركزية فقط عند أي جهاز يقاطعها. من ناحية أخرى ، في الاقتراع ، وحدة المعالجة المركزية تفقد الكثير من دورات وحدة المعالجة المركزية عن طريق التحقق مرارا من بت استعداد الأمر من كل جهاز.
- يمكن أن تحدث المقاطعة في أي لحظة من الزمن بينما تستمر وحدة المعالجة المركزية في إجراء الاستقصاء على الجهاز على فترات منتظمة .
- يصبح الاقتراع غير فعال عندما تستمر وحدة المعالجة المركزية في إجراء الاستقصاء على الجهاز ونادراً ما تجد أي جهاز جاهزاً للخدمة. على الجانب الآخر ، تصبح المقاطعات غير فعالة عند استمرار الأجهزة في مقاطعة معالجة وحدة المعالجة المركزية بشكل متكرر.
استنتاج:
كلا Polling و Interrupts بكفاءة في حضور أجهزة I / O. ولكن يمكن أن تصبح غير فعالة في حالة معينة كما هو موضح أعلاه.