مقاطعة (حوسبة)
المقاطعة[1] (بالإنجليزية: Interrupt) هي إشارة إلى المعالج أو أمر في مجال البرمجيات يشير عادة إلى حدث يحتاج إلى عناية فورية ويعني وقفًا مؤقتًا لتنفيذ برنامج معين من أجل تنفيذ عملية أخرى قد يكون لها أولوية أكبر أو أي سبب آخر وتشمل المقاطعة تخزين مؤقت لبيانات البرنامج الموقوف لاسترجاعها عند انتهاء المقاطعة.[2][3][4] هناك أنواع مختلفة من الأحداث التي قد تسبب المقاطعة - أمثلة: التقسيم على صفر، الدخول الخاطئ إلى الذاكرة وطلبات الحصول على خدمات نظام التشغيل. يوجد لكل مقاطعة خدمة مقاطعة مسؤولة عن معالجتها. عندما يتلقى المعالج المقاطعة، يقوم بوقف عمله وفوراً ينتقل إلى العمل في مكان ثابت. هذا المكان في معظم الحالات يحتوي على عناوين بداية رتيب الخدمة (بالإنجليزية: service routine)، ثم يبدأ روتين خدمة المقاطعة عمله، وفي النهاية يعود المعالج للعملية التي توقفت.
يوجد نوعين من المقاطعة :
- المقاطعة على مستوى العتاد : هو إشارة إلكترونية تنبيهيه ترسل إلى المعالج من جهاز خارجي. ويمكن تقسيم مقاطعات الأجهزة إلى نوعين :
- المقاطعات الحساسسة للحافة - مقاطعات اللواتي يرسلن اشاره اياً كانت لتحديد طلب المقاطعة.
- المقاطعات الحساسة للمستوى مقاطعات اللواتي يغيرن وضع تدفق الكهرباء بقناة البيانات بصوره دائمه حتى معالجة المقاطعة.الجهاز المهتم في المقاطعة يغير وضع الخط حتى تلقي رساله مواففه من المعالج للقيام بمعالجة المقاطعة.
- المقاطعة البرمجية : هو عادة ما يكون أمرًا يسمى استدعاء النظام، ضمن مجموعة التعليمات، عند تنفيذه ينقل المعالج أيضًا لتنفيذ روتين المقاطعة.
فوائد المقاطعة
[عدل]جعل المعالج يقوم بتنفيذ أكثر من وظيفة في نفس الوقت -حيث يقوم بتنفيذ جزء من وظيفة ثم يتركها ليذهب لتنفيذ وظيفة أخرى في حالة حدوث مقاطعة وهكذا- من أجل الحصول على سرعة أعلى.
مراجع
[عدل]- ^ معجم المصطلحات المعلوماتية (بالعربية والإنجليزية)، دمشق: الجمعية العلمية السورية للمعلوماتية، 2000، ص. 294، OCLC:47938198، QID:Q108408025
- ^ Jonathan Corbet (17 نوفمبر 2009). "Receive packet steering". LWN.net. مؤرشف من الأصل في 2018-05-24. اطلع عليه بتاريخ 2014-11-16.
- ^ Jonathan Corbet؛ Alessandro Rubini؛ Greg Kroah-Hartman (2005). "Linux Device Drivers, Third Edition, Chapter 10. Interrupt Handling" (PDF). أوريلي ميديا. ص. 269. مؤرشف من الأصل (PDF) في 2015-03-14. اطلع عليه بتاريخ 2014-12-25.
Then it's just a matter of cleaning up, running software interrupts, and getting back to regular work. The "regular work" may well have changed as a result of an interrupt (the handler could
wake_up
a process, for example), so the last thing that happens on return from an interrupt is a possible rescheduling of the processor. - ^ "Basics of Interrupts". مؤرشف من الأصل في 2017-08-09. اطلع عليه بتاريخ 2010-11-11.
مقاطعة في المشاريع الشقيقة: | |