Linux kernel

أرسلت Sasha Levin للتو سلسلة تصحيح “طلب للتعليقات” الأولية لـ Linux kernel في هدف إنشاء إطار مواصفات API kernel.

تقوم خطاب تغطية Sasha بعمل جيد يصف إطار مواصفات API المقترح هذا لإضفاء الطابع الرسمي على واجهات برمجة تطبيقات kernel المعرضة لمنح المستخدم:

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

يوفر Framework ثلاثة مكونات رئيسية: وحدات ماكرو التصريح لتحديد اتصالات النظام وواجهات IOCTL مباشرة في مصدر kernel ، وأدوات الاستخراج الآلية لتوليد مواصفات قابلة للقراءة الآلة ، والبنية التحتية للتحقق من صحة وقت التشغيل من خلال debugfs. من خلال تضمين المواصفات إلى جانب رمز التنفيذ ، فإننا نضمن أن تظل متزامنة وتمكين الكشف الآلي لتغييرات API/ABI التي يمكن أن تحطم تطبيقات مساحة المستخدم.

يوضح هذا التنفيذ النهج مع مواصفات مكالمات النظام الأساسية (EPOLL و EXEC و MOCK) وواجهات IOCTL المعقدة (Binder ، FWCTL). المواصفات تلتقط أنواع المعلمات ، وقواعد التحقق من الصحة ، وقيم الإرجاع ، وشروط الخطأ بتنسيق منظم يتيح توليد الوثائق والتحقق من وقت التشغيل. سيقوم العمل المستقبلي بتوسيع نطاق التغطية إلى أنظمة فرعية إضافية وتكامل مع البنية التحتية للاختبار الحالية لتوفير ضمانات توافق API.

لاستكمال الإطار ، نقدم أداة “Kapi” – أداة لاستخراج وتحليل مواصفات API kernel من مصادر متعددة. يمكن للأداة استخراج المواصفات من رمز مصدر kernel (تحليل وحدات الماكرو KAPI) ، أو ثنائيات VMlinux المترجمة (قراءة قسم .kapi_specs elf) ، أو من kernel قيد التشغيل عبر debugfs. وهو يدعم تنسيقات الإخراج المتعددة (نص عادي ، JSON ، RST) لتسهيل التكامل مع أنظمة التوثيق وسير عمل الاختبار الآلي. تمكن هذه الأداة المطورين من فحص مواصفات API بسهولة ، والتحقق من التغييرات عبر إصدارات kernel ، وتوليد وثائق دون الحاجة إلى إعادة بناء kernel. “

سيكون من المثير للاهتمام للغاية معرفة أين يؤدي إطار مواصفات API kernel هذا ولكن في الوقت الحالي يمكن للمهتمين معرفة المزيد عبر سلسلة تصحيح RFC.

Source link


اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *