لغة Rust لنظام Linux

مشروع Rust for Linux هو مشروع مستمر بدأ عام 2020 لإضافة لغة Rust كلغة برمجة يمكن استخدامها ضمن نواة نظام Linux ، المكتوبة بلغة C ولغة التجميع فقط. يهدف هذا المشروع إلى الاستفادة من ميزة أمان الذاكرة في Rust لتقليل الأخطاء عند كتابة برامج تشغيل النواة . [ 1 ] كان التقدم أبطأ مما كان مأمولًا من قبل كل من مؤيدي Rust ولينوس تورفالدز ، قائد مشروع نواة Linux. [ 2 ] في ديسمبر 2023، تم قبول أولى برامج التشغيل المكتوبة بلغة Rust، وإصدارها في نواة الإصدار 6.8. [ 3 ] [ 4 ] في ديسمبر 2025، أُعلن أن Rust في نواة Linux لم تعد تجريبية، وأن تطوير Rust أصبح جزءًا رسميًا من تطوير النواة. [ 5 ]

تاريخ

كُتبت نواة لينكس بشكل أساسي بلغة C ولغة التجميع منذ إصدارها الأول عام 1991. وفي عام 1997 تقريبًا، نُظر في إضافة لغة C++ وجُرّبت لمدة أسبوعين قبل التخلي عن الفكرة. [ 6 ] أُنشئت لغة Rust عام 2006، وهي تجمع بين أداء لغات البرمجة منخفضة المستوى (مثل C) مع التركيز على أمان الذاكرة ومجموعة أدوات سهلة الاستخدام وبنية نحوية بسيطة . [ 7 ]

نشر تايسو كيم في عام 2013 مثالاً على وحدة نواة خارجية قابلة للتحميل لنظام لينكس تم إنشاؤها باستخدام لغة Rust. [ 8 ] [ 9 ]

أُعلن عن مشروع Rust for Linux في عام 2020 عبر القائمة البريدية لنواة Linux بهدف إضافة Rust كلغة برمجة قابلة للاستخدام ضمن مشروع Linux. [ 10 ] وفي قمة المصادر المفتوحة 2022، صرّح لينوس تورفالدز بأن دمج أعمال المشروع قد يبدأ مع إصدار Linux 5.20، الذي سُمّي لاحقًا Linux 6.0. [ 11 ] أُنشئت النسخة التجريبية الأولى من Linux 6.0 في 14 أغسطس 2022، دون دعم Rust. وفي ملاحظات إصدار Linux 6.0-rc1، أعرب تورفالدز عن نيته إضافة دعم Rust، قائلاً: "كنت آمل في الواقع أن نحصل على بعض البنية التحتية الأولى لـ Rust، بالإضافة إلى آلة LRU الافتراضية متعددة الأجيال، لكن لم يتحقق أيٌّ منهما هذه المرة." [ 12 ] [ 13 ] في 19 سبتمبر 2022، كشف مقالٌ من موقع ZDNet عن رسالة بريد إلكتروني من لينوس تورفالدز جاء فيها: "ما لم يحدث أمرٌ غير متوقع، فسيتم تضمين لغة Rust في الإصدار 6.1". [ 14 ]

في أكتوبر 2022، وافق تورفالدز على طلب دمج تطبيق لغة Rust لنظام Linux. [ 15 ] واعتبارًا من إصدار Linux 6.1، تم إبقاء الدعم محدودًا عمدًا لتمكين المطورين من اختبار الميزة. [ 16 ]

قام مطورو لغة Rust لنظام Linux بإنشاء مكتبة جديدة باسم "pinned-init" لتهيئة الذاكرة التي لا يجب نقلها بشكل آمن ودون أخطاء. [ 3 ] أُدرجت هذه المكتبة لأول مرة في إصدار Linux 6.4، [ 17 ] وتم تحسينها في الإصدارات اللاحقة. [ 3 ]

تضمنت نسخة لينكس 6.10 دعمًا لبنية معالج RISC-V للغة Rust. [ 18 ]

في يوليو 2024، تم اعتماد تغيير في نظام لينكس لدعم إصدارات متعددة من لغة رست لأول مرة، مما يسمح بالتجميع باستخدام كل من الإصدار 1.78 (الذي صدر في 2 مايو 2024) والإصدار 1.79 (الذي صدر في 13 يونيو 2024). [ 19 ]

اعتبارًا من أغسطس 2024يعتمد Rust لنظام Linux على ميزات غير مستقرة في مترجم Rust. [ 1 ]

في ديسمبر 2025، وخلال قمة مطوري نواة لينكس ، تقرر ترقية لغة رست من كونها تجريبية إلى جزء أساسي من النواة. [ 5 ] وهذا يوسع اللغات الأساسية في نواة لينكس لتشمل لغات C والتجميع ورست.

الاستخدام

لقطة شاشة لخطأ في نواة لينكس، تُظهر رمز Tux بنمط ASCII، وعلامة تعجب ASCII، ورمز QR، وتعليمات للمستخدم: "خطأ في النواة! يُرجى إعادة تشغيل جهاز الكمبيوتر. تمت محاولة إنهاء عملية init! رمز الخروج = 0x00000100"
خطأ فادح في نواة نظام لينكس بسبب نظام إدارة الحقوق الرقمية (DRM) مع رمز الاستجابة السريعة (QR code)، مثال على ميزة في نواة لينكس مُنفذة باستخدام لغة رست (Rust).

تحتوي نواة لينكس على مكونات Rust التالية:

ومن المشاريع البارزة الأخرى التي تستخدم لغة Rust في نظام Linux ما يلي:

انظر أيضاً

مراجع

  1. 1 2 فوغان-نيكولز، ستيفن. "راست في لينكس: أين نحن وإلى أين نتجه لاحقًا" . zdnet . تم الاطلاع عليه في 31 أغسطس 2024 .
  2. "لينوس تورفالدز يتحدث عن الذكاء الاصطناعي، واعتماد لغة البرمجة Rust، ولماذا تعتبر نواة لينكس "الشيء الوحيد المهم"" . zdnet . 23 أغسطس 2024 . تم الاطلاع عليه في 31 أغسطس 2024 .
  3. 1 2 3 4 5 6 7 8 9 10 لي، هونغ يو؛ قوه، ليوي؛ يانغ، يكسوان؛ وانغ، شانغوانغ؛ شو ، منجوي (1 يوليو 2024). "دراسة تجريبية لنظام الصدأ لنظام التشغيل Linux: النجاح وعدم الرضا والتسوية" . يوسينكس . ؛تسجيل الدخول: . تم الاسترجاع في 4 سبتمبر 2024 .
  4. 1 2 داس، أنكوش (11 مارس 2024). "إصدار نواة لينكس 6.8! دعم قوي للأجهزة" . news.itsfoss.com . تم الاطلاع عليه في 4 سبتمبر 2024 .
  5. 1 2 ليمهويس، ثورستن (10 ديسمبر 2025). "Linux Kernel: تمت الموافقة رسميًا على دعم الصدأ" . heise.de . تم الاسترجاع في 12 ديسمبر 2025 .
  6. كلابورن، توماس (23 يونيو 2022). "لينوس تورفالدز يقول إن لغة رست ستُضاف إلى نواة لينكس" . ذا ريجستر . مؤرشف من الأصل في 28 يوليو 2022. تم الاطلاع عليه في 25 يوليو 2022 .
  7. بيركل، جيفري م . (2020-12-01). " لماذا يتجه العلماء إلى لغة Rust؟" . مجلة Nature . 588 (7836): 185-186 . Bibcode : 2020Natur.588..185P . doi : 10.1038/d41586-020-03382-2 . PMID 33262490. S2CID 227251258. مؤرشف من الأصل في 2022-05-06 . تم الاطلاع عليه في 2022-08-04 .  
  8. فوغان-نيكولز، ستيفن ج. (5 أكتوبر 2022). "راست في نواة لينكس" . thenewstack.io . تم ​​الاطلاع عليه في 31 أغسطس 2024 .
  9. أوجيدا، ميغيل (23 يونيو 2022). "أمان الذاكرة لأكبر مشروع برمجيات في العالم" . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  10. 1 2 سيمون، سيرجيو دي (27 أبريل 2021). "استخدام لغة Rust لكتابة برامج تشغيل نواة لينكس آمنة وصحيحة" . InfoQ . مؤرشف من الأصل في 22 سبتمبر 2022. تم الاطلاع عليه في 4 أغسطس 2022 .
  11. فوغان-نيكولز، ستيفن (27 يونيو 2022). "لينوس تورفالدز متفائل بحذر بشأن إدخال لغة رست في الإصدار القادم من نواة لينكس" . زد نت . مؤرشف من الأصل في 12 أغسطس 2022. تم الاطلاع عليه في 4 أغسطس 2022 .
  12. تونغ، ليام (15 أغسطس 2022). "لينكس 6.0 يصل مع تحسينات في الأداء ومزيد من دعم لغة رست" . زد نت . مؤرشف من الأصل في 7 سبتمبر 2022. تم الاطلاع عليه في 7 سبتمبر 2022 .
  13. تورفالدز، لينوس (14 أغسطس 2022). "لينكس 6.0-rc1" . LWN.net . تم الاطلاع عليه بتاريخ 7 سبتمبر 2022 .
  14. فوغان-نيكولز، ستيفن (19 سبتمبر 2022). "لينوس تورفالدز: ستُدمج لغة رست في لينكس 6.1" . زد نت . مؤرشف من الأصل في 19 يناير 2023. تم الاطلاع عليه في 20 سبتمبر 2022 .
  15. بروفن، ليام (5 أكتوبر 2022). "لينكس 6.1: لغة رست ستُدمج في نواة النظام الرئيسية" . ذا ريجستر . مؤرشف من الأصل بتاريخ 12 أكتوبر 2022. تم الاطلاع عليه بتاريخ 12 أكتوبر 2022 .
  16. كوربيت، جوناثان. "الخطوات التالية للغة رست في نواة النظام" . LWN.net . مؤرشف من الأصل بتاريخ 2023-06-08 . تم الاطلاع عليه بتاريخ 2023-05-03 .
  17. لارابيل، مايكل. "المزيد من أكواد Rust جاهزة لنظام Linux 6.4" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  18. ^ نوب ، ديرك (27 يوليو 2024). "Linux-Kernel 6.10: تحديث نظام البيانات وTreiber الجديد" . heise.de . تم الاسترجاع في 31 أغسطس 2024 .
  19. 1 2 ليمهاوس، ثورستن (29 أغسطس 2024). "نواة لينكس تُصاب بـ"شاشات زرقاء" مع رمز الاستجابة السريعة" . heise.de . تم الاطلاع عليه في 31 أغسطس 2024 .
  20. فيلهو، ويدسون ألميدا (14 أبريل 2021). "Rust في نواة لينكس" . مدونة جوجل للأمن . تم الاطلاع عليه في 31 أغسطس 2024 .
  21. لارابيل، مايكل. "نشر برنامج تشغيل كتلة فارغة بلغة رست لبدء تجربة استخدام لغة رست لتخزين البيانات في لينكس" . phoronix.com . تاريخ الاطلاع: 31 أغسطس 2024 .
  22. لارابيل، مايكل. "أول برنامج تشغيل لطبقة PHY للشبكة مكتوب بلغة Rust سيُطرح في Linux 6.8" . phoronix.com . تاريخ الاطلاع: 31 أغسطس 2024 .
  23. "مفاهيم Rust المجردة لبرامج تشغيل الطبقة الفيزيائية للشبكة" . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  24. "إضافة شاشة طوارئ برمز الاستجابة السريعة" . تم الاطلاع عليه بتاريخ 16 يونيو 2025 .
  25. 1 2 3 لارابيل، مايكل. "مهندس مايكروسوفت ينقل برنامج تشغيل نظام الملفات EXT2 إلى لغة Rust" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  26. كوربيت، جوناثان (2 سبتمبر 2024). "إلى أين يتجه برنامج تشغيل رسومات Apple AGX؟" . LWN.net . تم الاطلاع عليه في 5 سبتمبر 2024 .
  27. لارابيل، مايكل. "مفاهيم أولية حول إدارة الحقوق الرقمية في لغة رست، تم نشر برنامج تشغيل إدارة الحقوق الرقمية من AGX Apple للمراجعة" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  28. لارابيل، مايكل. "نظام ملفات بازل إف إس يواصل سعيه ليكون أفضل نظام ملفات للحاويات" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
  29. داس، أنكوش (21 مارس 2024). "ريد هات تكشف النقاب عن برنامج تشغيل 'نوفا' المبني على لغة رست: نسخة محسّنة من نوفو لوحدات معالجة الرسومات من إنفيديا" . news.itsfoss.com . تم الاطلاع عليه في 4 سبتمبر 2024 .
  30. لارابيل، مايكل. "الطريق الطويل والوعر أمام ريد هات لنيوفا كخليفة لسائق نوفو" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .