يتضمن مجلس التعاون الخليجي الآن واجهة خلفية للتجميع إلى eBPF

المدرجة في مجموعة مترجم دول مجلس التعاون الخليجي اعتمد رمز لتجميع البرامج لمترجم bytecode المضمن في Linux kernel eGMP. بفضل استخدام تجميع JIT، تتم ترجمة كود kernel الثانوي بسرعة إلى تعليمات الجهاز ويتم تنفيذه بأداء التعليمات البرمجية الأصلية. تصحيحات بدعم eBPF وافقت إلى الفرع الذي تم تطوير إصدار دول مجلس التعاون الخليجي 10 منه.

بالإضافة إلى الواجهة الخلفية لإنشاء كود البايت، يتضمن مجلس التعاون الخليجي منفذ libgcc لـ eBPF وأدوات لإنشاء ملفات ELF التي تتيح تنفيذ التعليمات البرمجية في جهاز eBPF الظاهري باستخدام أدوات التحميل المتوفرة من kernel. تم إعداد التصحيحات لدعم eBPF في دول مجلس التعاون الخليجي من قبل مهندسين من شركة Oracle، الذين قاموا بذلك بالفعل قدمت دعم eBPF في ملفات GNU binutils. هناك أيضًا محاكي وتصحيحات لـ GDB قيد التطوير، مما سيسمح لك بتصحيح أخطاء برامج eBPF دون تحميلها في النواة.

يمكن تعريف برامج eBPF في مجموعة فرعية من لغة C، وتجميعها وتحميلها في النواة. قبل التنفيذ، يتحقق مترجم eBPF من الكود الثانوي لاستخدام التعليمات المسموح بها ويفرض قواعد معينة على الكود (على سبيل المثال، لا توجد حلقات).
في البداية، تم استخدام الأدوات المستندة إلى LLVM لتجميع eBPF على Linux. يعد دعم eBPF في دول مجلس التعاون الخليجي أمرًا مثيرًا للاهتمام لأنه يسمح لك باستخدام مجموعة أدوات واحدة لإنشاء برامج Linux kernel وeBPF، دون تثبيت تبعيات إضافية.

في شكل برامج eBPF، يمكنك إنشاء معالجات تشغيل الشبكة، وتصفية حركة المرور، وإدارة النطاق الترددي، ومراقبة الأنظمة، واعتراض مكالمات النظام، والتحكم في الوصول، وحساب تكرار العمليات ووقتها، وإجراء التتبع باستخدام kprobes/uprobes/نقاط التتبع.

المصدر: opennet.ru

إضافة تعليق