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

ميغيل أوجيدا، مؤلف مشروع Rust-for-Linux ، كشفت Teme النقاب مؤخرًا عن الاقتراح الرابع لـ مكونات برنامج تشغيل الجهاز الصدأ لمطوري Linux kernel للنظر فيها.

يعتبر دعم الصدأ تجريبيًا ، ولكن تم الاتفاق بالفعل على إدراجه في فرع linux-next وهو ناضج بدرجة كافية لبدء العمل على طبقات التجريد أعلى أنظمة kernel الفرعية ، بالإضافة إلى محركات الكتابة والوحدات النمطية. تم تمويل التطوير من قبل Google و ISRG (مجموعة أبحاث أمان الإنترنت) ، وهي مؤسسة مشروع Let's Encrypt وتعزز HTTPS وتطوير التقنيات لزيادة أمان الإنترنت.

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

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

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

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

ما هي التغييرات في الدفعة الرابعة؟

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

سنستمر في التحديث حتى لا نعتمد على أي ميزات غير مستقرة ؛
عند هذه النقطة ، قد نرغب في البدء في الإعلان عن إصدار أدنى من Rust
مدعوم ، كما هو الحال ، على سبيل المثال ، لـ GCC و Clang.

وبالمثل ، انتقلنا أيضًا إلى إصدار 2021 من لغة Rust.

أما بالنسبة للتغييرات الأخرى التي تم إجراؤها على هذا الإصدار الجديد ، فقد جاء في الإعلان ما يلي:

  • تم الانتقال لاستخدام Rust 1.58.0 المستقر كمترجم مرجعي.
  • التغييرات المطلوبة للمشروع ، والتي لم يتم تضمينها بعد في مجموعة أدوات Rust الرئيسية ، تتضمن علامة "-Zsymbol-mangling-version = v0" (متوقع في Rust 1.59.0) ووضع "might_uninit_extra" (متوقع في Rust 1.60.0) .
  • تمت إضافة الفحوصات التلقائية لتوافر أدوات الصدأ ومدى ملاءمتها ، كما تم توسيع القدرة على اختبار دعم الصدأ على النظام.
  • تم اقتراح أفكار تجريدية جديدة لتكون قادرة على الوصول إلى جداول معرف الجهاز ("IdArray" و "IdTable") من كود Rust.
  • تمت إضافة طبقات لوظائف الاتصال المرتبطة بالمؤقت (إطار الساعة).
  • يتم الآن تعريف وحدات التحكم في النظام الأساسي من خلال تطبيقات السمات.
  • تمت إضافة ماكرو جديد من أجل تبسيط تسجيل برنامج تشغيل النظام الأساسي وتم اقتراح قالب برنامج تشغيل عام جديد.
  • تمت إضافة وحدات ماكرو جديدة لهياكل "dev_ *".
  • تمت إضافة طرق جديدة "{read، write} * _ relaxed" لنوع IoMem .
  • تمت إزالة خاصية FileOpener لتبسيط عمليات الملفات.
  • تمت إضافة معلمة "ThisModule" إلى عدد الوسائط التي تم تمريرها أثناء تسجيل وحدة التحكم.
  • يُقترح نموذج نموذجي لإنشاء وحدات kernel في لغة Rust.

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


اترك تعليقك

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

*

*

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