جوش ٹرپلٹ، جو انٹیل میں کام کرتے ہیں اور کریٹس ڈاٹ آئی او کی ترقی کی نگرانی کرنے والی کمیٹی میں شامل ہیں، اوپن سورس ٹیکنالوجی سمٹ میں بات کرتے ہوئے
ایک ورکنگ گروپ میں جو بننے کے عمل میں ہے، زنگ کے ڈویلپرز، انٹیل کے انجینئرز کے ساتھ مل کر، اس فعالیت کی وضاحت کرتے ہوئے وضاحتیں تیار کریں گے جن کو سسٹم پروگرامنگ کے لیے Rust میں لاگو کرنے کی ضرورت ہے۔ سسٹم پروگرامنگ میں اکثر نچلی سطح کی ہیرا پھیری کی ضرورت ہوتی ہے، جیسے کہ مراعات یافتہ پروسیسر کی ہدایات پر عمل کرنا اور پروسیسر کی حالت کے بارے میں تفصیلی معلومات حاصل کرنا۔ اسی طرح کی خصوصیات میں سے جو پہلے سے زنگ کے لیے تیار کی جا رہی ہیں، بے نام ڈھانچے، یونینز، اسمبلی لینگویج انسرٹس ("asm!" میکرو) کے لیے سپورٹ اور BFLOAT16 فلوٹنگ پوائنٹ نمبر فارمیٹ نوٹ کیا گیا ہے۔
جوش کا خیال ہے کہ سسٹم پروگرامنگ کا مستقبل زنگ سے تعلق رکھتا ہے، اور جدید حقائق میں سی زبان اس جگہ کا دعویٰ کر رہی ہے جس پر گزشتہ برسوں میں اسمبلی کا قبضہ تھا۔ زنگ
نہ صرف ڈویلپرز کو C زبان میں موجود مسائل سے نجات دلاتا ہے جو میموری کے ساتھ کم سطح کے کام کی وجہ سے پیدا ہوتے ہیں، بلکہ اسے جدید پروگرامنگ پیراڈائمز کی ترقی میں استعمال کرنے کا موقع بھی فراہم کرتے ہیں۔
دوران
جوش کو یہ خیال آیا کہ لینکس کرنل میں ڈرائیورز کو زنگ زبان میں تیار کرنے کی صلاحیت شامل کی جائے، جس سے کم سے کم محنت کے ساتھ محفوظ اور بہتر ڈرائیورز بنانا ممکن ہوسکے گا، فری کرنے کے بعد میموری تک رسائی جیسے مسائل سے پاک، null پوائنٹر ڈیریفرنس اور بفر اووررنز۔
Greg Kroah-Hartman، جو لینکس کرنل کی مستحکم شاخ کو برقرار رکھنے کے ذمہ دار ہیں، نے اپنی تیاری کا اظہار کیا کہ اگر اس کے C پر حقیقی فوائد ہیں، مثال کے طور پر، یہ محفوظ فراہم کرے گا۔ کرنل API پر پابندیاں۔ اس کے علاوہ، گریگ اس فریم ورک کو صرف ایک آپشن کے طور پر سمجھتا ہے، ڈیفالٹ کے لحاظ سے فعال نہیں، تاکہ زنگ کو دانا پر تعمیراتی انحصار کے طور پر شامل نہ کیا جائے۔
معلوم ہوا کہ کئی ٹیمیں پہلے ہی اس سمت میں کام کر رہی ہیں۔ مثال کے طور پر، کمپنی "Fish in a barrel" کے ڈویلپرز
متوازی۔
تمام مطلوبہ فعالیت کو ابھی تک نافذ نہیں کیا گیا ہے، لیکن فریم ورک پہلے سے ہی کام کے لیے کافی موزوں ہے اور اسے Raspberry Pi 9512 بورڈ میں فراہم کردہ LAN3 USB ایتھرنیٹ کنٹرولر کے لیے ورکنگ ڈرائیور لکھنے کے لیے استعمال کیا گیا تھا۔ موجودہ smsc95xx ڈرائیور، جس کا لکھا ہوا سی زبان۔ یہ نوٹ کیا جاتا ہے کہ Rust میں ڈرائیور تیار کرتے وقت رن ٹائم اجزاء سے ماڈیول کا سائز اور اوور ہیڈ غیر اہم ہیں، جو محدود وسائل والے آلات کے لیے فریم ورک کو استعمال کرنے کی اجازت دیتا ہے۔
ماخذ: opennet.ru