logo

استدعاءات النظام في نظام التشغيل (OS)

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

ستتعرف في هذه المقالة على استدعاءات النظام في نظام التشغيل وتناقش أنواعها وأشياء أخرى كثيرة.

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

استدعاء النظام هو طريقة يستخدمها برنامج كمبيوتر لطلب خدمة من نواة نظام التشغيل الذي يعمل عليه. استدعاء النظام هو وسيلة للتفاعل مع نظام التشغيل عبر البرامج. استدعاء النظام هو طلب من برنامج كمبيوتر إلى نواة نظام التشغيل.

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

كيف يتم إجراء مكالمات النظام؟

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

فيما يلي بعض الأمثلة لكيفية اختلاف استدعاء النظام عن وظيفة المستخدم.

إضافة جافا إلى مصفوفة
  1. قد تقوم وظيفة استدعاء النظام بإنشاء واستخدام عمليات kernel لتنفيذ المعالجة غير المتزامنة.
  2. يتمتع استدعاء النظام بسلطة أكبر من الإجراء الفرعي القياسي. يتم تنفيذ استدعاء النظام بامتياز وضع kernel في مجال حماية kernel.
  3. لا يُسمح باستدعاءات النظام باستخدام المكتبات المشتركة أو أي رموز غير موجودة في مجال حماية kernel.
  4. يتم تخزين التعليمات البرمجية والبيانات الخاصة باستدعاءات النظام في ذاكرة kernel العالمية.

لماذا تحتاج إلى مكالمات النظام في نظام التشغيل؟

هناك العديد من المواقف التي يجب أن تتطلب فيها مكالمات النظام في نظام التشغيل. وفيما يلي الحالات التالية:

  1. يجب أن يتطلب ذلك عندما يريد نظام الملفات إنشاء ملف أو حذفه.
  2. تتطلب اتصالات الشبكة مكالمات النظام لإرسال واستقبال حزم البيانات.
  3. إذا كنت تريد قراءة أو كتابة ملف، فأنت بحاجة إلى مكالمات النظام.
  4. إذا كنت تريد الوصول إلى الأجهزة، بما في ذلك الطابعة والماسح الضوئي، فأنت بحاجة إلى استدعاء النظام.
  5. تُستخدم مكالمات النظام لإنشاء وإدارة العمليات الجديدة.

كيف تعمل مكالمات النظام

تعمل التطبيقات في منطقة من الذاكرة تُعرف بمساحة المستخدم. يتصل استدعاء النظام بنواة نظام التشغيل، والتي يتم تنفيذها في مساحة النواة. عندما يقوم تطبيق ما بإنشاء استدعاء نظام، يجب عليه أولاً الحصول على إذن من kernel. ويحقق ذلك باستخدام طلب المقاطعة، الذي يوقف العملية الحالية مؤقتًا وينقل التحكم إلى النواة.

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

قد يستغرق استدعاء النظام البسيط بضع نانو ثانية لتقديم النتيجة، مثل استرداد تاريخ النظام ووقته. قد يستغرق استدعاء النظام الأكثر تعقيدًا، مثل الاتصال بجهاز شبكة، بضع ثوانٍ. تقوم معظم أنظمة التشغيل بتشغيل مؤشر ترابط kernel مميز لكل استدعاء نظام لتجنب الاختناقات. أنظمة التشغيل الحديثة متعددة الخيوط، مما يعني أنها تستطيع التعامل مع استدعاءات النظام المختلفة في نفس الوقت.

أنواع مكالمات النظام

هناك عادةً خمسة أنواع من مكالمات النظام. وهذه هي كما يلي:

استدعاءات النظام في نظام التشغيل
    تحكم العملية إدارة الملفات إدارة الجهاز صيانة المعلومات تواصل

الآن، سوف تتعرف على جميع أنواع مكالمات النظام المختلفة واحدًا تلو الآخر.

تحكم العملية

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

سلسلة الإرسال كـ int Java

إدارة الملفات

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

إدارة الجهاز

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

صيانة المعلومات

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

إرجاع مصفوفة Java

تواصل

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

أمثلة على مكالمات نظام Windows وUnix

هناك أمثلة مختلفة لاستدعاءات نظام Windows وUnix. وهي كما هي مبينة أدناه في الجدول:

عملية شبابيك يونكس
تحكم العملية عمليه الخلق()
عملية الخروج ()
WaitForSingleObject()
شوكة()
مخرج()
انتظر()
التلاعب بالملفات إنشاء ملف()
إقرا الملف()
ملف الكتابة ()
CloseHandle()
يفتح()
يقرأ()
يكتب()
يغلق()
إدارة الجهاز وضع وحدة التحكم ()
قراءة وحدة التحكم ()
وحدة تحكم الكتابة ()
إيوكتل ()
يقرأ()
يكتب()
صيانة المعلومات GetCurrentProcessID()
توقيت مجموعة()
ينام()
جيتبيد ()
إنذار()
ينام()
تواصل كريتبيبي()
إنشاء ملف مابينج ()
مابفيووففيلي ()
يضخ()
شمجيت()
مماب ()
حماية سيتفيليسكيوريتي ()
تهيئة سيكيوريتي ديسكريبتور ()
سيتسيكوريتيديسكريبتورجروب ()
شمود()
أوماسك ()
تشاون ()

وهنا سوف تتعرف على بعض الطرق باختصار:

يفتح()

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

يقرأ()

يتم استخدامه للحصول على البيانات من ملف على نظام الملفات. يقبل ثلاث حجج بشكل عام:

  • واصف الملف.
  • مخزن مؤقت لتخزين بيانات القراءة.
  • عدد البايتات المراد قراءتها من الملف.

يمكن استخدام واصف الملف المراد قراءته للتعرف عليه وفتحه باستخدام يفتح() قبل القراءة.

انتظر()

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

يكتب()

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

  • واصف الملف.
  • مؤشر إلى المخزن المؤقت الذي يتم حفظ البيانات فيه.
  • عدد البايتات التي سيتم كتابتها من المخزن المؤقت.

شوكة()

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

يغلق()

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

تنفيذي ()

عندما يحل ملف قابل للتنفيذ محل ملف قابل للتنفيذ سابق في عملية قيد التنفيذ بالفعل، يتم استدعاء وظيفة النظام هذه. نظرًا لعدم إنشاء عملية جديدة، يبقى تعريف العملية القديمة، لكن العملية الجديدة تحل محل البيانات والمكدس والبيانات والرأس وما إلى ذلك.

جافا تحويل السلسلة إلى int

مخرج()

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