کرنل لینوکس ۶.۱۶ به صورت رسمی منتشر شده و با خودش کلی بهبود در زمینههای شبکه، امنیت و پشتیبانی از سختافزار آورده که نسخههای آینده اوبونتو هم از اونها بهرهمند میشن. البته اوبونتو ۲۵.۱۰ قراره با کرنل بعدی یعنی ۶.۱۷ که در سپتامبر میاد عرضه بشه، اما چون کرنلها حالت تجمعی دارن، ویژگیهای نسخه ۶.۱۶ برای کسانی که بعدا سیستمشون رو آپدیت میکنن یا از نسخههای LTS استفاده میکنن، جدید خواهد بود.
«چرخه انتشار به پایان رسید. هفته گذشته خوب و آروم بود و هیچ اتفاق غافلگیرکننده بزرگی که مانع برنامه همیشگی ما بشه وجود نداشت، برای همین من طبق برنامه نسخه ۶.۱۶ رو تگ و منتشر کردم.»
لینوس توروالدز، مثل همیشه، روز یکشنبه ۲۷ جولای در لیست ایمیل کرنل لینوکس (LKML) خبر پایدار شدن این نسخه رو اعلام کرد و نوشت:
این نسخه یک آپدیت بزرگ محسوب میشه. اگه بخوایم با آمار و ارقام صحبت کنیم، کد منبع لینوکس ۶.۱۶ حدود ۳۸.۴ میلیون خط کد در بیشتر از ۷۸ هزار فایل رو شامل میشه. حالا که لینوس توروالدز این نسخه رو منتشر کرده، کار روی لینوکس ۶.۱۷ شروع شده که احتمالا در ماه اکتبر عرضه میشه و به عنوان کرنل پیشفرض برای اوبونتو ۲۵.۱۰ و فدورا ۴۳ استفاده خواهد شد. البته توروالدز اشاره کرده که چون نصف ماه آگوست رو در سفر شخصی به سر میبره، ممکنه انتشار اولین نسخه کاندیدای ۶.۱۷ چند روزی تاخیر داشته باشه.
بهبودهای چشمگیر در شبکه
یکی از ویژگیهای اصلی این نسخه، درایور جدید OpenVPN Data Channel Offload یا همون DCO هست. این درایور با انتقال عملیات اصلی کانال دیتا به فضای کرنل، مشکلات قدیمی مربوط به کندی عملکرد VPN رو حل میکنه و باعث افزایش قابل توجه سرعت، به خصوص در انتقالهای حجیم، میشه.
یک پیشرفت دیگه در بخش شبکه اینه که پروتکل TCP حالا میتونه محتوای حافظه دستگاه رو به صورت مستقیم «به سیم» بفرسته. این قابلیت که بهش انتقال «کپی-صفر» (zero-copy) از پردازنده گرافیکی به شبکه میگن، نیاز به کمی تنظیمات داره اما میتونه عملکرد رو در برنامههایی که با حجم زیادی از داده سروکار دارن بهتر کنه.
تغییر مهم در مدیریت حافظه
جداول صفحهبندی پنج سطحی (Five-level page tables) حالا به صورت «بدون قید و شرط» در لینوکس ۶.۱۶ فعال شدن. پردازندههای مدرن از جداول صفحه برای ترجمه آدرسهای حافظه مجازی که برنامهها استفاده میکنن به آدرسهای حافظه فیزیکی (RAM) استفاده میکنن. مدل سنتی چهار سطحی تا ۲۵۶ ترابایت رو پشتیبانی میکرد، اما اضافه شدن سطح پنجم این محدودیت رو به ۱۲۸ پتابایت میرسونه.
در توضیح این تغییر اومده که «هم پردازندههای اینتل و هم AMD از صفحهبندی ۵ سطحی پشتیبانی میکنن و انتظار میره در آینده استفاده از اون گستردهتر بشه. همه توزیعهای اصلی لینوکس x86 این ویژگی رو فعال کردن». هرچند شاید کاربران عادی دسکتاپ به این زودیها به این حجم از حافظه نیاز پیدا نکنن، اما با توجه به نیاز روزافزون هوش مصنوعی و یادگیری ماشین به حافظه، این استانداردسازی برای آینده لینوکس مهمه.
امنیت و مجازیسازی قویتر
- Intel TDX: پشتیبانی از افزونههای دامنه اعتماد اینتل (Intel Trust Domain Extensions یا TDX) به لینوکس اضافه شده. این ویژگی رمزنگاری حافظه در سطح سختافزار رو برای ماشینهای مجازی که روی KVM اجرا میشن فراهم میکنه و اونها رو از یک سیستم میزبان که ممکنه به خطر افتاده باشه، جدا میکنه. سالها برای توسعه این قابلیت زمان صرف شده و حالا میشه از ماژول TDX برای اجرای مهمانهای امن روی پردازندههای اینتل استفاده کرد.
- کلیدهای رمزنگاری سختافزاری: لینوکس ۶.۱۶ حالا از کلیدهای رمزنگاری بستهبندی شده در سختافزار پشتیبانی میکنه؛ قابلیتی که قبلا فقط در اندروید وجود داشت. این ویژگی کلیدهای رمزنگاری فایلسیستم رو به جای ذخیره در حافظه سیستم (که آسیبپذیرتره) در سختافزار امنیتی اختصاصی نگهداری میکنه.
- درایور Virtual TPM از AMD: یک درایور جدید AMD Virtual-TPM برای بهبود پردازش دادههای محرمانه با تکنولوژی AMD Secure Encrypted Virtualization (SEV) به کرنل اضافه شده.
- سایر موارد امنیتی: پلاگین
randstruct
در GCC که چیدمان ساختار دادههای کرنل رو برای مقابله با مهاجمها تصادفی میکنه، دوباره به درستی کار میکنه. همچنین، اندازهگیریهای IMA حالا در طول عملیاتkexec
(ریبوت نرم) باقی میمونن تا یکپارچگی سیستم حفظ بشه.
اتفاقات جدید در فایلسیستمها
- Ext4: این فایلسیستم که پیشفرض اوبونتو هست، به لطف پشتیبانی از «لارج فولیو» (large folio) برای فایلهای عادی، بهبود عملکرد «شگفتانگیزی» داشته. ربات تست کرنل گزارش داده که در عملیات ورودی/خروجی ترتیبی بزرگ، بیشتر از ۳۷ درصد بهبود عملکرد دیده شده.
- Btrfs: این فایلسیستم هم بهبودهای مهمی داشته، از جمله ۵۰ درصد توان عملیاتی بیشتر برای متادیتا و ۳۳ درصد زمان اجرای کوتاهتر.
- XFS: فایلسیستم XFS حالا از نوشتن اتمی (atomic write) پشتیبانی میکنه که تضمینهای قویتری برای یکپارچگی دادهها فراهم میکنه.
- FUSE: زیرسیستم FUSE اندازه بافر خواندن دایرکتوری خودش رو افزایش داده که طبق تستهای سایت Phoronix، باعث عملکرد بهتر در سناریوهای رایج میشه.
- Bcachefs: این فایلسیستم حالا یک قابلیت جدید داره که عملیات متعادلسازی (جابجایی دادهها در پسزمینه) رو فقط وقتی انجام میده که دستگاه به برق متصل باشه. این ویژگی برای کاربران لپتاپ میتونه مفید باشه و به افزایش عمر باتری کمک کنه. البته کنت اوراستریت، توسعهدهنده این فایلسیستم، پچهای زیادی رو ارائه کرده و حتی بعد از بسته شدن پنجره تغییرات، ویژگیهای جدیدی رو فرستاده که خیلی مورد پسند توروالدز نبوده. به همین خاطر، هنوز مشخص نیست که Bcachefs در نسخه ۶.۱۷ در کرنل باقی میمونه یا نه.
پشتیبانی از سختافزارهای جدید
طبق معمول، کلی پشتیبانی از سختافزارهای جدید و قدیمی به این نسخه اضافه شده.
اینتل
اینتل در این نسخه خیلی فعال بوده و کلی ویژگی جدید اضافه کرده:
- Intel PTC: رابط جدید کنترل دمای پلتفرم اینتل (Platform Temperature Control) برای مدیریت دما معرفی شده.
- Intel APX: پشتیبانی اولیه از افزونههای عملکرد پیشرفته اینتل (Advanced Performance Extensions) فراهم شده که برای پردازندههای پرقدرت آینده طراحی شدن.
- بهینهسازی انرژی: زمانبندی آگاه از انرژی (EAS) برای درایور P-State در پردازندههای Lunar Lake و Panther Lake بهبود پیدا کرده.
- درایور OC-Watchdog: یک پچ از طرف شرکت زیمنس، یک درایور برای نظارت بر سیستم موقع اورکلاک کردن روی چیپستهای مدرن اینتل اضافه کرده.
- پشتیبانی اولیه از شتابدهندههای QuickAssist نسل بعد اینتل یعنی QAT6 Gen6 و همچنین کدهای اولیه برای پلتفرم Wildcat Lake هم به کرنل اضافه شده.
AMD
- گزارش دلیل ریاستارت: کاربران پردازندههای AMD Zen حالا میتونن دلیل ریاستارت یا ریبوت شدن سیستمشون رو بفهمن.
- فرکانس پردازنده: درایور AMD P-State حالا گزینه بایوس برای حداقل فرکانس درخواستی پردازنده رو قبول میکنه. این به کاربر اجازه میده یک حد پایین اولیه برای فرکانس پردازنده تعیین کنه که بعدا میشه از طریق فایل
scaling_min_freq
درsysfs
اون رو تغییر داد. - درایور SPI: یک درایور جدید به اسم
spi_amd
برای کنترلر HID2 SPI اضافه شده که برای پشتیبانی از دستگاههای رابط انسانی (HID) روی SPI طراحی شده. - AMDGPU: قابلیت صفهای حالت کاربر (user mode queues) به درایور گرافیک AMD اضافه شده. همچنین درایور محاسباتی AMDKFD حالا میتونه روی پلتفرمهای RISC-V هم ساخته بشه تا راه برای محاسبات ROCm در اونجا باز بشه.
NVIDIA
یکی از خبرهای مهم این نسخه، اضافه شدن پشتیبانی اولیه از پردازندههای گرافیکی Blackwell و Hopper در درایور متنباز Nouveau هست. این اتفاق، پشتیبانی رسمی کرنل از این پردازندههای جدید انویدیا رو تکمیل میکنه، چون درایور مدرنتر NOVA که بر پایه زبان Rust نوشته شده، هنوز در کرنل اصلی قابل استفاده نیست.
سایر دستگاهها
لیستی از دستگاههای دیگهای که پشتیبانی جدید یا بهتری دریافت کردن:
- موس Apple Magic Mouse 2 (مدل USB C) حالا پشتیبانی میشه.
- کنترلرهای بازی Acer Nitro NGR200 و ByoWave Proteus اضافه شدن.
- درایور Alienware WMI با زیرسیستم HWMON یکپارچه شده.
- قابلیت suspend-and-resume در کنسول دستی ASUS ROG Ally از طریق درایور ASUS WMI بهتر شده.
- کنسولهای دستی OneXPlayer کنترلهایی برای محدودیت شارژ و LEDهای توربو به دست آوردن.
- درایور Dell DDV حالا اطلاعات سلامت و ساخت باتری رو نشون میده.
- کاربران لپتاپهای ThinkPad از کلید میانبر برای سوییچ شاتر دوربین پشتیبانی میکنن.
- پشتیبانی از تخلیه بار صوتی (Audio Offloading) برای دستگاههای صوتی USB: این ویژگی اجازه میده پخش صدا حتی وقتی بقیه سیستم در حالت خواب (sleep) هست ادامه پیدا کنه. به گفته گرگ کروا-هارتمن، یکی از توسعهدهندگان کرنل، ادغام این ویژگی «رکورد بیشترین تعداد سری پچ (بیشتر از ۳۰ سری) در طولانیترین دوره زمانی (بیشتر از ۲ سال)» رو شکست تا به درستی انجام بشه. اون اضافه کرد که «این ویژگی باعث صرفهجویی عمده در مصرف انرژی در دستگاههای تعبیهشده میشه […] چیزی که برای دستگاههایی که با باتری کار میکنن واقعا مهمه».
تغییرات قابل توجه دیگر
- فراخوانی سیستمی منسوخ شده
uselib()
حذف شده. - پشتیبانی KVM برای معماری RISC-V دیگه «آزمایشی» نیست.
- پشتیبانی از Bounce buffering حذف شده.
- معماری ARM64 از قابلیتهای lazy-preemption و nested virtualisation پشتیبانی میکنه.
- تلاش برای گسترش پشتیبانی از درایورهای کرنل مبتنی بر زبان Rust ادامه داره.
- یک گزینه خط فرمان جدید برای فعال یا غیرفعال کردن زمانبندی گروهی تسکهای real-time اضافه شده.
- فراخوانی سیستمی
getrandom()
روی RISC-V سریعتر شده. - SELinux یک کش برای تصمیمگیریهای دسترسی به دایرکتوری به دست آورده.
- محدودیت اندازه خواندن و نوشتن برای فایلسیستمهای NFS به ۴ مگابایت افزایش پیدا کرده.
- یک گزینه ساخت جدید به اسم «X86_NATIVE_CPU» معرفی شده که به کاربر اجازه میده کرنل لینوکس رو به صورت بهینه برای پردازندهای که روی سیستم نصبه کامپایل کنه.
- پشتیبانی از FUTEX2 NUMA-aware و بهبودهای دیگهای در این زمینه انجام شده.
- در زمینه NVMe هم قابلیت Flexible Data Placement (FDP) برای استفاده از SSDهایی که از این مشخصات پشتیبانی میکنن اضافه شده. این قابلیت برای بهبود کارایی جایگذاری دادهها و کاهش Write Amplification طراحی شده.
چطوری لینوکس ۶.۱۶ رو نصب کنیم؟
لینوکس ۶.۱۶ به صورت کد منبع از سایت kernel.org قابل دانلوده. این نسخه به صورت رسمی در مخازن استاندارد اوبونتو برای نسخههای پشتیبانی شده قرار نمیگیره. اما کاربران حرفهای میتونن به صورت غیررسمی با استفاده از بستههای Canonical Mainline DEB یا PPAهای شخص ثالث اون رو نصب کنن (که البته ریسکهای خودش رو داره). باید توجه داشت که ساختهای کرنل خارج از مخازن اصلی، هیچ تضمین یا پشتیبانی ندارن، ممکنه فاقد پچهای مخصوص اوبونتو برای سازگاری سختافزار باشن و در صورت پیدا شدن آسیبپذیریهای امنیتی، آپدیتهای به موقع رو دریافت نکنن. توزیعهایی که به صورت رولینگ ریلیز آپدیت میشن، مثل openSUSE Tumbleweed، Arch و همینطور Fedora، به زودی کرنل ۶.۱۶ رو از طریق مخازن رسمی خودشون ارائه میدن.
منابع
- [۱] Linux 6.16 Released with OpenVPN Speed Boost, 5-Level Paging + More – OMG! Ubuntu
- [۲] Linux 6.16 Is Exciting For Open-Source NVIDIA, OpenVPN DCO & More Performance – Phoronix
- [۳] Linux 6.16 wurde gestern freigegeben – LinuxNews.de
- [۴] Linux 6.16 wurde gestern freigegeben – LinuxNews.de
- [۵] Neuer Linux-Kernel 6.16 bringt starke Verbesserungen für den Desktop – fosstopia
دیدگاهتان را بنویسید