يمكن أن يظهر أثناء تنفيذ برنامج ما العديد من الحالات والأوضاع الخاصة التي تتطلب استجابة مباشرة من قبل الحاسب، فالفيض الذي قد يحدث أثناء تنفيذ عملية الجمع أو الطرح سيؤدي إلى نتائج خاطئة ما لم يكشف ويفسر على الفور, وفي عملية القسمة ستظهر مشاكل مشابهة عند تمثيل القاسم والمقسوم بمقاييس غير مناسبة ، وفي مثل هذه الحالة يجب تصحيح تمثيل المعاملات وإعادة تنفيذ العملية من جديد, ولكل حالة من حالات الخطأ المشابهة إجراء تصميمي يجب تنفيذه.
في مثل هذه الأوضاع، تسمح الحاسبات الأولى باتخاذ أحد إجرائين :
1. إيقاف العملية بأكملها .
2. إضاءة مؤشر خاص لإعلامنا بحدوث الخطأ ومتابعة الحساب.
ومع أن الإجراء الثاني غير مقنع، إلا أن الإجراء الأول غير مناسب من الناحية العملية، ولحل المشكلة يمكن إجراء الاختبارات المناسبة بعد كل عملية حسابية بحيث يمكن التفريع إل إجرائية ´´خدمة´´ مناسبة عند حدوث الخطأ.
من الأفضل لو تتم عملية التفريع هذه آليا عند حدوث الخطأ بدون إجراء اختبارات برمجية محددة بشكل صريح في كل مرحلة، وهذا يكافئ إيجاد تعليمة قفز ضمني تنقل التحكم إلى إجرائية الخدمة عند حدوث الخطأ, يطلق على هذه التقية اسم "المصيدة" ، لأنها تصطاد الحالات غير الطبيعية في عمل الحاسب ، تحتاج هذه التقنية إلى مراقبة خطوط نقل معلومات محددة أثناء التنفيذ الطبيعي للتعليمات ويشار إلى ظهور حالة غير نظامية بإرسال إشارات خاصة على هذه الخطوط ، وعند ظهور إشارة خطأ على أحد هذه الخطوط توقف الآلة عملية الحساب قيد التنفيذ وتنقل التحكم إلى إجرائية الخدمة المناسبة.
في بعض الحالات لا تتطلب خدمة المقاطعة سوى تنفيذ تعليمة واحدة تستطيع بعدها الآلة العودة لمتابعة تنفيذ البرنامج الرئيسي عندئذ لن نحتاج إلى تعديل مسجل عنوان التعليمة الحالية ( CIAC ) وفي حالات أخرى قد تحتاج خدمة المقاطعة إلى تنفيذ سلسلة طويلة من التعليمات يتوقف خلالها تنفيذ البرنامج الرئيسي إلا أنه بعد إتمام معالجة المقاطعة تحتاج الآلة لاسترجاع القيمة القديمة للمسجل (CIAC ) و العودة متابعة البرنامج الرئيسي لذلك يجب حفظ محتويات هذا المسجل قبل الانتقال إلى إجرائية خدمة المقاطعة ، ويمكن أن تتم عملية الحفظ هذه آليا (بواسطة المكونات الإلكترونية) أو بواسطة برنامج خدمة المقاطعة نفسه .
توفر المقاطعة إذاَ تقنية تسمح للمعالج بالاستجابة للمؤثرات والإشارات الخارجية (على خلاف العمل الطبيعي عندما تنشط كل العمليات من قبل المعالج نفسه). يمكن أن تمثل الإشارة الخارجية أحداثاَ معينة في الطرفيات أو في مصادر أخرى في النظام كما يمكن أن ترد هذه الإشارات أيضا من مصادر أخرى خارج الحاسب.
تشبه المقاطعة مكالمة هاتفية تردك أثناء قراءة كتاب، فتقوم بوضع علامة في الصفحة الحالية حيث وصلت، ثم تجيب على المكالمة التي قد تتطلب بدورها تنفيذ مهمة ما. ثم تعود لمتابعة القراءة من حيث توقفت.
و بالمثل تؤدي المقاطعة إلى تعليق الفعالية الحالية في المعالج وتنشيط إجرائية مناسبة لخدمة المقاطعة، ثم يعود المعالج لاستئناف الفعالية الأولى حيث توقفت قد تحتاج خدمة المقاطعة إلى استخدام مكونات الآلة كالمسجلات مثلا: لهذا السبب يجب أن نقوم بحفظ كل المعلومات المتعلقة بالبرنامج قيد التنفيذ وليس فقط محتويات المسجل CIAC ، إذ أننا سنحتاج لاسترجاع هذه المعلومات بهدف إعادة الآلة إلى الحالة نفسها التي كانت فيها لحظة ورود المقاطعة. لتسهيل هذه العملية يجب ألا نسمح للمقاطعة بإيقاف الآلة خلال تنفيذها لتعليمة ما، وننتظرها حتى تكمل تنفيذ التعليمة الحالية .
يبين الشكل (1) مخطط معالجة المقاطعة.
يمكن أن توجد عدة أنماط من المقاطعات لكل منها إجرائية خدمة خاصة بها، لذلك يجب أن يستطيع المعالج تحديد طبيعة المقاطعة الواردة، ولذلك تكون خطوط المقاطعات المختلفة مستقلة عن بعضها، وينشط كل منها لسبب مختلف، وبالتالي يمكن أن ترد أكثر من مقاطعة بنفس الوقت (أي خلال وقت تنفيذ تعليمة ما)، لذلك لا بد من وضع نظام أفضليات لتحديد ترتيب خدمة المقاطعات التي ترد معا.
الشكل (1)
يختلف نظام مقاطعة عن آخر بعدد المستويات ومحدد الأفضليات التي يوفرها ، ويتعلق المستوى بعدد مصادر المقاطعة المختلفة التي يستطيع المعالج تمييزها باستخدام الدارات أما الأفضلية فتعرف درجة الأهمية النسبية التي يستجيب بها المعالج لمقاطعة ما.
ففي نظام متعدد الأفضليات تهمل طلبات المقاطعة ذات الأفضليات الدنيا حتى ينتهي المعالج من معالجة كل المقاطعات ذات الأفضلية الأعلى. يسمح إذا لجهاز بدرجة أفضلية أعلى بمقاطعة برنامج خدمة المقاطعة الواردة من الجهاز ذي الأفضلية الأدنى, بينما لا يسمح بالعكس.
تعتمد الطريقة الأبسط على استخدام " قلاب مقاطعة " تضبط قيمته عندما ترد المقاطعة من أي مصدر (انظر الشكل 2). يتابع المعالج عمله الطبيعي طالما ( أن هذا القلاب غير مضبوط، ويختبر حالة هذا القلاب عند نهاية كل تعليمة ويتنقل إلى تنفيذ التعليمة التالية إذا كان القلاب يحوي القيمة صفر، أما إذا كان القلاب مضبوطا (أي يحوي القيمة 1) فيتم تعليق العمل الطبيعي للمعالج ويتم التمهيد لخدمة المقاطعة ، في هذه الحالة يجب أن (يستجوب )المعالج كل الأجهزة (أي يفحص حالتها) ليحدد أيا منها أرسل المقاطعة ، وهي عملية سهلة التحقيق لكنها تستهلك زمنا هاماَ. وفيما يلي الأنشطة التي تحدث بعد طلب المقاطعة:
1- إلغاء تأهيل المقاطعات (إجراء إلكتروني داراتي hardware)
2- حفظ محتويات المسجل CIAC (إجراء داراتي).
3- حفظ محتويات المسجلات التي ستستخدم لمعالجة المقاطعة (إجراء برمجي soft ware).
4- خدمة المقاطعة ، أي نقل التحكم إلى إجرائية معالجة المقاطعة (إجراء برمجي).
(آ) استجواب الأجهزة. (ب) تنشيط الإجرائية المناسبة حسب نمط المقاطعة.
5- استرجاع القيم السابقة للمعالجات (إجراء برمجي).
6- تأهيل المقاطعات (إجراء داراتي).
7- إعادة التحكم إلى برنامج المستخدم ، أي استرجاع القيمة السابقة للمسجل CIAC.
الشكل (2)
يبين مخطط الشكل (3) توسيعاَ لمفهوم النظام وحيد المستوى وحيد الأفضلية, حيث تتصل الأجهزة مع بعضها على التسلسل ويكون الجهاز ذي الأفضلية الأعلى أقرب إلى المعالج. وتتصل هذه الأجهزة بخط مقاطعة مشترك يحمل الإشارة (1) عندما يطلب أي جهاز مقاطعة المعالج. يستجيب المعالج لإشارة المقاطعة بإرسال إشارة "التعرف " (Knowledge) التي تنتشر عبر كل الأجهزة، وعندما يتلقى أحد الأجهزة في السلسلة إشارة التعرف يقوم بما يلي:
1. إذا كان علم المقاطعة في الجهاز يحوي القيمة صفر, يعيد إرسال إشارة التعرف إلى الأجهزة ذات الأفضليات الأدنى.
2. إذا كان علم المقاطعة في الجهاز مضبوطاَ أي يحوي القيمة (1) :
( آ ) يمنع إشارة التعرف من الوصول إلى الأجهزة ذات الأفضليات الأدنى. (ب) يرسل إلى الحاسب رمز التعريف الخاص به . (ج) يلغي إشارة طلب المقاطعة الخاصة به .
لنفترض أن عدة أجهزة أرسلت إشارة طلب المقاطعة بنفس الوقت ،بفضل هذا المخطط تستطيع المقاطعة ذات الأفضلية الأعلى الوصول إلى المعالج وتحجب الإشارات الواردة من الأجهزة ذات الأفضليات الأدنى ، وإذا وردت أثناء خدمة هذه المقاطعة إشارة مقاطعة أخرى من جهاز ذي أفضلية أعلى فإنها تصل إل المعالج دون أي عائق فيعلق برنامج خدمة المقاطعة ويحتفظ بمعلومات الحالة لينتقل إلى برنامج خدمة المقاطعة ذات الأفضلية الأعلــى.
كما رأينا يجب إيجاد مسار يستطيع من خلاله الجهاز المقاطع إرسال رمز التعريف الخاص به إلى المعالج بعد تلقي إشارة التعرف من المعالج ، وبهدف تخفيض التعقيد يمكن استخدام ممر مشترك من قبل كل الأجهزة.
يتضمن النظام متعدد المستويات إمكانيات داراتية (hardware) تسمح له بالتعرف على عدة مصادر للمقاطعات التي يمكنها أن تنشط معا على التوازي، ويتم الحكم على الأفضليات النسبية لهذه المصادر بواسطة البرمجيات (software).
يمكن تحقيق هذا المخطط باستخدام مسجل المقاطعات (Interruption register) بدلا من قلاب المقاطعة ، وترتبط كل بت من بتات هذا المسجل بنمط مختلف من أنماط المقاطعات، وتدعى محتويات هذا المسجل " شعاع المقاطعة "
الشكل (3)
إن أول مهمة يجب إنجازها عند حدوث المقاطعة والتعرف إليها هي تفحص شعاع المقاطعة ، حيث يمكن أن يتم ذلك برمجياَ بواسطة إجرائية موجودة لمعالجة المقاطعات IPR (Interrupt Processing Routine). تمثل كل بت في شعاع المقاطعة مستوى مختلف, ويتم تفحص قيم كل البتات لتحديد مصادر المقاطعات التي يمكن عندئذ تنظيمها وفق أي ترتيب محدد مسبقا، وتكتب إجرائيات خاصة لخدمة كل نمط من أنماط المقاطعات ISR (Interrupt Servicing Routine) يوحي الوصف السابق بإمكانية تحديد درجات أفضلية للمستويات المختلفة بطريقة ما, على الرغم من أن النظام وحيد الأفضلية.
وهذا ضروري في الواقع إذ لا بد من ترتيب محدد لمعالجة مقاطعات المستويات المختلفة عند حدوثها معاَ، ويجب عدم الخلط بين هذه الطريقة في تنظيم المقاطعات والأنظمة متعددة المستويات ومتعددة الأفضليات .
يمكن استخدام مرمز (encoding) للأفضليات بدلا من الطريقة البرمجية
ترتب مداخل الأفضليات (أي بتات شعاع المقاطعة) بترتيب يتلاءم مع الأفضليات المحددة لها, فعندما تكون قيم عدة بتات من بتات المداخل تساوي الواحد يعطي خرج المرمز ترتيب (أي الرقم التسلسلي) أول بت لا تساوي الصفر من هذه البتات (أي الدخل ذي الأفضلية الأعلى), فيعطي الخرج الثنائي N عندما تكون البت رقم N تساوي الواحد وقيم البتات الأسبق تساوي الصفر وذلك بغض النظر عن قيم البتات الأقل أفضلية, وبالتالي يعطي خرج المرمز عنوان الجهاز الذي يحتاج إلى الانتباه الفوري من قبل المعالج. بعد تحديد مصدر المقاطعة ترسل إشارة التعرف إلى الجهاز المعني وتوضع القيمة صفر في علم المقاطعة في هذا الجهاز, ويبطل تأهيل آلية المقاطعة بأكملها, بحيث يتم تجاهل طلبات المقاطعة التي قد ترد.
يتم في المرحلة التالية إحضار إجرائية معالجة المقاطعة المناسبة ( (IPR, ومن الضروري قبل ذلك حفظ محتويات المسجل CIAC وإلا لن يستطيع المعالج متابعة تنفيذ البرنامج المقاطع. تتم العمليات السابقة كلها بشكل (hardware) دون أن يتأثر بها المسجل CIAC .
من الطبيعي أن نتساءل، أليس ممكنا تأهيل المقاطعات ذوات المستويات الأعلى من مستوى المقاطعة التي تخدم حالياَ؟ تكمن المشكلة هنا في عمليه حفظ السياقات (Saving Contexts) حيث يوجد موقع واحد فقط لتخزين محتويات المجل CIAC، وبالتالي فقد تكتب قيمة جديدة فوق قيمته الأصلية في حال الاستجابة للمقاطعة الجديدة، وبالتالي نفقد إمكانية العودة إلى البرنامج الأساسي. يمكن التغلب عل هذه المشكلة بتخزين محتويات المسجل CIAC (ومحتويات المسجلات الأخرى) في مكادس مستقلة، ونحتفظ في مواقع محددة مسبقاَ بمؤشرات إلى هذه المكادس. من الممكن (والأبسط) التعامل مع مكدس وحيد، وهي الطريقة المستخدمة لمعالجة المقاطعات عملياَ.
تقوم إجرائية خدمة المقاطعة ISR فور بدئها بحفظ محتويات المجل CIAC ومحتويات المسجلات التي ستستخدمها هذه الإجرائية في نفس المكدس وبترتيب محدد، وبعد أن تنهي هذه الإجرائية مهمتها تقوم باسترجاع القيم السابقة لكل هذه المسجلات بالترتيب المعاكس. وبالتالي تعود المسجلات وكذلك المكدس إلى الحالة نفسها التي كانت فيها قبل تشغيل المقاطعة ويعود التحكم إل البرنامج المقاطع.
تنفذ العملية نفسها عند ورود إشارة مقاطعه ذات أفضلية أعلى أثناء تنفيذ إجرائية خدمة المقاطعة الحالية، فتقوم إجرائية خدمة المقاطعة الجديدة ISR بحفظ محتويات المسجل CIAC والمسجلات الأخرى على قمة المكدس، بحيث تسترجع هذه القيم عند انتهاء المهمة ويعود التحكم إلى البرنامج المقاطع والذي هو في هذه الحالة إجرائية خدمه المقاطعة السابقة.
في نظام كهذا يكفي إيقاف تأهيل المقاطعات في مرحلتين محددتين من مراحل معالجة المقاطعة:
1. المجال الفاصل بين لحظة تعرف المعالج على وجود مقاطعة ولحظة حفظ المحتويات الحالية للمسجل CIAC.
2. المجال الفاصل بين لحظة إتمام معالجة المقاطعة ولحظة استعادة محتويات المسجل CIAC .
يمكن تجاهل مقاطعات مستويات محددة باستخدام مسجل حجب المقاطعات إذ لا يعير المعالج اهتمامه لمقاطعة ما إلا إذا كانت قيمة البت المقابلة في مسجل حجب المقاطعات تساوي الواحد يعتبر هذا الحجب الانتقائي للمقاطعات مفيداَ خاصة خلال خدمة مقاطعة ما. ويكن التحكم بمسجل حجب المقاطعات بواسطة برنامج تحكم خاص به.
توجد هنا عدة مستويات أو خطوط نقل إشارات تنتقل عبرها إشارات المقاطعات، ويرتبط بكل مستوى عدة مصادر مقاطعة مستقلة لكل منها درجة أفضلية مختلفة تتحدد بشكل داراتي يمكننا استنتاج مخطط تنظيم المقاطعات بتكرار الدارة المبينة في الشكل (3-14) من أجل كل مستوى، وتعمل الدارة الخاصة بالمستوى الواحد بطريقة مماثلة لطريقة العمل في نظام وحيد المستوى متعدد الأفضليات أما مشكلة الاختيار بين المستويات المختلفة فيمكن حلها بنفس الأسلوب المستخدم في النظام متعدد المستويات وحيد الأفضلية.
لنرى الآن كيفية تعامل النظام مع المقاطعات. نفترض أن البرنامج قيد التنفيذ مخزن بين الموقعين S و W، وأن إشارة المقاطعة من الجهاز K ترد أثناء تنفيذ التعليمة المخزنة في الموقع L (S<L<W). يمكن تلخيص مراحل معالجة هذه المقاطعة كما يلي:
يتم حاليا تنفيذ التعليمة L ترد إشارة مقاطعة يتم تجاهل المقاطعة ريثما ينهي المعالج تنفيذ التعليمة الحالية تزداد قيمة المسجل CIAC بمقدار (1)
الوظائف الداراتية (hardware functions):
يتم التعرف إلى المقاطعة تبدأ خدمة المقاطعة ترسل إشارة التعرف إلى الجهاز طالب المقاطعة تصفر البت الموافقة في مسجل المقاطعات يرسل الجهاز رمز التعريف الخاص به N تخزن محتويات المسجل CIAC (أي L+1 ) على قمة المكدس وتزداد قيمة مؤشر المكدس بمقدار 1. تشحن محتويات الموقع K إلى المسجل CIAC .
الوظائف البرمجية (قبل المقاطعة) software functions:
تبدأ إجرائية معالجة المقاطعة في الموقع L(N) يلغى تأهيل مقاطعات المستويات الأدنى بوضع قيمة مناسبة في مسجل حجب المقاطعات تدفع محتويات المسجلات في قمة المكدس وتزاد قيمة مؤشر المكدس تمسح محتويات مسجل حالة المقاطعات يتم تأهيل المقاطعات. بداية معالجة المقاطعة . . اكتمال معالجة المقاطعة
الوظائف البرمجية (بعد المقاطعة):
يلغى تأهيل المقاطعات تسترجع محتويات المسجلات من المكدس وينقص مؤشر المكدس. يمسح علم المقاطعة في الجهاز المعني. يعاد تأهيل مقاطعات كل المستويات بوضع القيمة المناسبة في مسجل حجب المقاطعات.
يجب أن يقوم الحاسب بحجب المقاطعات أثناء تنفيذ أجزاء محددة من برنامج خدمة المقاطعة, يجب أن يتم هذا الحجب أثناء حفظ محتويات المسجل CIAC (في البداية) وعند استرجاع محتوياته (في النهاية).
تجدر الإشارة هنا إلى أن عملية (القفز وحفظ محتويات المسجل CIAC )تحقق على شكل استجابة داراتية للمقاطعة وليس كتعليمة مستقلة ، إذ لا بد من حفظ السياق قبل القفز خارج البرنامج الحالي فحدوث مقاطعة خلال هذه الفترة سيؤدي لضياع المعلومات المتعلقة بسياق تنفيذ البرنامج. بالمثل أيضا يجب أن تتم عمليات ( استرجاع قيمة المسجل CIAC والقفز) بخطوة واحدة.
يعطي زمن الانتظار الأعظمي Tk، للمقاطعة ذات درجة الأفضلية K بالعلاقة:
حيث Ti هو الزمن اللازم لمعالجة المقاطعة ذات الأفضلية i. لذلك تعطى درجات الأفضلية العليا للأجهزة الأكثر سرعة, أما المعالج فيعطى أدنى درجة أفضلية إذ أنه يعمل بنمط غير متزامن ويستطيع الانتظار لفترة غير محددة.
استخدمت تقنيات المقاطعة في الحاسبات الأولى بشكل أساسي للتعامل مع بعض الحالات الخاصة التي يمكن أن تظهر أثناء عمل الآلة, إلا أن المرونة الكبيرة التي وفرتها هذه التقنية تحولت إلى أداة أساسية لتحقيق أهداف عديدة أخرى. تستخدم المقاطعات اليوم للاستجابة إلى الحالات الداخلية المتغيرة في الآلة وكذلك للاستجابة إلى الإشارات الخارجية.
وسنعرض فيما يلي بعض التطبيقات:
أعطال الأجهزة: تستخدم المقاطعات للإشارة إلى حدوث أخطاء محددة أو أعطال في مختلف أجزاء الحاسب و الطرفيات، والذاكرة ووحدات التغذية الكهربائية وغيرها.
الأخطاء الداخلية: توفر المقاطعات أداة مناسبة لجذب الانتباه إلى بعض الأخطاء الداخلية التي يمكن أن تحدث أثناء تنفيذ برنامج من برامج المستخدم مثل:
1. أخطاء المعطيات : كالقسمة على الصفر، أو استخدام معامل سالب مع تابع حساب الجذر التربيعي.
2. أخطاء النتائج: كالفيض الذي يمكن أن ينتج عن جمع عددين ممثلين بالفاصلة الثابتة, والفيض في الأس الذي قد ينتج بعد جمع عددين ممثلين بالفاصلة العائمة.
3. أخطاء الآلة: التي يمكن أن تنتج عن أعطال في الدارات والمكونات المادية مثل خطأ الزوجية الذي تولده الذاكرة.
4. شروط التعليمات التي يمكن أن تتضمن تعليمات لا يمكن إنجازها أو يجب عدم إنجازها.
5. أخطاء حماية الذاكرة التي تنتج عند محاولة برنامج ما العودة إلى مناطق محمية في الذاكرة.
6. تتطلب أنظمة المشاركة الزمنية والتطبيقات متعددة البرامج إلى استخدام مؤقت للتبديل بين التطبيقات بفواصل زمنية ثابتة. تستخدم في مثل هذه الحالات ساعات الزمن الحقيقي لتوليد المقاطعات اللازمة لنقل التحكم من برنامج إلى برنامج آخر, وبشكل عام تعتبر المقاطعات مفيدة لتنبيه المعالج إلى انقضاء فترة زمنية محددة.
عدم جاهزية جهاز الدخل/الخرج: تعتبر المقاطعات ذات فائدة خاصة في الأنظمة التي تسمح لعدد من الأجهزة الطرفية بتنفيذ عمليات إدخال وإخراج بنفس الوقت. قبل بدء فعالية الدخل والخرج يجب أن يستقبل الجهاز المعني تعليمة الدخل و الخرج, إلا أنه قد لا يستطيع أحيانا قبول هذه التعليمة لعدة أسباب منها:
• عدم وصل الجهاز إلى مصدر الطاقة.
• عدم مقدرة الجهاز على تحقيق الاتصال بسبب عطل في دارة من داراته.
• قد يكون الجهاز ما يزال مشغولا بتنفيذ العملية السابقة.
• يمكن أن يكون الجهاز ما يزال في مرحلة التمهيد (مثل تحديد توضع الشريط أو رؤوس الأقراص، تحريك الصفحة في طابعة، ...الخ).
في كل من هذه الحالات سيرفض الجهاز قبول التعليمة مما يسبب توليد إشارة مقاطعةلإعلام المعالج بذلك.
التوقف غير الطبيعي لفعالية الدخل/الخرج:
يمكن أن تظهر أثناء نقل المعلومات بعض الحالات غير الطبيعية كخطأ الزوجية مثلا، مما يؤدي لتوليد إشارة مقاطعة تشير إلى توقف العملية بشكل غير طبيعي. في مثل هذه الحالة يمكن أن تحاول إجرائية خدمة المقاطعة إعادة بدء عملية النقل لعدد محدد من المرات، ويتم إيقاف الآلة وإعلام المستخدم بذلك بعد تكرر شل العملية.
اكتمال المهمات المرتبطة بعملية الإدخال/الإخراج:
يجب إعلام الحاسب باستمرار باكتمال تنفيذ مراحل محددة من فعالية الدخل/الخرج (لا يقصد هنا نقل المعطيات) في الأجهزة الطرفية. مثل تحديد توضع وسط التخزين (إعادة لف الشريط أو سحب ورقة في الطابعة) الأمر الذي يسمح للحاسب ببدء تعليمة النقل التالية.
اكتمال عملية نقل المعطيات:
حتى عند نجاح نقل المعطيات يجب توليد مقاطعة لإعلام الحاسب بأن العملية المطلوبة قد نفذت, تسمح هذه المقاطعة للحاسب باستئناف مجموعة العمليات التي تنتظر اكتمال نقل هذه المعطيات .
تدخل المستخدم:
من الحالات الهامة التي تستوجب المعالجة تدخل المستخدم أثناء العمل الطبيعي للحاسب، ومن الضروري هنا أن نضمن أن مثل هذا التدخل لن يتداخل بشكل مؤذ مع البرنامج قيد التشغيل. عند حدوث مثل هذا التدخل تقوم الآلة بتشغيل برامج المراقبة المناسبة للاستجابة لهذا التدخل.
الاتصال بين الحاسبات:
تستخدم المقاطعة بشكل فعال لتحقيق الاتصال بين حاسبين, فقبل أن يبدأ أحد الحاسبين بإرسال المعلومات إلى الحاسب الآخر يقوم بجذب انتباهه بتوليد إشارة مقاطعة حيث يقوم هذا الأخير بتعليق الفعالية الحالية قبل البدء بتلقي المعلومات منعا من إلحاق الضرر بالبرنامج قيد التشغيل.
فعاليات الزمن الحقيقي:
تستطيع الأجهزة التي تعمل بالزمن الحقيقي جذب انتباه الحاسب في لحظات عشوائية بإرسال إشارات مقاطعة, قد يكون الهدف منها نقل معلومات ما إلى الحاسب أو الطلب من الحاسب التبديل إلى برنامج خاص معالجة وضع حقيقي كما في حالة التطبيقات العسكرية, أو لإخبار الحاسب بحدوث أعطال في أحد التجهيزات.
يمكن أن يقوم الحاسب في نظام متعدد البرامج بتشغيل عدة برامج مختلفة يتم التبديل بينها بسرعة كبيرة. يمكن في مثل هذه الأنظمة أن يسبب أحد البرامج إشارة مقاطعة في الوقت نفسه الذي يتم فيه تنفيذ برنامج آخر.
و يمكن مثلا أن تنتهي عملية الإدخال أو الإخراج (بشكل طبيعي أو غير طبيعي) التي بدأها برنامج سابق أثناء تشغيل برنامج آخر، يجب في مثل هذه الظروف توفير إمكانيات تسمح للبرنامج قيد التشغيل:
• بتخديم المقاطعة الواردة إذا كانت ذات أهمية شاملة.
• تجاهل المقاطعة لفترة معينة، وذلك بضبط الحجاب المناسب (تبقى المقاطعة معلقة حتى يقوم البرنامج برفع الحجاب عنها).
• الاكتفاء بتسجيل حدوث المقاطعة وإرسال هذه المعلومات إلى البرنامج المعني بها على شكل رتل مقاطعات (حيث يستطيع البرنامج المعني تخديم هذه المقاطعات عند تشغيله مجدداَ).