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

ما هو نظام الاتصال في Operaنظام تينغ؟
A استدعاء النظام هي آلية توفر الواجهة بين العملية ونظام التشغيل. وهي طريقة برمجية يطلب فيها برنامج كمبيوتر خدمة من نواة نظام التشغيل.
تقدم نداءات النظام خدمات نظام التشغيل لبرامج المستخدم عبر واجهة برمجة التطبيقات (API). تعد نداءات النظام هي نقاط الدخول الوحيدة لنظام النواة.
مكالمات النظام Operaنظام تينج
مثال على استدعاء النظام
على سبيل المثال، لكتابة برنامج يقرأ البيانات من ملف واحد وينسخها إلى ملف آخر، يحتاج البرنامج أولاً إلى أسماء الملفين: ملفي الإدخال والإخراج.
في النظام التفاعلي، يتطلب هذا النوع من تنفيذ البرامج بعض استدعاءات النظام من قبل نظام التشغيل.
- الخطوة الأولى هي كتابة رسالة توضيحية على الشاشة.
- أما الثاني فهو قراءة الأحرف التي تحدد الملفين من لوحة المفاتيح.
كيف يعمل نظام الاتصال؟
فيما يلي خطوات استدعاء النظام في نظام التشغيل:
Archiبنية استدعاء النظام
كما ترون في مخطط استدعاء النظام أعلاه:
الخطوة 1) تُنفذ العمليات في وضع المستخدم حتى يتم مقاطعتها بواسطة استدعاء النظام.
الخطوة 2) بعد ذلك، يتم تنفيذ استدعاء النظام في وضع النواة على أساس الأولوية.
الخطوة 3) بمجرد انتهاء تنفيذ استدعاء النظام، يعود التحكم إلى وضع المستخدم.
الخطوة 4) يستأنف تنفيذ عمليات المستخدم، وينتقل بين وضع المستخدم و وضع النواة كما هو مطلوب.
لماذا تحتاج إلى مكالمات النظام في نظام التشغيل؟
فيما يلي بعض الحالات التي تتطلب استدعاءات النظام في نظام التشغيل:
- القراءة والكتابة من الملفات تتطلب مكالمات النظام.
- إذا كان نظام الملفات يريد إنشاء ملفات أو حذفها، فستكون مكالمات النظام مطلوبة.
- تُستخدم مكالمات النظام لإنشاء وإدارة العمليات الجديدة.
- تحتاج اتصالات الشبكة إلى مكالمات النظام لإرسال واستقبال الحزم.
- يتطلب الوصول إلى الأجهزة مثل الماسح الضوئي أو الطابعة إجراء استدعاء للنظام.
أنواع استدعاءات النظام
فيما يلي الأنواع الخمسة من استدعاءات النظام في نظام التشغيل:
- تحكم في عملية
- إدارة الملفات
- إدارة الجهاز
- صيانة المعلومات
- التواصل
أنواع استدعاءات النظام في نظام التشغيل
تحكم في عملية
تؤدي هذه الاستدعاءات النظامية مهمة إنشاء العمليات وإنهاء العمليات وما إلى ذلك.
وظائف:
- إنهاء وإلغاء
- تحميل وتنفيذ
- إنشاء عملية وإنهاء العملية
- انتظر و Signal الحدث/الفعالية
- تخصيص وتحرير الذاكرة
إدارة الملفات
تتعامل مكالمات نظام إدارة الملفات مع وظائف معالجة الملفات مثل إنشاء ملف والقراءة والكتابة وما إلى ذلك.
وظائف:
- قم بإنشاء ملف
- حذف ملف
- فتح وإغلاق الملف
- القراءة والكتابة وتغيير الموضع
- الحصول على وتعيين سمات الملف
إدارة الجهاز
تؤدي إدارة الأجهزة مهمة معالجة الأجهزة مثل القراءة من مخازن الأجهزة والكتابة في مخازن الأجهزة وما إلى ذلك.
وظائف:
- طلب وإطلاق الجهاز
- توصيل الأجهزة أو فصلها منطقياً
- الحصول على سمات الجهاز وتعيينها
صيانة المعلومات
يتعامل مع المعلومات ونقلها بين نظام التشغيل وبرنامج المستخدم.
وظائف:
- الحصول على أو ضبط الوقت والتاريخ
- الحصول على سمات العملية والجهاز
التواصل
تُستخدم هذه الأنواع من استدعاءات النظام بشكل خاص للتواصل بين العمليات.
وظائف:
- إنشاء وحذف اتصالات الاتصال
- إرسال واستقبال الرسائل
- مساعدة نظام التشغيل في نقل معلومات الحالة
- قم بتوصيل أو فصل الأجهزة البعيدة
قواعد تمرير معلمات استدعاء النظام
فيما يلي القواعد العامة لتمرير المعاملات إلى استدعاء النظام:
- يجب على نظام التشغيل دفع المعلمات إلى المكدس أو إزالتها منه.
- يمكن تمرير المعلمات في السجلات.
- عندما يكون عدد المعلمات أكبر من عدد السجلات، يجب تخزينها في كتلة، ويجب تمرير عنوان الكتلة في سجل.
استدعاءات النظام الهامة المستخدمة في نظام التشغيل
انتظر()
في بعض الأنظمة، يجب أن تنتظر عملية ما انتهاء عملية أخرى. يحدث هذا عندما تُنشئ عملية رئيسية عملية فرعية، وتبقى العملية الرئيسية معلقة حتى تنتهي العملية الفرعية.
يتم تعليق العملية الأب تلقائيًا باستخدام استدعاء النظام wait(). وعندما تنتهي العملية الابن من التنفيذ، يعود التحكم إلى العملية الأب.
فرع()
تستخدم العمليات هذا الاستدعاء النظامي لإنشاء عمليات أخرى تُعدّ نسخًا من نفسها. وبمساعدة الدالة fork()، تُنشئ العملية الأصلية عملية فرعية، وتُعلّق العملية الأصلية حتى يتم تنفيذ العملية الفرعية.
إكسيك ()
يستدعي هذا النظام ملفًا تنفيذيًا ضمن عملية قيد التشغيل، ليحل محل الملف القديم. ويبقى مُعرّف العملية الأصلي كما هو، إذ لا يتم إنشاء عملية جديدة، ولكن يتم استبدال المكدس والبيانات والذاكرة المخصصة، وما إلى ذلك، بالعملية الجديدة.
قتل()
يستخدم نظام التشغيل استدعاء النظام kill() لإرسال إشارة إنهاء إلى عملية ما، لحثها على الخروج. مع ذلك، لا يعني استدعاء النظام kill بالضرورة إنهاء العملية، وقد يحمل معاني مختلفة.
خروج()
يُستخدم استدعاء النظام exit() لإنهاء تنفيذ البرنامج. وخاصةً في بيئة متعددة الخيوط، يُشير هذا الاستدعاء إلى اكتمال تنفيذ الخيط. ويستعيد نظام التشغيل الموارد التي استخدمها البرنامج بعد استدعاء exit().




