نسخه دهم وصله های هسته لینوکس با پشتیبانی از زبان Rust

Miguel Ojeda، نویسنده پروژه Rust-for-Linux، انتشار نسخه 10 مؤلفه هایی را برای توسعه درایور دستگاه Rust برای توسعه دهندگان هسته لینوکس پیشنهاد کرده است. این یازدهمین ویرایش پچ ها با در نظر گرفتن اولین نسخه منتشر شده بدون شماره نسخه است. گنجاندن پشتیبانی Rust توسط Linusum Torvalds برای گنجاندن در هسته لینوکس 6.1 تأیید شده است، مگر اینکه مشکلات پیش بینی نشده ظاهر شود. این توسعه توسط گوگل و ISRG (گروه تحقیقاتی امنیت اینترنت) که بنیانگذار پروژه Let's Encrypt است و HTTPS و توسعه فناوری هایی را برای افزایش امنیت اینترنت ترویج می کند، تامین می شود.

مانند نسخه قبلی وصله ها، نسخه نسخه 10 به حداقل نیاز برای ساخت یک ماژول هسته ساده نوشته شده در Rust کاهش یافته است. تفاوت‌های نسخه قبلی به اصلاحات جزئی برمی‌گردد، جایگزینی sizeof با ARRAY_SIZE در kallsyms.c و تطبیق وصله‌ها با هسته v6.0-rc7. حداقل وصله، که از 40 هزار خط کد به 13 هزار خط کد از XNUMX،XNUMX به XNUMX،XNUMX خط کد کاهش یافته است، انتظار می رود گنجاندن پشتیبانی Rust در جریان اصلی را آسان تر کند. پس از ارائه حداقل پشتیبانی، برنامه ریزی شده است که به تدریج عملکرد موجود را افزایش داده و سایر تغییرات را از شاخه Rust-for-Linux منتقل کنید.

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

ایمنی حافظه در Rust در زمان کامپایل از طریق بررسی مرجع، پیگیری مالکیت شی و طول عمر شی (محدوده)، و همچنین از طریق ارزیابی صحت دسترسی به حافظه در طول اجرای کد ارائه می شود. Rust همچنین محافظت در برابر سرریز اعداد صحیح را فراهم می کند، نیاز به مقداردهی اولیه اجباری مقادیر متغیر قبل از استفاده دارد، خطاها را در کتابخانه استاندارد بهتر مدیریت می کند، مفهوم مراجع و متغیرهای غیرقابل تغییر را به طور پیش فرض اعمال می کند، تایپ استاتیک قوی برای به حداقل رساندن خطاهای منطقی ارائه می دهد.

منبع: opennet.ru

اضافه کردن نظر