يرجى إضافة وصلات داخلية للمقالات المتعلّقة بموضوع المقالة.

مقاطعة (نظام تشغيل)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

مقاطعة (بالإنجليزية: 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. اطلع عليه بتاريخ November 16, 2014. 
  2. ^ Jonathan Corbet؛ Alessandro Rubini؛ Greg Kroah-Hartman (2005). "Linux Device Drivers, Third Edition, Chapter 10. Interrupt Handling" (PDF). O'Reilly Media. صفحة 269. اطلع عليه بتاريخ December 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. 
  3. ^ "Basics of Interrupts". اطلع عليه بتاريخ 11 نوفمبر 2010. 
Computer.svg
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال بحاجة للتوسيع. شارك في تحريرها.