إصدار النواة Linux 6.10

بعد شهرين من التطوير، أصدر لينوس تورفالدز النواة. Linux 6.10. من أبرز التغييرات: برنامج تشغيل ntsync مع أدوات التزامن الأساسية Windows مكونات NT، DRM Panic لتنفيذ نظير "شاشة الموت الزرقاء"، وإيقاف دعم وحدات المعالجة المركزية Alpha القديمة، والقدرة على التحقق من السلامة في نظام ملفات قائم على FUSE، وتقييد الوصول إلى ioctl عبر آلية Landlock، ونظام فرعي لتحليل عمليات تخصيص الذاكرة، واستدعاء النظام mseal()، والقدرة على تشفير تبادل البيانات مع أجهزة TPM، ودعم قوائم انتظار العمل ذات الأولوية العالية في dm-crypt، وبرنامج تشغيل panthor للجيل العاشر من وحدات معالجة الرسومات Mali.

يتضمن الإصدار الجديد 14564 إصلاحًا من 1989 مطورًا، وحجم التصحيح 41 ميجابايت (أثرت التغييرات على 12509 ملفًا، وتمت إضافة 547663 سطرًا من التعليمات البرمجية، وتم حذف 312464 سطرًا). الإصدار الأخير يحتوي على 15680 إصلاحًا من 2106 مطورًا، وكان حجم التصحيح 54 ميجابايت. حوالي 41% من جميع التغييرات التي تم إدخالها في 6.10 تتعلق ببرامج تشغيل الأجهزة، وحوالي 15% من التغييرات تتعلق بتحديث التعليمات البرمجية الخاصة ببنيات الأجهزة، و13% تتعلق بمكدس الشبكات، و5% تتعلق بأنظمة الملفات، و4% ترتبط بالأنظمة الفرعية للنواة الداخلية.

الابتكارات الرئيسية في kernel 6.10:

  • نظام القرص الفرعي ، I / O وأنظمة الملفات
    • تمت إضافة عملية fcntl جديدة، F_DUPFD_QUERY، والتي تسمح لعملية تحديد أن اثنين من واصفات الملفات المختلفة تشير إلى نفس الملف. على عكس الميزات المشابهة التي يوفرها استدعاء النظام kcmp()، لا يكشف F_DUPFD_QUERY عن معلومات غير ضرورية ويعمل على الأنظمة التي تم تعطيل kcmp() فيها.
    • يطبق نظام FUSE الفرعي، المستخدم لتنفيذ أنظمة الملفات في مساحة المستخدم، القدرة على استخدام آلية fs-verity للتحقق من سلامة وصحة الملفات.
    • تم تحديث وحدة dm-crypt، المستخدمة لتشفير أجهزة الكتل، بخيار "high_priority"، مما يسمح باستخدام قوائم انتظار العمل ذات الأولوية العالية لتحسين الأداء على الأجهزة القوية. الخوادميتم تعطيل هذا الوضع افتراضيًا، لأنه قد يؤدي إلى زيادة زمن الاستجابة على أجهزة الكمبيوتر العادية عند أداء مهام لا علاقة لها بالتشفير، مثل معالجة الصوت.
    • تمت إضافة بروتوكول يستند إلى netlink لإدارة خادم NFS في النواة. في مساحة المستخدم، تم إعداد الأداة المساعدة nfsdctl بناءً على هذا البروتوكول. يتم تعطيل دعم تثبيت NFS v2 افتراضيًا (في الأداة المساعدة mount.nfs، تم إيقاف دعم NFS v2 في عام 2021).
    • في نظام ملفات XFS، يستمر العمل في تنفيذ القدرة على استخدام الأداة المساعدة fsck للتحقق من المشكلات المحددة وتصحيحها عبر الإنترنت، دون إلغاء تثبيت نظام الملفات. تمت إضافة ioctl XFS_IOC_EXCHANGE_RANGE لتبادل نطاقات البايت بين ملفين في الوضع الذري.
    • يوفر Btrfs الدعم لتقليص خرائط المدى غير المثبتة، والتي يمكن أن تكون مفيدة لتقليل استهلاك الذاكرة عندما تكون ذاكرة النظام منخفضة. تم تحويل كود ضغط البيانات ووظيفة put_file_data() لاستخدام أوراق الصفحة. تمت إعادة تصميم آلية تأمين النطاقات عند إجراء عمليات إعادة الكتابة.
    • أضاف Ext4 FS دعمًا لـ ioctl FS_IOC_GETFSSYSFSPATH لتحديد موقع FS المثبت المحدد في التسلسل الهرمي /sys/fs.
    • تم تحويل أنظمة الملفات OPENPROMFS وISOSFS وQNX6 وNILFS2 وMINIX وFreeVXFS لاستخدام واجهة برمجة تطبيقات تثبيت القسم الجديد.
    • نظام الملفات EROFS (نظام الملفات القابل للقراءة فقط القابل للتوسيع)، المصمم للاستخدام على أقسام القراءة فقط، يدعم الآن خوارزمية الضغط Zstandard.
    • لقد تم إعداد Bcachefs لتنفيذ fsck دون إلغاء تثبيت القسم (فحص عبر الإنترنت). تمت إضافة تغييرات وإصلاحات لتحسين الموثوقية. تم تنفيذ القدرة على تحديث تنسيق FS والتراجع عنه في وضع "nochanges"، مما يؤدي إلى تعطيل التسجيل وتخزين البيانات التعريفية في الذاكرة فقط.
    • تمت إضافة دعم لإنشاء ملفات مؤقتة لنظام ملفات OverlayFS باستخدام خيار O_TMPFILE.
    • تم إيقاف دعم آلية الحد من إنتاجية أجهزة الكتلة "CONFIG_BLK_DEV_THROTTLING_LOW"، والتي احتفظت منذ عام 2017 بحالتها التجريبية، ولم تنتشر على نطاق واسع في الممارسة العملية وتجعل من الصعب الحفاظ على النظام الفرعي لجهاز الكتلة.
  • خدمات الذاكرة والنظام
    • تمت إضافة برنامج تشغيل ntsync، ولكن تم تعطيله أثناء التجميع، والذي يقوم بتنفيذ جهاز الأحرف /dev/ntsync ومجموعة من بدائيات التزامن المستخدمة في النواة. Windows إن تنفيذ هذه العناصر الأساسية على مستوى النواة يمكن أن يحسن الأداء بشكل كبير. Windowsيتم تشغيل الألعاب باستخدام Wine. وتتحقق تحسينات الأداء من خلال التخلص من العبء الإضافي المرتبط باستخدام إجراءات استدعاء الإجراءات البعيدة (RPCs) في مساحة المستخدم. إنشاء برنامج تشغيل نواة منفصل Linux يُعزى ذلك إلى الطبيعة الإشكالية لتنفيذ واجهة برمجة تطبيقات التزامن NT بشكل صحيح فوق العناصر الأساسية الموجودة في النواة.
    • تمت إضافة نظام فرعي لتحليل عمليات تخصيص الذاكرة في النواة Linuxيُتيح هذا النظام الفرعي اكتشاف تسريبات ذاكرة النواة، ويُسهّل عمليات تحسين الذاكرة. كما يتميز بانخفاض الحمل الزائد، مما يسمح باستخدامه ليس فقط في إصدارات النواة التجريبية، بل أيضًا في أنظمة الإنتاج.
    • تمت إضافة تنفيذ أولي لمعالج طوارئ kernel - DRM Panic، والذي يستخدم النظام الفرعي DRM (مدير العرض المباشر) لعرض تقرير ملون مرئي بأسلوب "شاشة الموت الزرقاء". ومن المقرر في الإصدار التالي إضافة القدرة على عرض الشعار ورمز الاستجابة السريعة على الشاشة عند حدوث حالة طارئة.
    • استمرار ترحيل التغييرات من فرع Rust-for-Linuxفيما يتعلق باستخدام لغة Rust كلغة ثانية لتطوير برامج التشغيل ووحدات النواة (دعم Rust غير مُفعّل افتراضيًا ولا يتضمن Rust كاعتمادية إلزامية لبناء النواة)، تم الانتقال إلى Rust 1.78، مما سمح باستخدام مكتبة alloc القياسية بدلًا من نسخة مُعدّلة. أُضيفت تجريدات للتعامل مع الوقت في النواة (غلاف حول بنية ktime_t). كما أُضيف دعم استخدام مكونات نواة Rust على أنظمة RISC-V.
    • تنفذ برامج BPF القدرة على استخدام قوائم الانتظار في النواة. تمت إضافة الوظائف bpf_preempt_disable وbpf_preempt_enable، مما يسمح لك بإنشاء أقسام التعليمات البرمجية التي لا يتم مقاطعتها بواسطة برنامج جدولة المهام. توفير القدرة لبرامج BPF للوصول إلى وظائف التشفير للنواة (التشفير). تم تنفيذ دعم تجميع JIT لبرامج BPF على الأنظمة ذات معالجات ARCv32 2 بت.
    • بالنسبة لأنظمة ARM 32 بت، تم تنفيذ الدعم لتجميع النواة باستخدام مترجم Clang مع تمكين وضع الحماية CFI (تكامل التحكم في التدفق)، والذي يمنع انتهاكات أمر التنفيذ العادي (تدفق التحكم) نتيجة لاستخدام استغلال تلك المؤشرات الوظيفية المخزنة في الذاكرة.
    • تمت إضافة القدرة على عكس مخازن التتبع الدائرية مباشرة عبر mmap() لنقل محتوياتها إلى مساحة المستخدم دون نسخ إضافي.
    • تمت إضافة استدعاء النظام "mseal" للسماح للعمليات بتأمين تغيير أجزاء معينة من مساحة العنوان الخاصة بها. ومن الناحية العملية، من المقرر استخدام استدعاء النظام الجديد في متصفح Chrome لتعزيز عزل وضع الحماية.
    • بالنسبة للبنية الفرعية x32، التي توفر واجهة برمجة تطبيقات هجينة x86_64 تسمح باستخدام نموذج عنونة ذاكرة 64 بت على أنظمة 32 بت (يعمل المعالج في وضع 64 بت، ولكنه يستخدم مؤشرات 32 بت وعمليات حسابية)، تمت إضافته دعم آلية Shadow Stack، التي تسمح لك بحظر تشغيل العديد من عمليات الاستغلال، وذلك باستخدام إمكانات الأجهزة الخاصة بمعالجات Intel للحماية من الكتابة فوق عنوان الإرجاع من إحدى الوظائف في حالة تجاوز سعة المخزن المؤقت على المكدس.
    • في الأنظمة ذات بنية ARM64، يقوم استدعاء النظام userfaultfd()، والذي يجعل من الممكن إنشاء معالجات للوصول إلى صفحات الذاكرة غير المخصصة (أخطاء الصفحات) في مساحة المستخدم، بتنفيذ الميزات المتعلقة بالحماية ضد الكتابة لمناطق الذاكرة وعناصر جدول صفحات الذاكرة.
    • تمت إزالة الشيفرة البرمجية الداعمة لمعالجات Alpha 21164 (EV5) والمعالجات الأقدم منها، والتي صدرت منذ عام 1995. وقد تعقدت صيانة هذه الشيفرة بسبب افتقارها إلى إمكانية الوصول إلى الذاكرة على مستوى البايت. وكانت Alpha أول بنية معمارية تم نقل نواة النظام إليها. Linux، كانت متاحة في البداية فقط لأنظمة x86.
  • المحاكاة الافتراضية والأمن
    • تمت إضافة دعم لتبادل البيانات المشفرة مع أجهزة TPM (وحدة النظام الأساسي الموثوق به) والتحقق من سلامة المعاملات.
    • أضافت وحدة Landlock LSM، التي تسمح لك بالحد من تفاعل مجموعة من العمليات مع البيئة الخارجية، القدرة على تطبيق قواعد لتقييد الوصول إلى مكالمات ioctl().
    • تم اقتراح الخيار init_mlocked_on_free، الذي تم تعيينه في مرحلة التمهيد، والذي يضمن إعادة تعيين محتويات الذاكرة المحمية من الطرد إلى قسم المبادلة باستخدام استدعاء mlock() إذا تم تحرير هذه الذاكرة دون إلغاء قفلها بواسطة استدعاء إلى مونلوك (). يتيح لك استخدام هذا الخيار منع مفاتيح التشفير من الاستقرار في الذاكرة في حالة الإنهاء الطارئ لأحد التطبيقات التي تعمل معها.
    • يعمل نظام التشفير الفرعي على تسريع عمليات تشفير القرص باستخدام خوارزمية AES-XTS على أنظمة x86_64 مع معالجات Intel وAMD التي تدعم امتدادات VAES أو AVX2 أو VPCLMULQDQ أو AVX10 أو AVX512.
    • تمت إزالة القدرة على جمع الإحصائيات حول استخدام النظام الفرعي لتشفير kernel (CONFIG_CRYPTO_STATS). لم يتم استخدام هذه الميزة في الممارسة العملية وأدت إلى انخفاض كبير في الإنتاجية، كما خلقت عبئًا إضافيًا كبيرًا على المشرفين.
  • النظام الفرعي للشبكة
    • تم تحسين أداء عمليات إرسال البيانات في وضع النسخ الصفري عند استخدام النظام الفرعي io_uring بشكل ملحوظ. تمت إضافة القدرة على دمج ("حزمة") عدة مخازن مؤقتة لإرسال واستقبال عمليات البيانات.
    • أعد كتابة رمز مجموعة البيانات المهملة المستخدم عند إرسال واصفات الملفات عبر مآخذ توصيل Unix باستخدام رسائل SCM_RIGHTS. يؤدي التغيير إلى حل مشكلة تراكم العدادات المرجعية الحلقية.
    • تمت إضافة القدرة على ضبط المرشحات لبروتوكول PFCP (بروتوكول التحكم في إعادة توجيه الحزم) المستخدم في شبكات 4G و5G.
    • تمت إضافة دعم لخيار مآخذ الشبكة SO_PEEK_OFF، والذي، عن طريق القياس مع نفس الخيار لمآخذ توصيل Unix، يسمح لك بتحديد إزاحة البيانات في قائمة الانتظار المستخدمة بواسطة استدعاء نظام recv عند تحديد علامة MSG_PEEK (يضع علامة على البيانات غير مقروءة وسوف يتم ذلك) سيتم إصداره مرة أخرى في المرة التالية التي يتم فيها استدعاء Recv).
    • تمت إضافة دعم لعملية IORING_CQE_F_SOCK_NONEMPTY إلى النظام الفرعي io_uring، والذي يسمح لك بتحديد ما إذا كان مقبس الشبكة به طلبات اتصال في انتظار المعالجة.
    • يُقترح تطبيق تقنية PoE (الطاقة عبر الإيثرنت)، استنادًا إلى التعليمات البرمجية المتوفرة مسبقًا لدعم PoDL (خط الطاقة عبر البيانات) والمتوافق مع وحدات تحكم Microchip PD692x0 وTI TPS23881 PoE.
    • بالنسبة لبروتوكولات TCP وDCCP وMPTC، تمت إضافة دعم لآلية rstreason، والتي تسمح لك بتحديد سبب إرسال حزم RST (على سبيل المثال، NO_SOCKET).
  • معدات
    • تم تضمين برنامج تشغيل panthor للجيل العاشر من GPU Mali (G310، G510، G710)، والذي يستخدم تقنية CSF (Command Stream Frontend)، التي تنقل بعض وظائف برنامج التشغيل إلى جانب البرامج الثابتة لتقليل الحمل على وحدة المعالجة المركزية وتقدم نموذجًا جديدًا لتنظيم العمل على GPU . تم أيضًا اعتماد التغييرات لدعم برنامج التشغيل الجديد بواسطة Mesa وتم تضمينها في برنامج تشغيل Panfrost Gallium لوحدات معالجة الرسومات Mali.
    • تمت إضافة معرفات PCI لبطاقات فيديو Intel Arc المنفصلة الجديدة (DG915/Alchemist) إلى برنامج التشغيل i2.
    • استمر العمل على برنامج تشغيل Xe drm (مدير العرض المباشر) لوحدات معالجة الرسومات المستندة إلى بنية Intel Xe، والتي يتم استخدامها في بطاقات الفيديو من عائلة Intel Arc والرسومات المدمجة، بدءًا من معالجات Tiger Lake. تمت إضافة دعم لوحدات المعالجة المركزية Arrow Lake H. مواصلة تنفيذ دعم معالجات Lunar Lake. تمت إضافة الدعم الأولي لآلية SR-IOV (المحاكاة الافتراضية للإدخال/الإخراج ذات الجذر الواحد).
    • أضاف برنامج تشغيل AMDGPU دعمًا لـ SMU 14.0 (وحدة إدارة النظام). تمت إضافة القدرة على استخدام وحدات معالجة الرسوميات AMD الجديدة على الأنظمة ذات بنية RISC-V.
    • تمت إضافة برنامج تشغيل لمسرع التشفير Tegra Security Engine، والذي يمكن استخدامه لتسريع AES وخوارزميات التجزئة المختلفة.
    • تمت إضافة دعم لـ LG SW43408، Innolux G121XCE-L01 LVDS، RK3326 GameForce Chi، Crystal Clear CMT430B19N00، POWERTIP PH128800T006-ZHC01، Startek KD050HDFIA020-C020A، Pixel 3a، Khadas TS050 V2، لوحات شاشة Raydium RM 69380 116، بنك إنجلترا NT44WHM-N116، سمن N1BCA -EA120 وAUO B01.0XANXNUMX.
    • تمت إضافة دعم للنظام الفرعي الصوتي لأجهزة الكمبيوتر المحمولة Lenovo Thinkbook 13x Gen 4 وLenovo Thinkbook 16P Gen 5 وLenovo Thinkbook 13X وASUS Zenbook 2024 HN7306W. تمت إضافة دعم لبطاقات الصوت الخارجية Vocaster One وVocaster Two. تمت إضافة برنامج تشغيل لمكبرات الصوت NAU8325 من تقنية Nuvoton.
    • أضاف برنامج تشغيل HID-Steam دعمًا لوحدة القياس بالقصور الذاتي (IMU) لوحدة التحكم في الألعاب Steam Deck، مما يسمح باستخدام عقدة evdev منفصلة للوصول إلى بيانات الجيروسكوب ومقياس التسارع.
    • تم تضمين التغييرات لدعم Snapdragon X Elite ARM SoC، الذي يستخدم وحدة المعالجة المركزية Oryon CPU المكونة من 12 نواة من Qualcomm ووحدة معالجة الرسومات Qualcomm Adreno. تهدف الشريحة إلى استخدامها في أجهزة الكمبيوتر المحمولة وأجهزة الكمبيوتر، وتتفوق على شرائح Apple M3 وIntel Core Ultra 155H في العديد من اختبارات الأداء.
    • دعم إضافي للوحات ARM وSOCs والأجهزة: PocketBook 614 Plus وSony Xperia Z3 وXperia 1 V وSamsung Galaxy S5 China وMotorola Moto G وRK3326 GameForce Chi وAnbernic RG35XX (Plus/H/2024) وAiroha EN7581 وRadxa ROCK 3C، ArmSom Sige7، Tanix TX1، Toradex Colibri iMX8DX، Renesas RZ/V2H، Forlinx OK3588-C، Protonic MECSBC، Emcraft Systems NavQ+، NXP S32G3، Wolfvision pf5، Amlogic A4/A5، ASUS RT-AC3200، ASUS RT-AC5300، ASrock E3C256D4I، وIBM system1 BMC، وMeta Harma BMC(AST2600)، وASRock X570D4U BMC، وAu-Zone Maivin AI Vision Starter Kit.
    • تمت إضافة دعم للوحات Milk-V Mars باستخدام Starfive JH7110 SoC استنادًا إلى بنية RISC-V.

في الوقت نفسه، أنشأت مؤسسة البرمجيات الحرة لأمريكا اللاتينية نسخة من نواة النظام المجانية بالكامل 6.10 - Linuxتم تنظيف إصدار 6.10 من نواة ليبر (libre 6.10-gnu) من البرامج الثابتة وبرامج التشغيل التي تحتوي على مكونات غير حرة أو أقسام برمجية ذات نطاق محدود من قِبل الشركة المصنعة. يتضمن الإصدار 6.10 تحديثًا لرمز تنظيف البيانات الثنائية الكبيرة (blobs) في برامج تشغيل Intel i915 وrtl8xxxu وqla2xxx وQCAI sahara. كما تم تنظيف أسماء البيانات الثنائية الكبيرة في ملفات dts (شجرة الجهاز) لبنية Aarch64. وتم تنظيف الملفات الجديدة المضافة إلى برامج تشغيل Adreno وIntel IPU3 وPRUEth من البيانات الثنائية الكبيرة. وتم تنظيف برامج التشغيل الجديدة لـ Panthor وIntel IPU6 وPRUEth SR1 وrtw8703b وtps23881 وair_en8811h وIntel ISH HID وpcm6240. تم إيقاف تنظيف برنامج تشغيل USB Prism2.5/3 وإزالته من النواة.

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster