الفرق بين استدعاء النظام والمقاطعة

الفرق بين استدعاء النظام والمقاطعة
الفرق بين استدعاء النظام والمقاطعة

فيديو: الفرق بين استدعاء النظام والمقاطعة

فيديو: الفرق بين استدعاء النظام والمقاطعة
فيديو: Difference between Adobe Media Encoder CS4, CS5 and CS5.5 2024, يوليو
Anonim

اتصال النظام مقابل المقاطعة

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

ما هي مكالمة النظام؟

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

ما هي المقاطعة؟

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

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

ما الفرق بين استدعاء النظام والمقاطعة؟

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

موصى به: