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

Rust-for-Linux پروجیکٹ کے مصنف، Miguel Ojeda نے Linux کرنل ڈویلپرز کی طرف سے غور کے لیے Rust زبان میں ڈیوائس ڈرائیورز تیار کرنے کے لیے اجزاء کا ایک تازہ ترین ورژن تجویز کیا۔ زنگ کی حمایت کو تجرباتی سمجھا جاتا ہے، لیکن لینکس اگلی برانچ میں شامل کرنے کے لیے پہلے ہی اس پر اتفاق ہو چکا ہے۔ نیا ورژن پیچ کے پہلے ورژن کی بحث کے دوران کیے گئے تبصروں کو ختم کرتا ہے۔ Linus Torvalds پہلے ہی بحث میں شامل ہو چکے ہیں اور کچھ بٹ آپریشنز پر کارروائی کے لیے منطق کو تبدیل کرنے کی تجویز پیش کی ہے۔

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

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

پیچ کے نئے ورژن میں سب سے نمایاں تبدیلیاں:

  • میموری مختص کرنے کا کوڈ ممکنہ طور پر "گھبراہٹ" کی کیفیت پیدا کرنے سے آزاد ہوجاتا ہے جب میموری سے باہر ہونے جیسی خرابیاں ہوتی ہیں۔ Rust alloc لائبریری کا ایک ویرینٹ شامل ہے، جو ناکامیوں کو سنبھالنے کے لیے کوڈ کو دوبارہ کام کرتا ہے، لیکن حتمی مقصد دانا کے لیے درکار تمام خصوصیات کو alloc کے مرکزی ایڈیشن میں منتقل کرنا ہے مورچا لائبریری)۔
  • رات کی تعمیرات کے بجائے، اب آپ Rustc کمپائلر کی بیٹا ریلیز اور مستحکم ریلیز استعمال کر سکتے ہیں تاکہ Rust سپورٹ کے ساتھ دانا کو مرتب کریں۔ فی الحال، rustc 1.54-beta1 کو ریفرنس کمپائلر کے طور پر استعمال کیا جاتا ہے، لیکن مہینے کے آخر میں 1.54 ریلیز ہونے کے بعد، اسے بطور ریفرنس کمپائلر سپورٹ کیا جائے گا۔
  • زنگ کے لیے معیاری "#[test]" وصف کا استعمال کرتے ہوئے ٹیسٹ لکھنے کے لیے معاونت اور دستاویزی ٹیسٹوں کے لیے doctests کو استعمال کرنے کی صلاحیت۔
  • پہلے سے تعاون یافتہ x32_86 اور ARM64 کے علاوہ ARM64 اور RISCV فن تعمیرات کے لیے معاونت شامل کی گئی۔
  • GCC Rust (Rust کے لیے GCC فرنٹ اینڈ) اور rustc_codegen_gcc (GCC کے لیے rustc بیک اینڈ) کے بہتر نفاذ، جو کہ اب تمام بنیادی ٹیسٹ پاس کرتا ہے۔
  • C میں لکھے ہوئے کرنل میکانزم کے زنگ پروگراموں میں استعمال کے لیے تجرید کی ایک نئی سطح تجویز کی گئی ہے، جیسے سرخ سیاہ درخت، حوالہ شمار شدہ اشیاء، فائل ڈسکرپٹر تخلیق، کام، فائلیں، اور I/O ویکٹر۔
  • ڈرائیور کی ترقی کے اجزاء نے file_operations ماڈیول، ماڈیول! میکرو، میکرو رجسٹریشن، اور ابتدائی ڈرائیوروں (تحقیقات اور ہٹانے) کے لیے سپورٹ کو بہتر بنایا ہے۔
  • بائنڈر اب پاسنگ فائل ڈسکرپٹرز اور LSM ہکس کو سپورٹ کرتا ہے۔
  • رسبری پِی بورڈز کے ہارڈ ویئر رینڈم نمبر جنریٹر کے لیے رسٹ ڈرائیور کی ایک زیادہ فعال مثال - bcm2835-rng تجویز کی گئی ہے۔

مزید برآں، دانا میں زنگ کے استعمال سے متعلق کچھ کمپنیوں کے منصوبوں کا ذکر کیا گیا ہے:

  • مائیکروسافٹ نے لینکس کرنل میں رسٹ سپورٹ کو ضم کرنے کے کام میں حصہ لینے میں دلچسپی ظاہر کی ہے اور آنے والے مہینوں میں زنگ پر Hyper-V کے لیے ڈرائیور نفاذ فراہم کرنے کے لیے تیار ہے۔
  • ARM ARM پر مبنی سسٹمز کے لیے رسٹ سپورٹ کو بہتر بنانے کے لیے کام کر رہا ہے۔ رسٹ پروجیکٹ نے پہلے ہی ایسی تبدیلیاں تجویز کی ہیں جو 64 بٹ اے آر ایم سسٹم کو ٹائر 1 پلیٹ فارم بنائے گی۔
  • گوگل براہ راست Rust for Linux پروجیکٹ کے لیے مدد فراہم کرتا ہے، Rust میں بائنڈر انٹر پروسیس کمیونیکیشن میکانزم کا ایک نیا نفاذ تیار کر رہا ہے، اور Rust میں مختلف ڈرائیوروں کو دوبارہ کام کرنے کے امکان پر غور کر رہا ہے۔ ISRG (انٹرنیٹ سیکیورٹی ریسرچ گروپ) کے ذریعے، Google نے Rust سپورٹ کو Linux کرنل میں ضم کرنے کے لیے کام کے لیے فنڈ فراہم کیا۔
  • IBM نے پاور پی سی سسٹمز کے لیے زنگ کے لیے کرنل سپورٹ نافذ کیا ہے۔
  • ایل ایس ای (سسٹمز ریسرچ لیبارٹری) لیبارٹری نے زنگ میں ایک ایس پی آئی ڈرائیور تیار کیا ہے۔

ماخذ: opennet.ru

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