کیرلا پروجیکٹ Rust زبان میں لینکس سے مطابقت رکھنے والا کرنل تیار کر رہا ہے۔

کیرلا پروجیکٹ ایک آپریٹنگ سسٹم کرنل تیار کر رہا ہے جسے رسٹ زبان میں لکھا گیا ہے۔ نیا دانا ابتدائی طور پر اے بی آئی کی سطح پر لینکس کرنل کے ساتھ مطابقت فراہم کرنے پر مرکوز ہے، جو لینکس کے لیے مرتب کردہ غیر ترمیم شدہ ایگزیکیوٹیبل فائلوں کو کیرلا پر مبنی ماحول میں چلانے کی اجازت دے گا۔ کوڈ کو Apache 2.0 اور MIT لائسنس کے تحت تقسیم کیا گیا ہے۔ اس پروجیکٹ کو جاپانی ڈویلپر سییا نوٹا نے تیار کیا ہے، جو سی زبان میں لکھا ہوا مائکروکرنل آپریٹنگ سسٹم ریسیا بنانے کے لیے جانا جاتا ہے۔

ترقی کے اپنے موجودہ مرحلے پر، کیرلا صرف x86_64 سسٹمز پر چل سکتا ہے اور بنیادی سسٹم کالز جیسے رائٹ، اسٹیٹ، ایم ایم پی، پائپ اور پول، سگنلز، بے نام پائپ اور سیاق و سباق کے سوئچ کو سپورٹ کرتا ہے۔ کالز جیسے فورک، انتظار 4، اور عمل کو کنٹرول کرنے کے لیے فراہم کیے جاتے ہیں۔ tty اور pseudo-terminals (pty) کے لیے سپورٹ موجود ہے۔ فی الحال تعاون یافتہ فائل سسٹم initramfs (روٹ فائل سسٹم کو ماؤنٹ کرنے کے لیے استعمال کیا جاتا ہے)، tmpfs اور devfs ہیں۔ TCP اور UDP ساکٹ کے لیے سپورٹ کے ساتھ ایک نیٹ ورک اسٹیک فراہم کیا گیا ہے، جو smoltcp لائبریری کی بنیاد پر لاگو کیا گیا ہے۔

ڈویلپر نے ایک بوٹ ماحول تیار کیا ہے جو QEMU یا Firecracker ورچوئل مشین میں virtio-net ڈرائیور کے ساتھ چلتا ہے، جس سے آپ SSH کے ذریعے پہلے ہی جڑ سکتے ہیں۔ musl کو سسٹم لائبریری کے طور پر استعمال کیا جاتا ہے، اور BusyBox کو صارف کی افادیت کے طور پر استعمال کیا جاتا ہے۔

کیرلا پروجیکٹ Rust زبان میں لینکس سے مطابقت رکھنے والا کرنل تیار کر رہا ہے۔

ایک ڈوکر پر مبنی بلڈ سسٹم تیار کیا گیا ہے جو آپ کو کیرلا کرنل کے ساتھ اپنے بوٹ initramfs بنانے کی اجازت دیتا ہے۔ الگ سے، مچھلی کی طرح کا nsh سافٹ ویئر شیل اور Wayland پروٹوکول پر مبنی Kazari GUI اسٹیک تیار کیا جا رہا ہے۔

کیرلا پروجیکٹ Rust زبان میں لینکس سے مطابقت رکھنے والا کرنل تیار کر رہا ہے۔

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

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

ماخذ: opennet.ru

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