مقاطعة (حوسبة)

مقاطعة (بالإنجليزية: interrupt)‏ هي إشارة إلى المعالج أو أمر في مجال البرمجيات يشير عادة إلى حدث (event) يحتاج إلى عناية فورية ويعني وقفًا مؤقتًا لتنفيذ برنامج معين من أجل تنفيذ عملية أخرى قد يكون لها أولوية أكبر أو أي سبب آخر وتشمل المقاطعة تخزين مؤقت لبيانات البرنامج الموقوف لاسترجاعها عند انتهاء المقاطعة.[1][2][3] هناك أنواع مختلفة من الأحداث التي قد تسبب المقاطعة - أمثلة: التقسيم على صفر، الدخول الخاطئ إلى الذاكرة وطلبات الحصول على خدمات نظام التشغيل. لكل مقاطعه يوجد service interrupt المسؤول عن معالجة المقاطعة.عندما يتلقى المعالج (CPU) المقاطعة، يقوم بوقف عمله وفوراً ينتقل إلى العمل في مكان ثابت. هذا المكان في معظم الحالات يحتوي على عناوين البداية من روتين الخدمة (service routine),روتين خدمة المقاطعة يبدأ في العمل، وفي النهاية المعالج(CPU) يعود للعملية التي توقفت.

يوجد نوعين من المقاطعة :

  • hardware interrupt : هو إشارة إلكترونية تنبيهيه ترسل إلى المعالج من جهاز خارجي.

يمكن تقسيم مقاطعات الأجهزة إلى نوعين :

Edge-Triggered Interrupts - مقاطعات اللواتي يرسلن اشاره اياً كانت لتحديد طلب المقاطعة.

Level-Triggered Interrupts -مقاطعات اللواتي يغيرن وضع تدفق الكهرباء بقناة البيانات بصوره دائمه حتى معالجة المقاطعة.الجهاز المهتم في المقاطعة يغير وضع الخط حتى تلقي رساله مواففه من المعالج (CPU) للقيام بمعالجة المقاطعة.

  • Software interrupts : هو عادة ما يكون أمرًا (يسمى System Call) ضمن مجموعة التعليمات ، عند تنفيذه يقوم أيضًا بنقل المعالج لتنفيذ روتين المقاطعة.

فوائد المقاطعة

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

مراجع

  1. Jonathan Corbet (November 17, 2009). "Receive packet steering". LWN.net. مؤرشف من الأصل في 24 مايو 2018. اطلع عليه بتاريخ 16 نوفمبر 2014. الوسيط |CitationClass= تم تجاهله (مساعدة)
  2. Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman (2005). "Linux Device Drivers, Third Edition, Chapter 10. Interrupt Handling" (PDF). أوريلي ميديا. صفحة 269. مؤرشف من الأصل (PDF) في 14 مارس 2015. اطلع عليه بتاريخ 25 ديسمبر 2014. 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. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. "Basics of Interrupts". مؤرشف من الأصل في 09 أغسطس 2017. اطلع عليه بتاريخ 11 نوفمبر 2010. الوسيط |CitationClass= تم تجاهله (مساعدة); تحقق من التاريخ في: |تاريخ أرشيف= (مساعدة)
    • بوابة علم الحاسوب
    • بوابة تقنية المعلومات
    • بوابة كهرباء
    • بوابة إلكترونيات
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.