لم يكن الصدأ مستثنى من انتقادات لينوس تورفالدس

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

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

بعد ذلك ذهب Linus Torvalds إلى مراجعة التنفيذ تصحيح الاحتمالات لتعيين برامج تشغيل لغة Rust في Linux kernel وأبدت بعض الانتقادات.

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

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

هناك مشكلة أخرى تتمثل في محاولات استخدام النقطة العائمة أو أنواع 128 بت ، التي لا تصلح لبيئات مثل Linux kernel.

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

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

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

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

قد يتطلب حل المشكلة تغييرات في مترجم الصدأ والمكتبة ، على الرغم من أن الفريق ليس لديه حتى الآن استراتيجية حول كيفية تنفيذ الوحدات النمطية لمكتبات اللغات.

وبالإضافة إلى ذلك، أشار Torvalds إلى أن نموذج التحكم المقدم غير مجدي ونصح بإرفاق كمثال السائق الذي يحل واحدة من المشاكل الحقيقية.

قبل هذا أعلنت Google عن مشاركتها في مبادرة لتعزيز دعم Rust في نواة Linux y قدمت الجوانب الفنية من جدوى تنفيذ Rust لمكافحة المشاكل التي تنشأ من أخطاء في العمل مع الذاكرة.

تعتقد Google أن Rust جاهز للانضمام إلى C كلغة تطوير مكونات Linux kernel. تقدم المقالة أيضًا أمثلة على استخدام لغة Rust لتطوير برامج تشغيل kernel ، في سياق استخدامها على نظام Android الأساسي (يتم التعرف على Rust كلغة مدعومة رسميًا لتطوير Android).

نلاحظ أن أعدت Google نموذجًا أوليًا لوحدة تحكم مكتوبة بلغة Rust بالنسبة لآلية الاتصال بين العمليات الخاصة بـ Binder ، والتي ستسمح بإجراء مقارنة مفصلة للأداء والأمان لتطبيقات Binder في C و Rust.

في شكله الحالي ، لم يكتمل العمل بعد ، ولكن بالنسبة لجميع التجريدات الأساسية لوظائف النواة المطلوبة لعمل Binder ، تم إعداد الطبقات لاستخدام هذه التجريدات في كود Rust.

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


اترك تعليقك

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

*

*

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

  1.   ميغيل رودريغيز قال

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

  2.   سيت قال

    من وقت لآخر أعيد قراءة المقالات التي كتبها Linux Adictos لكن الأمر لا يستغرق وقتًا طويلاً حتى أشعر باليأس عندما أرى أنه على الرغم من وجود محتوى جيد جدًا، إلا أن النتيجة النهائية قد تم تدميرها باستخدام تهجئة فظيعة.
    هل الإملاء والنحو صعبان للغاية؟
    عار!
    ابتهج!