زنگ زبان کی حمایت کے ساتھ لینکس کرنل کے لیے پیچ کا دسواں ورژن

Rust-for-Linux پروجیکٹ کے مصنف، Miguel Ojeda نے Rust زبان میں ڈیوائس ڈرائیورز کی ترقی کے لیے v10 اجزاء کے اجراء کی تجویز پیش کی تاکہ لینکس کرنل ڈویلپرز کے لیے غور کیا جا سکے۔ یہ پیچ کا گیارہواں ایڈیشن ہے، پہلے ورژن کو مدنظر رکھتے ہوئے، بغیر کسی ورژن نمبر کے شائع ہوا۔ Rust سپورٹ کی شمولیت کو Linusum Torvalds نے Linux 6.1 کرنل میں شامل کرنے کی منظوری دی ہے، غیر متوقع مسائل کو چھوڑ کر۔ ترقی کو Google اور ISRG (انٹرنیٹ سیکیورٹی ریسرچ گروپ) کی طرف سے مالی اعانت فراہم کی جاتی ہے، جو Let's Encrypt پروجیکٹ کا بانی ہے اور HTTPS اور انٹرنیٹ سیکیورٹی کو بہتر بنانے کے لیے ٹیکنالوجیز کی ترقی کو فروغ دیتا ہے۔

پیچ کے پچھلے ورژن کی طرح، v10 کی ریلیز کو کم سے کم تراشا گیا ہے، جو زنگ کی زبان میں لکھا ہوا ایک سادہ کرنل ماڈیول بنانے کے لیے کافی ہے۔ پچھلے ورژن سے فرق معمولی ترامیم میں آتا ہے، kallsyms.c میں sizeof کو ARRAY_SIZE سے بدلنا اور پیچ کو v6.0-rc7 کرنل میں ڈھالنا۔ یہ توقع کی جاتی ہے کہ کم از کم پیچ، جس کا سائز 40 سے 13 ہزار لائنز کوڈ کر دیا گیا ہے، مرکزی دانا میں زنگ کی حمایت کو اپنانے کو آسان بنائے گا۔ کم سے کم سپورٹ فراہم کرنے کے بعد، Rust-for-Linux برانچ سے دیگر تبدیلیوں کو منتقل کرتے ہوئے، موجودہ فعالیت کو بتدریج بڑھانے کا منصوبہ بنایا گیا ہے۔

مجوزہ تبدیلیاں ڈرائیوروں اور کرنل ماڈیولز کو تیار کرنے کے لیے رسٹ کو دوسری زبان کے طور پر استعمال کرنا ممکن بناتی ہیں۔ رسٹ سپورٹ کو ایک ایسے آپشن کے طور پر پیش کیا جاتا ہے جو بطور ڈیفالٹ فعال نہیں ہوتا ہے اور اس کے نتیجے میں زنگ کو دانا کے لیے مطلوبہ تعمیراتی انحصار کے طور پر شامل نہیں کیا جاتا ہے۔ ڈرائیور کی نشوونما کے لیے رسٹ کا استعمال آپ کو کم سے کم کوشش کے ساتھ محفوظ اور بہتر ڈرائیور بنانے کی اجازت دے گا، فری کرنے کے بعد میموری تک رسائی، null pointer dereferences، اور buffer overruns جیسے مسائل سے پاک۔

رسٹ میں میموری سے محفوظ ہینڈلنگ کمپائل کے وقت حوالہ کی جانچ، آبجیکٹ کی ملکیت اور آبجیکٹ لائف ٹائم (اسکوپ) پر نظر رکھنے کے ساتھ ساتھ کوڈ پر عمل درآمد کے دوران میموری تک رسائی کی درستگی کی جانچ کے ذریعے فراہم کی جاتی ہے۔ زنگ انٹیجر اوور فلو کے خلاف بھی تحفظ فراہم کرتا ہے، استعمال سے پہلے متغیر اقدار کی لازمی ابتداء کی ضرورت ہوتی ہے، معیاری لائبریری میں غلطیوں کو بہتر طریقے سے ہینڈل کرتا ہے، غیر متغیر حوالہ جات اور متغیرات کے تصور کو بطور ڈیفالٹ لاگو کرتا ہے، منطقی غلطیوں کو کم کرنے کے لیے مضبوط جامد ٹائپنگ پیش کرتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں