intro(2)

الاسم
intro - مقدمة إلى نداءات النظام

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

في كثير من الحالات، لا تقوم دالة غلاف مكتبة C بأكثر من:

•   نسخ المعطيات ورقم نداء النظام الفريد إلى المسجلات حيث تتوقعها النواة؛

•   عمل مصيدة (trap) إلى وضع النواة، وعند هذه النقطة تؤدي النواة العمل الحقيقي لنداء النظام؛

•   ضبط errno إذا أعاد نداء النظام رقم خطأ عندما تعيد النواة وحدة المعالجة المركزية إلى وضع المستخدم.

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

للحصول على قائمة بنداءات نظام لينكس، انظر syscalls(2).

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

تعتمد القيمة التي يعيدها نداء النظام الناجح على النداء نفسه. تعيد العديد من نداءات النظام 0 عند النجاح، لكن بعضها يمكن أن يعيد قيمًا غير صفرية من نداء ناجح. التفاصيل موصوفة في صفحات الدليل الفردية.

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

المعايير
تُستخدم مصطلحات واختصارات معينة للإشارة إلى بدائل ومعايير UNIX التي تتوافق معها الاستدعاءات في هذا القسم. انظر standards(7).

ملاحظات

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

  المؤلفون وشروط حقوق النشر
انظر فى رأس صفحة الدليل لمعرفة المؤلف(ين) وحقوق النسخ. لأن هذا قد يختلف من واحدة ﻷخرى!

انظر أيضًا
_syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7), time(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة خالد حسني <dr.khaled.hosny@gmail.com> و زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.