سمة #![no_std]
البرمجة على الحديد العاري (Bare Metal)بشكل افتراضي، تعتمد برامج Rust على مكتبة قياسية ضخمة تسمى std (Standard Library) تتواصل مع نظام التشغيل لفتح الملفات، حجز الذاكرة، والتواصل عبر الشبكة.
لكن في Heroban OS، نحن لا نبني تطبيقات عادية تعمل فوق ويندوز أو لينكس؛ نحن نبني الأساس نفسه. مكوناتنا وحاوياتنا تعمل في بيئة معزولة ولا يوجد "نظام تشغيل تقليدي" ليقدم لها الخدمات!
أمثلة من الحياة اليومية
🏗️ مثال البناء:
استخدام std يشبه بناء منزل في مدينة متطورة؛ حيث توفر لك البلدية (نظام التشغيل) شبكات الكهرباء والماء الجاهزة. أما no_std فيشبه بناء محطة في الفضاء الخارجي! لا توجد بنية تحتية؛ عليك ابتكار نظامك الخاص من الصفر، معتمداً على مكتبة core فقط.
👨🍳 مثال الطبخ:
استخدام std يشبه الطبخ في مطبخ حديث؛ تفتح الصنبور للماء وتشغل الموقد الكهربائي. لكن no_std يشبه الطبخ في وسط الصحراء! إذا أردت ناراً عليك جمع الحطب بنفسك، وإذا أردت ماءً عليك حفر بئر.
📱 مثال الأجهزة:
استخدام std يشبه كتابة تطبيق لهاتف ذكي. لكن no_std يشبه برمجة الشريحة الدقيقة داخل "جهاز تنظيم ضربات القلب"! لكي تضيء لمبة صغيرة يجب أن ترسل النبضات الكهربائية بنفسك حرفياً.
الاعتماد على core فقط
باستخدام no_std، نتخلى عن المكتبة القياسية ونكتفي بمكتبة core الأصغر والأكثر استقلالية، والتي لا تحتاج لأي نظام تشغيل للعمل.
أمان النواة الدقيقة
تضمن لنا هذه السمة أن الكود الخاص بنا لا يستدعي أي ميزات غير متوقعة من العتاد، مما يبقيه نظيفاً، صغيراً، ومناسباً للعمليات الحرجة المتصلة بنواة seL4 مباشرة.
