Linux 6.1 RC1 ، أول نظرة على Rust على Linux

رست لينوكس

حظي تكامل Rust في Linux بمستوى عالٍ من القبول من قبل المجتمع والمطورين

مع ظهور تم تضمين أول RC لنظام Linux 6.1 العديد من التغييرات المهمة في الإصدار 6.1 ، ولكن أحد التغييرات التي حظيت بأكبر قدر من الاهتمام سيكون له أيضًا تأثير قصير المدى على مستخدمي kernel: إدخال دعم الصدأ.

لقد وعد لينوس تورفالدس في الماضي ، قمة مفتوحة المصدر الأمر الذي من شأنه أن يدفع إدراج الصدأ لنظام التشغيل Linux على الإصدار 6.1 من kernel والذي تم منه دمج إطار عمل Rust الأولي في شجرة Linux Git الرئيسية.

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

في رسالة إلى مجتمع kernel ، قال تورفالدس:

"الشجرة لها أساس حديث ، لكنها كانت أساسًا على Linux-next لمدة عام ونصف. تم التحديث بناءً على التعليقات الواردة من قمة صيانة Kernel. ميغيل هو المشرف الرئيسي وأنا أساعد عند الضرورة. خطتنا هي أن تنتقل الشجرة إلى الممارسة القياسية المتمثلة في عدم تغيير القواعد بمجرد اكتمال هذه الجولة الأولية من البنية التحتية. المحتوى هو الحد الأدنى المطلق للسماح بدمج كود Rust في النواة ، مع وجود العديد من الواجهات (وبرامج التشغيل: NVMe ، 9p ، GPU M1) في الطريق. "

على هذا النحو ، لن يقوم أي نظام به نواة 6.1 بتشغيل كود Rust ، ما تقدمه هذا التغيير إنها فرصة لمطوري النواة ليكونوا قادرين على "اللعب" مع اللغة في سياق النواة والتعرف على كيفية حدوث تطور الصدأ. الاستنتاج الأكثر ترجيحًا لمعظم المطورين هو أنه لا يوجد ما يكفي من الصدأ في جوهره حتى الآن للقيام بأي شيء يستحق العناء.

استمر العمل على Rust لـ Linux kernel منذ بضع سنوات وقد نتج عنه الكثير من التعليمات البرمجية الداعمة وبعض برامج التشغيل المثيرة للاهتمام للنظر إليها. هناك مبادرات أخرى جارية ، بما في ذلك كتابة برنامج تشغيل رسومات Apple بلغة Rust.

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

الصدأ لينكس يهدف إلى إدخال لغة برمجة أنظمة جديدة في النواة. يحتوي Rust على خاصية أساسية تجعل من المثير للاهتمام اعتباره لغة النواة الثانية: فهو يضمن عدم حدوث أي سلوك غير محدد (طالما أن الشفرة غير الآمنة عاقلة).

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

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

بمجرد القيام بذلك ، سيوافق نظام تكوين kernel على تعيين خيار CONFIG_RUST ؛ خيار إضافي لبناء نموذج وحدة.

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


اترك تعليقك

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

*

*

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