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

Anonim

سيستيم كال مقابل المقاطعة

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

ما هو "استدعاء النظام"؟

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

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

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

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

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

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