جوش تريبليت، الذي يعمل في شركة Intel وعضو في اللجنة المشرفة على تطوير Crates.io، يتحدث في قمة التكنولوجيا مفتوحة المصدر
في مجموعة عمل قيد الإنشاء، سيقوم مطورو Rust، جنبًا إلى جنب مع مهندسين من شركة Intel، بإعداد مواصفات تحدد الوظائف التي يجب تنفيذها في Rust لبرمجة الأنظمة. غالبًا ما تتطلب برمجة النظام معالجة منخفضة المستوى، مثل تنفيذ تعليمات المعالج المميزة والحصول على معلومات مفصلة حول حالة المعالج. من بين الميزات المماثلة التي تم تطويرها بالفعل لـ Rust، تمت الإشارة إلى دعم الهياكل غير المسماة والاتحادات وإدراج لغة التجميع (الماكرو "asm!") وتنسيق رقم النقطة العائمة BFLOAT16.
يعتقد جوش أن مستقبل برمجة النظام ينتمي إلى Rust، وأن لغة C في الواقع الحديث تطالب بالمكان الذي احتلته الجمعية في السنوات الماضية. الصدأ
لا يخفف المطورين من المشاكل الكامنة في لغة C التي تنشأ بسبب العمل على مستوى منخفض مع الذاكرة فحسب، بل يوفر أيضًا الفرصة لاستخدامها في تطوير نماذج البرمجة الحديثة.
خلال
جاء جوش بفكرة إضافة إمكانية تطوير برامج التشغيل في نواة Linux بلغة Rust، والتي من شأنها أن تجعل من الممكن إنشاء برامج تشغيل أكثر أمانًا وأفضل بأقل جهد، وخالية من مشاكل مثل الوصول إلى الذاكرة بعد تحريرها، خالية إلغاء مرجعيات المؤشر وتجاوزات المخزن المؤقت.
أبدى جريج كرواه-هارتمان، المسؤول عن الحفاظ على الفرع المستقر لنواة Linux، استعداده لإضافة إطار عمل لتطوير برامج التشغيل بلغة Rust إلى النواة إذا كانت تتمتع بمزايا حقيقية مقارنة بـ C، على سبيل المثال، ستوفر الأمان الارتباطات عبر Kernel API. بالإضافة إلى ذلك، يعتبر جريج إطار العمل هذا كخيار فقط، وغير نشط افتراضيًا، حتى لا يتم تضمين Rust كاعتمادية بناء على النواة.
اتضح أن عدة فرق تعمل بالفعل في هذا الاتجاه. على سبيل المثال، مطورو شركة "Fish in a Barrel"
موازي
لم يتم تنفيذ جميع الوظائف المقصودة بعد، ولكن إطار العمل مناسب تمامًا للعمل بالفعل وتم استخدامه لكتابة برنامج تشغيل عامل لوحدة تحكم LAN9512 USB Ethernet المتوفرة في لوحة Raspberry Pi 3. برنامج تشغيل smsc95xx الحالي، المكتوب بواسطة لغة سي. تجدر الإشارة إلى أن حجم الوحدة والحمل الزائد من مكونات وقت التشغيل عند تطوير برنامج تشغيل في Rust يكون غير مهم، مما يسمح باستخدام إطار العمل للأجهزة ذات الموارد المحدودة.
المصدر: opennet.ru