تم إصدار الإصدار الجديد من نواة النظام 5.19 ، ومن أبرز التغييرات في هذا الإصدار الجديد دعم بنية معالج LoongArch ، ودمج تصحيحات "BIG TCP"، ووضع "عند الطلب" في fscache، وإزالة التعليمات البرمجية لدعم تنسيق a.out، والقدرة على استخدام ZSTD لضغط البرامج الثابتة، وواجهة لإدارة إزاحة الذاكرة من مساحة المستخدم، وتحسين موثوقية وأداء مولد الأرقام العشوائية الزائفة، ودعم Intel IFS (المسح الميداني)، وAMD SEV-SNP (الترحيل المتداخل الآمن)، وIntel TDX (امتدادات المجال الموثوقة)، وامتدادات ARM SME (امتداد المصفوفة القابل للتوسع).
تم قبول الإصدار الجديد 16401 إصلاحًا من 2190 مطورًا (كان الإصدار الأخير يحتوي على 16206 إصلاحًا من 2127 مطورًا)، حجم التصحيح: 90 ميجابايت (أثرت التغييرات على 13847 ملفًا، وتمت إضافة 1149456 سطرًا من التعليمات البرمجية، وتمت إزالة 349177 سطرًا).
الأخبار الرئيسية للنواة 5.19
من بين أبرز التغييرات في هذا الإصدار الجديد، يمكننا أن نذكر أنه عند التجميع باستخدام Clang 15، يتم دعم آلية عشوائية بنية النواة .
تم تزويد آلية Landlock ، التي تسمح بتقييد تفاعل مجموعة من العمليات مع البيئة الخارجية، بدعم للقواعد التي تسمح بالتحكم في تنفيذ عمليات إعادة تسمية الملفات.
تم تغيير النظام الفرعي IMA ( بنية قياس السلامة)، المصمم للتحقق من سلامة مكونات نظام التشغيل باستخدام التوقيعات الرقمية والتجزئات، لاستخدام وحدة fs-verity للتحقق من الملفات.
تم تعديل منطق تنفيذ الإجراءات بتعطيل الوصول غير المصرح به إلى النظام الفرعي eBPF . سابقًا، كانت جميع الأوامر المرتبطة باستدعاء النظام bpf() معطلة، وبدءًا من الإصدار 5.19، أصبح الوصول متاحًا فقط للأوامر التي لا تؤدي إلى إنشاء كائنات. مع هذا السلوك، يتطلب تحميل برنامج BPF عملية ذات صلاحيات، بينما يمكن للعمليات غير المصرح بها التفاعل معه.
تمت إضافة دعم لنسخ اتصالات MPTCP (بروتوكول TCP متعدد المسارات) احتياطيًا إلى بروتوكول TCP عادي في الحالات التي لا يمكن فيها استخدام بعض ميزات MPTCP. يُعد MPTCP امتدادًا لبروتوكول TCP، حيث يُنظم عمل اتصال TCP من خلال إرسال الحزم في وقت واحد عبر مسارات متعددة من خلال واجهات شبكة مختلفة مرتبطة بعناوين IP مختلفة. كما تمت إضافة واجهة برمجة تطبيقات (API) لإدارة عمليات إرسال MPTCP من مساحة المستخدم.
تجدر الإشارة أيضًا إلى إضافة أكثر من 420,000 سطر برمجي متعلقة ببرنامج تشغيل AMD GPU ، منها حوالي 400,000 سطر عبارة عن ملفات رأسية مُولّدة تلقائيًا تحتوي على بيانات سجلات ASIC في برنامج تشغيل AMD GPU، بالإضافة إلى 22,500 سطر أخرى تُوفّر التنفيذ الأولي لدعم AMD SoC21. وقد تجاوز الحجم الإجمالي لبرنامج تشغيل AMD GPU أربعة ملايين سطر برمجي. إلى جانب SoC21، يتضمن برنامج تشغيل AMD دعمًا لوحدة إدارة النظام (SMU 13.x)، ودعمًا مُحدّثًا لـ USB-C وGPUVM، وهو جاهز لدعم منصات الجيل التالي RDNA3 (RX 7000) وCDNA (AMD Instinct).
يتمتع متحكم i915 (Intel) بقدرات محسّنة لإدارة الطاقة، بالإضافة إلى إضافة معرّفات لوحدات معالجة الرسومات Intel DG2 (Arc Alchemist) المستخدمة في أجهزة الكمبيوتر المحمولة، وتوفير الدعم الأولي لمنصة Intel Raptor Lake-P (RPL-P)، وإضافة معلومات حول بطاقات الرسومات Arctic Sound-M، وتنفيذ واجهة التطبيق الثنائية لمحركات الحوسبة، وإضافة دعم لبطاقات تنسيق Tile4 لبطاقات DG2، ودعم DisplayPort HDR للأنظمة القائمة على بنية Haswell الدقيقة.
تم تحويل برنامج تشغيل Nouveau إلى استخدام برنامج التشغيل drm_gem_plane_helper_prepare_fb ، وتم تعيين بعض البنى والمتغيرات بشكل ثابت. وفيما يتعلق باستخدام شفرة المصدر لوحدة النواة في Nouveau، والتي جعلتها NVIDIA مفتوحة المصدر، فقد انصبّ العمل حتى الآن على تحديد الأخطاء وإصلاحها. وتشمل الخطط المستقبلية استخدام البرامج الثابتة المنشورة لتحسين أداء برنامج التشغيل.
تم تطوير إمكانيات لمعالجة مشكلة اكتشاف الأقفال المنقسمة ، والتي تحدث عند الوصول إلى بيانات غير محاذية في الذاكرة. يحدث هذا لأن البيانات، أثناء تنفيذ تعليمة ذرية، تعبر سطرين من ذاكرة التخزين المؤقت الموسعة لوحدة المعالجة المركزية. تؤدي هذه الأقفال إلى انخفاض ملحوظ في الأداء. سابقًا، كانت نواة النظام تُصدر تحذيرًا افتراضيًا يتضمن معلومات حول العملية التي تسببت في القفل؛ أما الآن، فسيتم إبطاء العملية المُسببة للمشكلة بشكل أكبر للحفاظ على أداء باقي النظام.
تمت إضافة دعم لآلية IFS (المسح الميداني) المطبقة في معالجات Intel، والتي تسمح بتشغيل اختبارات تشخيص وحدة المعالجة المركزية منخفضة المستوى والتي يمكنها اكتشاف المشكلات التي لا يتم اكتشافها بالوسائل العادية القائمة على رموز تصحيح الأخطاء (ECC) أو بتات التكافؤ.
تشمل التغييرات البارزة الأخرى في هذا الإصدار الجديد ما يلي:
- تمت إضافة برنامج تشغيل لوحدة التحكم NVMe المستخدمة في أجهزة كمبيوتر Apple استنادًا إلى شريحة M1.
- تمت إضافة دعم أولي لهندسة مجموعة تعليمات LoongArch المستخدمة في معالجات Loongson 3 5000 ، والتي تطبق RISC ISA جديدًا مشابهًا لـ MIPS و RISC-V.
- تتوفر بنية LoongArch في ثلاثة إصدارات: 32 بت مبسط (LA32R) ، 32 بت عادي (LA32S) ، و 64 بت (LA64).
- تمت إضافة القدرة على تضمين ملف bootconfig في النواة.
- "CONFIG_BOOT_CONFIG_EMBED_FILE =" / PATH / TO / BOOTCONFIG / FILE "".
- تمت إزالة دعم خيارات التمهيد الخاصة بـ x86: nosp و nosmap و nosmep و noexec و noclflush).
- توقف دعم بنية وحدة المعالجة المركزية القديمة h8300 (Renesas H8 / 300) ، والتي لم تتم صيانتها لفترة طويلة.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد عن هذا الإصدار الجديد، يمكنك العثور على التفاصيل في الرابط التالي.