لغة 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 والتجميع ورست.
الاستخدام

تحتوي نواة لينكس على مكونات Rust التالية:
- برنامج تشغيل Android Binder IPC [ 10 ] [ 3 ] [ 20 ]
- rnull، بديل مباشر للجهاز الفارغ [ 3 ] [ 21 ]
- برامج تشغيل الشبكة للطبقة الفيزيائية ASIX AX88772A و Realtek Generic FE-GE [ 3 ] [ 4 ] [ 22 ] [ 23 ]
- معالج الذعر في نواة مدير العرض المباشر ، والذي يعرض رمز الاستجابة السريعة [ 19 ] [ 24 ]
ومن المشاريع البارزة الأخرى التي تستخدم لغة Rust في نظام Linux ما يلي:
- tarfs، وهو نظام ملفات tar [ 3 ] [ 25 ]
- برنامج تشغيل جهاز NVM Express (NVMe) [ 3 ]
- برنامج تشغيل إدارة الحقوق الرقمية لوحدة معالجة الرسومات AGX من Apple silicon في نظام التشغيل Asahi Linux [ 26 ] [ 3 ] [ 27 ]
- PuzzleFS، نظام ملفات حاويات [ 3 ] [ 28 ] [ 25 ]
- نظام ملفات ext2 للقراءة فقط [ 25 ]
- يتم تطوير Nova، التي تهدف إلى إنشاء برنامج تشغيل Rust nouveau Nvidia GPU، على البنية التحتية لمشروع freedesktop.org [ 29 ] [ 30 ]
انظر أيضاً
مراجع
- 1 2 فوغان-نيكولز، ستيفن. "راست في لينكس: أين نحن وإلى أين نتجه لاحقًا" . zdnet . تم الاطلاع عليه في 31 أغسطس 2024 .
- ↑ "لينوس تورفالدز يتحدث عن الذكاء الاصطناعي، واعتماد لغة البرمجة Rust، ولماذا تعتبر نواة لينكس "الشيء الوحيد المهم"" . zdnet . 23 أغسطس 2024 . تم الاطلاع عليه في 31 أغسطس 2024 .
- 1 2 3 4 5 6 7 8 9 10 لي، هونغ يو؛ قوه، ليوي؛ يانغ، يكسوان؛ وانغ، شانغوانغ؛ شو ، منجوي (1 يوليو 2024). "دراسة تجريبية لنظام الصدأ لنظام التشغيل Linux: النجاح وعدم الرضا والتسوية" . يوسينكس . ؛تسجيل الدخول: . تم الاسترجاع في 4 سبتمبر 2024 .
- 1 2 داس، أنكوش (11 مارس 2024). "إصدار نواة لينكس 6.8! دعم قوي للأجهزة" . news.itsfoss.com . تم الاطلاع عليه في 4 سبتمبر 2024 .
- 1 2 ليمهويس، ثورستن (10 ديسمبر 2025). "Linux Kernel: تمت الموافقة رسميًا على دعم الصدأ" . heise.de . تم الاسترجاع في 12 ديسمبر 2025 .
- ↑ كلابورن، توماس (23 يونيو 2022). "لينوس تورفالدز يقول إن لغة رست ستُضاف إلى نواة لينكس" . ذا ريجستر . مؤرشف من الأصل في 28 يوليو 2022. تم الاطلاع عليه في 25 يوليو 2022 .
- ↑ بيركل، جيفري م . (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 .
- ↑ فوغان-نيكولز، ستيفن ج. (5 أكتوبر 2022). "راست في نواة لينكس" . thenewstack.io . تم الاطلاع عليه في 31 أغسطس 2024 .
- ↑ أوجيدا، ميغيل (23 يونيو 2022). "أمان الذاكرة لأكبر مشروع برمجيات في العالم" . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- 1 2 سيمون، سيرجيو دي (27 أبريل 2021). "استخدام لغة Rust لكتابة برامج تشغيل نواة لينكس آمنة وصحيحة" . InfoQ . مؤرشف من الأصل في 22 سبتمبر 2022. تم الاطلاع عليه في 4 أغسطس 2022 .
- ↑ فوغان-نيكولز، ستيفن (27 يونيو 2022). "لينوس تورفالدز متفائل بحذر بشأن إدخال لغة رست في الإصدار القادم من نواة لينكس" . زد نت . مؤرشف من الأصل في 12 أغسطس 2022. تم الاطلاع عليه في 4 أغسطس 2022 .
- ↑ تونغ، ليام (15 أغسطس 2022). "لينكس 6.0 يصل مع تحسينات في الأداء ومزيد من دعم لغة رست" . زد نت . مؤرشف من الأصل في 7 سبتمبر 2022. تم الاطلاع عليه في 7 سبتمبر 2022 .
- ↑ تورفالدز، لينوس (14 أغسطس 2022). "لينكس 6.0-rc1" . LWN.net . تم الاطلاع عليه بتاريخ 7 سبتمبر 2022 .
- ↑ فوغان-نيكولز، ستيفن (19 سبتمبر 2022). "لينوس تورفالدز: ستُدمج لغة رست في لينكس 6.1" . زد نت . مؤرشف من الأصل في 19 يناير 2023. تم الاطلاع عليه في 20 سبتمبر 2022 .
- ↑ بروفن، ليام (5 أكتوبر 2022). "لينكس 6.1: لغة رست ستُدمج في نواة النظام الرئيسية" . ذا ريجستر . مؤرشف من الأصل بتاريخ 12 أكتوبر 2022. تم الاطلاع عليه بتاريخ 12 أكتوبر 2022 .
- ↑ كوربيت، جوناثان. "الخطوات التالية للغة رست في نواة النظام" . LWN.net . مؤرشف من الأصل بتاريخ 2023-06-08 . تم الاطلاع عليه بتاريخ 2023-05-03 .
- ↑ لارابيل، مايكل. "المزيد من أكواد Rust جاهزة لنظام Linux 6.4" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- ^ نوب ، ديرك (27 يوليو 2024). "Linux-Kernel 6.10: تحديث نظام البيانات وTreiber الجديد" . heise.de . تم الاسترجاع في 31 أغسطس 2024 .
- 1 2 ليمهاوس، ثورستن (29 أغسطس 2024). "نواة لينكس تُصاب بـ"شاشات زرقاء" مع رمز الاستجابة السريعة" . heise.de . تم الاطلاع عليه في 31 أغسطس 2024 .
- ↑ فيلهو، ويدسون ألميدا (14 أبريل 2021). "Rust في نواة لينكس" . مدونة جوجل للأمن . تم الاطلاع عليه في 31 أغسطس 2024 .
- ↑ لارابيل، مايكل. "نشر برنامج تشغيل كتلة فارغة بلغة رست لبدء تجربة استخدام لغة رست لتخزين البيانات في لينكس" . phoronix.com . تاريخ الاطلاع: 31 أغسطس 2024 .
- ↑ لارابيل، مايكل. "أول برنامج تشغيل لطبقة PHY للشبكة مكتوب بلغة Rust سيُطرح في Linux 6.8" . phoronix.com . تاريخ الاطلاع: 31 أغسطس 2024 .
- ↑ "مفاهيم Rust المجردة لبرامج تشغيل الطبقة الفيزيائية للشبكة" . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- ↑ "إضافة شاشة طوارئ برمز الاستجابة السريعة" . تم الاطلاع عليه بتاريخ 16 يونيو 2025 .
- 1 2 3 لارابيل، مايكل. "مهندس مايكروسوفت ينقل برنامج تشغيل نظام الملفات EXT2 إلى لغة Rust" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- ↑ كوربيت، جوناثان (2 سبتمبر 2024). "إلى أين يتجه برنامج تشغيل رسومات Apple AGX؟" . LWN.net . تم الاطلاع عليه في 5 سبتمبر 2024 .
- ↑ لارابيل، مايكل. "مفاهيم أولية حول إدارة الحقوق الرقمية في لغة رست، تم نشر برنامج تشغيل إدارة الحقوق الرقمية من AGX Apple للمراجعة" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- ↑ لارابيل، مايكل. "نظام ملفات بازل إف إس يواصل سعيه ليكون أفضل نظام ملفات للحاويات" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- ↑ داس، أنكوش (21 مارس 2024). "ريد هات تكشف النقاب عن برنامج تشغيل 'نوفا' المبني على لغة رست: نسخة محسّنة من نوفو لوحدات معالجة الرسومات من إنفيديا" . news.itsfoss.com . تم الاطلاع عليه في 4 سبتمبر 2024 .
- ↑ لارابيل، مايكل. "الطريق الطويل والوعر أمام ريد هات لنيوفا كخليفة لسائق نوفو" . phoronix.com . تم الاطلاع عليه بتاريخ 31 أغسطس 2024 .
- برنامج مجاني مكتوب بلغة C
- مشاريع برمجيات لينكس
- برنامج يستخدم رخصة جنو العمومية العامة
