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

Anonim

استدعاء النظام مقابل استدعاء الدالة

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

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

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

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

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

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

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