تم بالفعل شحن الإصدار الثاني من التصحيحات الخاصة بدعم برنامج تشغيل Rust على نظام Linux

في مارس من هذا العام على فرع لينكس المقبل التي كانت تعمل فيها في ذلك الوقت مع Linux kernel 5.13 ، تم تضمين مجموعة أولية من المكونات لتطوير برامج تشغيل الأجهزة في اللغة الصدأ والآن تم تقديم الطلب لتضمين طبعة ثانية من التصحيحات لإضافة دعم Rust إلى Linux kernel.

الشخص الذي أرسل الطلب إلى مطوري Linux هو Miguel Ojeda ، مؤلف مشروع Rust-for-Linux والذي تحدثنا عنه أيضًا منذ بضعة أيام ، منذ أن تم تعيينه لتولي مسؤولية مشروع "Prossimo" الذي كان أساسًا يركز على تنسيق الجهود لنقل البنية التحتية الحيوية للبرامج إلى رمز آمن لتأمين ذاكرة Linux kernel باستخدام Rust (إذا كنت تريد معرفة المزيد عن المشروع ، يمكنك الرجوع إلى النشر على الرابط أدناه.)

السائقين الصدأ على لينكس
المادة ذات الصلة:
Prossimo ، مشروع ISRG لتأمين ذاكرة Linux kernel باستخدام Rust

الطلب الذي أرسله ميغيل أوجيدا هو نسخة ثانية محدثة من مكونات تطوير برامج تشغيل الأجهزة بلغة Rust والتي تم فيها حذف التعليقات التي تم إجراؤها أثناء مناقشة الإصدار الأول من التصحيحات والتي انضم إليها Linus Torvalds بالفعل إلى المناقشة واقترح تغيير المنطق لمعالجة بعض عمليات البت.

داخل الفوائد المذكورة هي أن إدارة الذاكرة الآمنة مضمونة في Rust في وقت الترجمة عن طريق التحقق من المراجع وتتبع ملكية الكائن وعمر الكائن ، بالإضافة إلى تقييم صحة الوصول إلى الذاكرة في وقت التشغيل.

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

من التغييرات التي تبرز من هذا الإصدار الجديد من الباتشات المذكورة:

  • يمنع رمز تخصيص الذاكرة إمكانية توليد حالة ذعر عند حدوث أخطاء مثل نفاد الذاكرة.
  • متضمن متغير من مكتبة تخصيص Rust ، حيث تمت إعادة صياغة الكود للتعامل مع الأقفال، ولكن الهدف النهائي هو إحضار جميع الميزات الضرورية للنواة إلى الإصدار الرئيسي من التخصيص (تم بالفعل إعداد التغييرات ونقلها إلى مكتبة Rust القياسية).
  • بدلاً من الإصدارات الليلية ، يمكن الآن استخدام الإصدارات التجريبية والمستقرة برنامج التحويل البرمجي rustc لتجميع نواة تدعم الصدأ. حاليًا ، يتم استخدام rustc 1.54-beta1 كمترجم مرجعي ، ولكن بعد الإصدار 1.54 في نهاية الشهر ، سيتم دعمه كمترجم مرجعي.
  • تمت إضافة دعم لكتابة الاختبارات باستخدام سمة Rust القياسية "# [اختبار]" والقدرة على استخدام المبادئ لاستخدام نموذج التعليمات البرمجية من الوثائق كاختبارات.
  • تمت إضافة دعم لبنى ARM32 و RISCV بالإضافة إلى x86_64 و ARM64 المدعومة مسبقًا.
    تطبيقات دول مجلس التعاون الخليجي المحسنة Rust (الواجهة الخليجية الأمامية لـ Rust) و rustc_codegen_gcc (الواجهة الخلفية rustc لدول مجلس التعاون الخليجي) ، والتي تتجاوز الآن جميع المعايير.
  • أ مستوى جديد من التجريد لبرامج Rust لاستخدام آليات kernel المكتوبة بلغة C ، مثل الأشجار وكائنات عد المراجع وإنشاء واصفات الملفات والمهام والملفات وناقلات الإدخال / الإخراج.
  • لقد حسنت مكونات تطوير برنامج التشغيل من دعم الوحدة النمطية "file_operations" ، و "module!" Macro ، وتسجيل الماكرو ، وبرامج التشغيل الأولية (فحص وحذف).
  • لدى Binder دعم لتمرير واصفات الملفات وارتباطات LSM.
  • يُقترح مثال أكثر وظيفية لبرنامج تشغيل Rust ، bcm2835-rng ، لمولد رقم عشوائي للأجهزة للوحات Raspberry Pi.

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.


اترك تعليقك

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

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.