استفاده از Rust در کرنل لینوکس: یه انقلاب بعد از ۳۰ سال!
یکی از پادکستهای جذابی که اخیرا منتشر شده، مصاحبه با Danilo Krummrich بود، maintainer کرنل لینوکس و عضو تیم اصلی Rust for Linux.
این یه تغییر تاریخیه چون برای اولین بار بعد از بیش از ۳۰ سال یه زبان جدید رسماً وارد توسعه کرنل میشه!
دنیلو توسعهدهنده اصلی و maintainer درایور Nova هست، یه درایور GPU کاملا مبتنی بر Rust برای کارتهای گرافیک انویدیا. این درایور برای GPU های GSP-firmware-based (از RTX 2000 / Turing به بعد) طراحی شده و قراره برای این نسلها جایگزین Nouveau بشه.
شاید از دلایل اصلی حضور Rust در کرنل لینوکس Memory Safety و Concurrency Safety باشه.
طبق گزارش مایکروسافت، حدود ۷۰٪ از CVE های Windows مربوط به memory safety هست. گوگل هم آمار مشابهی برای Android گزارش کرده.
توی کرنل که یه خطای کوچیک میتونه کل سیستم رو از کار بندازه، جلوگیری از data race و undefined behavior در compile-time خیلی ارزشمنده.
یه چالش فرهنگی این وسط وجود داره اونم اینه که کرنل لینوکس بیش از ۳۰ ساله با C نوشته شده. maintainerهای قدیمی که سالها با C کار کردن، باید قانع بشن که Rust ارزشش رو داره. این یه تغییر فرهنگی بزرگه که زمان میبره.
این پروژه از نظر من خیلی جذابه چون نشون میده Rust دیگه فقط یه زبان Hype شده نیست. وقتی کرنل لینوکس - که قلب تپنده میلیاردها دستگاه از سرورها تا گوشیهای اندرویدیه - داره Rust رو میپذیره، یعنی این زبان واقعاً به بلوغ رسیده. البته Rust ثابت شده بود، ثابت شده تر شد..
البته هنوز سالها طول میکشه تا بخش قابل توجهی از کرنل با Rust نوشته بشه. ولی شروع شده و این خودش خبر بزرگیه.
اگه برنامه نویسی سیستمی و low-level کار میکنید، یادگیری Rust دیگه انتخابی نیست، احتمالا یه ضرورته!
اینم لینک پادکست
https://corrode.dev/podcast/s05e06-rust4linux/
@gocasts
Post #763
9.7K