پرش به محتوای اصلی
پرش به محتوای مقاله

رست به زبان رسمی هسته لینوکس تبدیل شد تا ۸۰٪ باگ‌های حافظه حذف شوند

·۲۴ تیر ۱۴۰۵۶ دقیقه مطالعه۱ بازدید
گِرِگ کروا-هارتمن: «Rust برنامه‌نویسی را دوباره لذت‌بخش می‌کند» و لینوکس از C فاصله می‌گیرد.
گِرِگ کروا-هارتمن: «Rust برنامه‌نویسی را دوباره لذت‌بخش می‌کند» و لینوکس از C فاصله می‌گیرد.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تغییر وضعیت Rust از یک «پروژه آزمایشی» به «زبان رسمی و درجه‌یک» در هسته لینوکس؛ به این معنا که دیگر پذیرش کدهای Rust در بخش‌های حیاتی مانند درایورهای گرافیک و هسته اندروید، یک استثنا نیست بلکه قانون است.

تصور کنید هر روز ۱۳ حفره امنیتی جدی در حیاتی‌ترین تکه نرم‌افزار جهان پیدا شود و شما تنها یکی از ۱۵۰ نفری باشید که باید آن‌ها را سریعاً ببندد. این واقعیت خسته‌کننده برای نگهبانان هسته لینوکس است که حالا با یک تغییر بنیادین، قصد دارند بازی را عوض کنند. باگ‌های «احمقانه‌ای» که منجر به آسیب‌پذیری‌های امنیتی روزانه می‌شوند، هدف اصلی یک چرخش بزرگ در اکوسیستم لینوکس هستند.

در ۱۵ ژوئیه ۲۰۲۶، گرگ کروا-هارتمن (Greg Kroah-Hartman)، نگهبان هسته لینوکس، رسماً اعلام کرد که آزمایش زبان رست (Rust) به پایان رسیده است. بر اساس این تصمیم، Rust اکنون به عنوان یک جزء دائمی، درجه‌یک و رسمی در هسته لینوکس تثبیت شده است.

دهه‌هاست که هسته لینوکس تقریباً به‌طور کامل بر پایه زبان C بنا شده است. زبان C بسیار قدرتمند است اما اجازه می‌دهد مدیریت حافظه به‌صورت دستی انجام شود که این امر منجر به خطاهای انسانی و ایجاد حفره‌های امنیتی می‌گردد. در عصر اتصال گسترده و ابر-متصل فعلی، همین اشتباهات کوچک به آسیب‌پذیری‌های بحرانی تبدیل می‌شوند. برای پروژه‌ای با بیش از ۵۰۰۰ توسعه‌دهنده اما تنها ۱۵۰ نگهبان اصلی، بار بررسی کدهای C برای اطمینان از ایمنی حافظه دیگر غیرقابل تحمل و ناسازگار با حجم کار شده است. این چالش‌های ساختاری در زبان C باعث شده تا پروژه‌های آزمایشی متعددی برای بررسی جایگزین‌ها شکل بگیرد، از جمله تلاش برای بازنویسی معماری قدیمی هسته ۰.۱۱ لینوکس با استفاده از زبان رست که تفاوت‌های بنیادین این دو زبان را به تصویر می‌کشد.

زمینه: تغییر در دیدگاه

کروا-هارتمن همیشه طرفدار Rust نبود. او داستانی را تعریف می‌کند که مربوط به چند سال پیش است؛ زمانی که یکی از دوستانش او را ترغیب کرد تا Rust را امتحان کند و ادعا کرد که این زبان برنامه‌نویسی را «دوباره جذاب می‌کند». در آن زمان، کروا-هارتمن این پیشنهاد را رد کرد، زیرا اعتقاد داشت که برنامه‌نویسی در زبان C از همین حالا به اندازه کافی جذاب است.

با این حال، دیدگاه او زمانی تغییر کرد که شخصاً با این زبان کار کرد. او اکنون اعتراف می‌کند که دوستش درست می‌گفته است و اشاره می‌کند که Rust در واقع جذاب است زیرا نیاز به نگرانی درباره کامپایلر را از بین می‌برد، چون کامپایلر می‌تواند بسیاری از مشکلات را به‌صورت خودکار اصلاح کند. این گذار از یک منتقد به یک حامی پرشور باعث شد تا او Rust را نه به عنوان یک تجربه آزمایشی، بلکه به عنوان یک رکن دائمی در هسته لینوکس تعریف کند.

دستاورد ۸۰ درصدی در ایمنی

طبق سخنرانی‌ای که کروا-هارتمن در کنفرانس Open Source Summit India 2026 در بمبئی ایراد کرد، اثر Rust کاملاً قابل اندازه‌گیری و کمی است. او تخمین می‌زند که اگر در ۲۵ سال گذشته از Rust استفاده می‌شد، ۸۰٪ از CVEها (Common Vulnerabilities and Exposures) یا همان شناسه‌های آسیب‌پذیری‌های رایج در هسته لینوکس، هرگز اتفاق نمی‌افتادند.

او تأکید می‌کند که Rust «گلوله نقره‌ای» یا راهکاری جادویی برای منطق‌های غلط برنامه‌نویسی نیست. به گفته او: «رست هم باز می‌تواند کرش کند» و توسعه‌دهندگان همچنان می‌توانند کارهای «واقعاً احمقانه» در این زبان انجام دهند. با این حال، این زبان اشتباهات پیش‌پاافتاده و تکراری را که بخش اعظم گزارش‌های امنیتی را تشکیل می‌دهند، به‌طور کلی حذف می‌کند.

او به واقعیت‌های طاقت‌فرسای روزمره برای نگهبانان اشاره می‌کند:

  • لینوکس تقریباً هر روز ۱۳ مورد CVE ثبت می‌کند.
  • این پروژه نزدیک به ۹ تغییر کد در هر ساعت را پردازش می‌کند؛ روندی که بیش از یک دهه یا حتی بیشتر ادامه داشته است.
  • بیشتر این موارد حملات پیچیده نیستند، بلکه خطاهای ساده زبان C مثل اشاره‌گرهای بررسی‌نشده (unchecked pointers)، فراموش کردن باز کردن قفل‌ها (forgotten unlocks) و مسیرهای نامناسب پاک‌سازی حافظه (sloppy cleanup paths) هستند.
  • این «باگ‌های کوچک، تافه و پیش‌پاافتاده» هستند که نگهبانان زمان خود را صرف رفع آن‌ها می‌کنند (تا ۱۳ بار در روز).

گِرِگ کروا-هارتمن: «Rust برنامه‌نویسی را دوباره لذت‌بخش می‌کند» و لینوکس از C فاصله می‌گیرد.

بهینه‌سازی برای بازبین

کروا-هارتمن معتقد است این تغییر نه برای راحت کردن کار ۵۰۰۰ توسعه‌دهنده، بلکه برای کمک به ۱۵۰ نگهبان اصلی است. او صریحاً بیان کرد: «ما برای بازبین‌ها (Reviewers) بهینه‌سازی می‌کنیم. ما برای توسعه‌دهندگان بهینه‌سازی نمی‌کنیم زیرا تعداد توسعه‌دهندگان ما بسیار زیاد است.»

با استفاده از سیستم مالکیت (Ownership) و سیستم تایپ‌های Rust، کامپایلر خطاهای حافظه را در زمان ساخت (build time) شناسایی و متوقف می‌کند. این یعنی بازبین‌ها دیگر مجبور نیستند نقش «حسابدار» را بازی کنند و ثانیه‌ها را صرف چک کردن نشت حافظه کنند؛ بلکه می‌توانند روی منطق واقعی کد تمرکز کنند. اگر کد کامپایل شود، بازبین اطمینان دارد که ایمنی حافظه تأمین شده است و می‌تواند پهنای باند محدود ذهنی خود را به جای بررسی اشاره‌گرها، صرف تحلیل منطق‌های پیچیده کند.

جزئیات و ادغام استراتژیک

جامعه لینوکس قصد ندارد کل هسته را از ابتدا بازنویسی کند. طبق اظهارات کروا-هارتمن در کنفرانس Rust Week در شهر اوترخت هلند، سیاست کلی این است: «کدهای C موجود را رها کنید و اجازه دهید به جلو تکامل یابیم.»

این ادغام از چندین مسیر مشخص در حال پیشروی است:

  • زیرسیستم‌های جدید: بخش‌هایی مانند زیرسیستم گرافیک، حالا فقط درایورهای جدید نوشته‌شده با Rust را می‌پذیرند. او گرافیک را حوزه‌ای می‌داند که «پیچیده‌ترین درایورهای موجود در دنیای امروز» را در خود جای داده است.
  • بنیان اندروید: مکانیزم Binder IPC که برای میلیاردها دستگاه اندرویدی حیاتی است، در حال حاضر نسخه‌های موازی در C و Rust دارد. به گفته او، نسخه C «به‌زودی حذف خواهد شد» و Rust به عنوان بنیاد دائمی تمام دستگاه‌های اندرویدی در آینده باقی می‌ماند.
  • بازطراحی API: زبان Rust اجازه می‌دهد APIهایی در داخل هسته تعریف شوند که «اشتباه در آن‌ها تقریباً غیرممکن است». در سال ۲۰۲۵، کروا-هارتمن در لیست پستی هسته لینوکس (LKML) نوشت که اجبار به بازاندیشی در APIهای دشوار، مانند مواردی که با struct cdev درگیر هستند، گامی مثبت است که باعث پاک‌سازی کد برای همه می‌شود.
  • بهبود زبان C: جالب اینجاست که Rust باعث بهتر شدن C شده است. تلاش برای ایجاد bindingهای امن Rust، نگهبانان را مجبور کرد تا مکانیزم‌های حفاظتی (guards) و تخصیص‌های محدودشده (scoped-allocation) را به APIهای قدیمی C اضافه کنند. این تضمین می‌کند که حتی اگر Rust فردا ناپدید شود، کدهای C هسته لینوکس قابل‌اتکاتر خواهند بود. این رویکرد بهبود مستمر در درایورها با سایر بهینه‌سازی‌های اخیر همسو است، مانند زمانی که لینوکس ۷.۱ سرعت نوشتن داده‌های NTFS را با معرفی درایور بومی جدید افزایش داد تا کارایی سیستم را بهبود بخشد.

عنصر انسانی

با وجود مزایای فنی، این یک چرخش فرهنگی است. کروا-هارتمن پذیرفت که برای کسی که سال‌ها (بیشتر از مدت عمر بسیاری از شرکت‌کنندگان کنفرانس) با C برنامه‌نویسی کرده، این تغییر سخت بوده است. او ابراز علاقه عمیقی به این زبان کرد و گفت: «من عاشق C هستم. من سال‌های بسیار، بسیار زیادی با C کار کرده‌ام».

با این حال، او نتیجه می‌گیرد که Rust با حذف فشار ذهنی برای ردیابی دستی ارجاعات و قفل‌ها، «کدنویسی را دوباره جذاب می‌کند». برای او، توانایی تمرکز بر روی منطق، زیبایی واقعی این زبان است. به باور او، این نتیجه — یعنی لذت بیشتر برای نگهبانان و لینوکسی امن‌تر برای کاربران — مهم‌ترین دستاورد است.

این تحول نشان‌دهنده تغییری بنیادین در نحوه ساخت مهم‌ترین نرم‌افزار جهان است. این انتقال سال گذشته زمانی رسمی شد که نگهبانان جامعه هسته با یکدیگر دیدار کردند و تصمیم گرفتند که «آزمایش رست به پایان رسید. این یک واقعیت است».

اگر امروز می‌خواهید در هسته لینوکس مشارکت کنید، پیام روشن است: یادگیری Rust را شروع کنید. آینده پیچیده‌ترین درایورها و مکانیزم‌های اصلی هسته همین حالا با این زبان نوشته می‌شود. همان‌طور که کروا-هارتمن در پایان سخنانش به شوخی گفت: «تسلط بر جهان طبق برنامه پیش می‌رود».

گام بعدی شما

  • اگر برنامه‌نویس سیستم هستید، مستندات Rust for Linux را بررسی کنید تا با استانداردهای پذیرش کد آشنا شوید.
  • درایورهای گرافیکی جدید را زیر نظر بگیرید تا ببینید معماری Rust چگونه پیچیدگی‌های مدیریت حافظه را کاهش داده است.
  • برای توسعه‌دهندگان اندروید، زمان مهاجرت از Binder C به Rust را به عنوان یک اولویت امنیتی در نظر بگیرید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره تأثیر زبان‌های ایمن بر بهره‌وری تراشه‌های نسل جدید مراجعه کنید.

چرا این موضوع مهم است؟

این تغییر با تکیه بر اعتبار فنی جامعه هسته لینوکس، استانداردی جدید برای امنیت سیستم‌عامل‌ها تعریف می‌کند. حذف ۸۰٪ باگ‌های حافظه به معنای کاهش چشمگیر حملات سایبری در سطح زیرساختی برای میلیاردها دستگاه در جهان است.

تأثیر برای ایران

این تحول برای برنامه‌نویسان سیستم و دانشجویان کامپیوتر در ایران سیگنالی روشن است که یادگیری Rust اکنون برای ورود به پروژه‌های سطح پایین و زیرساختی، یک ضرورت شغلی است.

·نگاه ما
تحریریه دات‌هوش

جایگزینی تدریجی C با Rust در لینوکس، پذیرش رسمی این ایده است که «سرعت توسعه» دیگر اولویت اول نیست، بلکه «هزینه بازبینی» (Review Cost) گلوگاه اصلی است. وقتی تعداد توسعه‌دهندگان هزاران نفر است اما تصمیم‌گیرندگان نهایی محدودند، ابزارهایی که خطا را در لایه کامپایلر می‌گیرند، تنها راه بقای پروژه‌های عظیم هستند. این یک حرکت از مدیریت انسانی خطا به مدیریت ریاضیاتی است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.