الفرق بين المقاطعة و فخ

Anonim

المقاطعة مقابل الفخ

في أي جهاز كمبيوتر، أثناء تنفيذ البرنامج العادي، قد تكون هناك أحداث يمكن أن تتسبب في توقف وحدة المعالجة المركزية مؤقتا. وتسمى أحداث مثل هذه المقاطعات. يمكن أن تكون المقاطعات ناجمة عن أخطاء في البرامج أو الأجهزة. وتسمى المقاطعات الأجهزة (ببساطة) المقاطعات، في حين تسمى المقاطعات البرامج الاستثناءات أو الفخاخ. استثناء هو المقاطعة البرمجيات التي يتم إنشاؤها تلقائيا، في حين أن فخ هو المقاطعة التي تم استدعاء البرامج التي بدأها المبرمج. بمجرد رفع المقاطعة (البرامج أو الأجهزة)، يتم نقل عنصر التحكم إلى روتين فرعي خاص يسمى إسر (خدمة المقاطعة الروتينية) التي يمكن التعامل مع الشروط التي يتم رفعها من قبل المقاطعة.

ما المقصود بالمقاطعة؟

مصطلح المقاطعة عادة ما تكون مخصصة لقطع الأجهزة . هي انقطاع التحكم في البرامج التي تسببها أحداث الأجهزة الخارجية. هنا، الوسائل الخارجية الخارجية لوحدة المعالجة المركزية . المقاطعات الأجهزة عادة ما تأتي من العديد من المصادر المختلفة مثل رقاقة الموقت والأجهزة الطرفية (لوحات المفاتيح والماوس وغيرها)، ومنافذ الإدخال / الإخراج (المسلسل، موازية، وما إلى ذلك)، محركات الأقراص، كموس على مدار الساعة، وبطاقات التوسع بطاقة، بطاقة الفيديو، الخ). وهذا يعني ان المقاطعات الأجهزة تحدث تقريبا بسبب بعض الأحداث ذات الصلة إلى تنفيذ البرنامج. على سبيل المثال، حدث مثل الصحافة الرئيسية على لوحة المفاتيح من قبل المستخدم، أو توقيت جهاز داخلي توقيت الخروج يمكن رفع هذا النوع من المقاطعة ويمكن أن تبلغ وحدة المعالجة المركزية أن جهاز معين يحتاج إلى بعض الاهتمام. في حالة من هذا القبيل وحدة المعالجة المركزية سوف تتوقف كل ما كان يفعل (ط.توقف البرنامج الحالي)، ويوفر الخدمة المطلوبة من قبل الجهاز، وسوف نعود إلى البرنامج العادي. عندما تحدث المقاطعات الأجهزة وتبدأ وحدة المعالجة المركزية إسر، يتم تعطيل المقاطعات الأجهزة الأخرى (ه في 80 × 86 آلات). إذا كنت بحاجة إلى المقاطعات الأجهزة الأخرى تحدث أثناء تشغيل إسر، تحتاج إلى القيام بذلك صراحة عن طريق مسح علم المقاطعة (مع ستي تعليمات). في 80 × 86 آلات، وإزالة علم المقاطعة تؤثر فقط المقاطعات الأجهزة.

ما هو الفخ؟

ويمكن تحديد الفخ باعتباره نقل السيطرة، والذي يبدأ من قبل مبرمج. يستخدم مصطلح تراب بالتبادل مع مصطلح إكسبتيون (وهو عبارة عن مقاطعة برامج تحدث تلقائيا). ولكن البعض قد يجادل بأن فخ هو مجرد مكالمة فرعية فرعية خاصة. حتى أنها تقع في فئة المقاطع التي استندت البرمجيات. على سبيل المثال، في 80 × 86 آلة، يمكن لمبرمج استخدام إنت تعليمات لبدء فخ. لأن فخ دائما غير مشروط سيتم دائما نقل عنصر التحكم إلى الروتين الفرعي المرتبطة فخ. يتم التعرف على التعليمات الدقيقة، التي تستدعي الروتين للتعامل مع فخ بسهولة لأنه يتم استخدام تعليمات صريحة لتحديد فخ.

ما هو الفرق بين المقاطعة والفخ؟

المقاطعات هي المقاطعات الأجهزة، في حين أن الفخاخ هي المقاطع استدعاء البرامج. حالات المقاطعات الأجهزة عادة تعطيل المقاطعات الأجهزة الأخرى، ولكن هذا لا ينطبق على الفخاخ. إذا كنت بحاجة إلى عدم السماح المقاطعات الأجهزة حتى يتم تقديم فخ، تحتاج إلى مسح واضح علم المقاطعة. وعادة ما يؤثر العلم مقاطعة على الكمبيوتر (الأجهزة) المقاطعات بدلا من الفخاخ. وهذا يعني أن إزالة هذه العلامة لن يمنع الفخاخ. على عكس الفخاخ، المقاطعات يجب الحفاظ على الحالة السابقة من وحدة المعالجة المركزية.