يصل Glibc 2.36 بميزات جديدة لنظام Linux وتحسينات والمزيد

بعد ستة أشهر من التطوير ، تم الإعلان عن إصدار الإصدار الجديد من glibc 2.36 ، والذي يتوافق تمامًا مع متطلبات معايير ISO C11 و POSIX.1-2017 والذي يتضمن الإصدار الجديد تصحيحات من 59 مطورًا.

بالنسبة لأولئك الذين ليسوا على دراية بـ Glibc ، يجب أن يعرفوا ما هو مكتبة جنو سي ، تُعرف باسم glibc وهي مكتبة وقت تشغيل GNU C القياسية. على الأنظمة التي يتم استخدامها فيها ، فإن مكتبة C هذه يوفر ويحدد مكالمات النظام والوظائف الأساسية الأخرى ، ويتم استخدامه من قبل جميع البرامج تقريبًا. 

الميزات الرئيسية الجديدة لـ Glibc 2.36

في هذا الإصدار الجديد الذي تم تقديمه ، تم تسليط الضوء على أن إضافة دعم لتنسيق عنوان نقل نسبي جديد DT_RELR ، والذي يسمح لك بتقليل حجم عمليات النقل النسبية في الكائنات المشتركة والملفات التنفيذية المرتبطة في وضع PIE (Position Independent Executables). يتطلب استخدام حقل DT_RELR في ملفات ELF دعمًا للخيار "-z pack-النسبي-relocs" في الرابط ، المقدم في binutils 2.38.

تغيير آخر يبرز في الإصدار الجديد هو ذلك لينوكس الوظائف pidfd_open و pidfd_getfd و pidfd_send_signal لتوفير الوصول إلى وظيفة pidfd مما يساعد على التعامل مع حالات إعادة استخدام PID لتحديد العمليات التي تصل إلى الملفات المراقبة بشكل أكثر دقة (يرتبط pidfd بعملية معينة ولا يتغير ، بينما يمكن إرفاق PID بعملية أخرى بعد انتهاء العملية). العملية الحالية المرتبطة بهذا PID).

إلى جانب ذلك ، أيضًا في Linux تأتي process_madvise ()أن يسمح لعملية تنفيذ استدعاء نظام madvise () نيابة عن عملية أخرى، تحديد العملية المستهدفة باستخدام pidfd. من خلال madvise () ، يمكنك إعلام kernel بخصائص العمل مع الذاكرة لتحسين إدارة الذاكرة للعملية ، على سبيل المثال ، استنادًا إلى المعلومات التي تم تمريرها ، يمكن للنواة البدء في تحرير ذاكرة خالية إضافية.

ويلاحظ أيضًا أنه تمت إضافة الوظيفة process_mrelease () ، والتي تتيح لك تسريع تحرير الذاكرة لعملية تنتهي بتنفيذها. في ظل الظروف العادية ، لا يكون تحرير الموارد وإنهاء العملية لحظيًا ويمكن أن يتأخر لأسباب مختلفة ، مما يتداخل مع أنظمة الإنذار المبكر الخاصة بمساحة المستخدم مثل oomd (التي يوفرها systemd). من خلال استدعاء process_mrelease ، يمكن لهذه الأنظمة أن تبدأ بشكل أكثر توقعًا في عمليات استرجاع الذاكرة للعمليات التي تم إنهاؤها قسرًا.

من ناحية أخرى ، لوحظ أنه تمت إضافته دعم الخيار "no-aaaa" إلى التنفيذ المتكامل تحليل DNS ، والذي يسمح لك بتعطيل إرسال طلبات DNS لسجلات AAAA (تحديد عنوان IPv6 حسب اسم المضيف) ، حتى عند تشغيل وظائف NSS مثل getaddrinfo () ، لتبسيط استكشاف الأخطاء وإصلاحها. لا يؤثر هذا الخيار على معالجة ارتباطات عناوين IPv6 المحددة في / etc / hosts والمكالمات لـ getaddrinfo () بعلامة AI_PASSIVE.

بالنسبة إلى Linux ، تمت إضافة الوظائف fsopen و fsmount و move_mount و fsconfig و fspick و open_tree و mount_setattr إلى توفير الوصول إلى واجهة برمجة تطبيقات kernel جديدة للتحكم في كيفية تركيب أنظمة الملفات على أساس جبل مساحات. تسمح الوظائف المقترحة بمعالجة منفصلة لخطوات التثبيت المختلفة (معالجة الكتلة الفائقة ، والحصول على معلومات حول نظام الملفات ، والتركيب ، والربط بنقطة التحميل) ، والتي تم إجراؤها مسبقًا باستخدام وظيفة mount () المشتركة.

تم اضافته وظائف arc4random و arc4random_buf و arc4random_uniform لتوفير ارتباطات لاستدعاء النظام com.getrandom والواجهة / ديف / urandom، بإرجاع أرقام عشوائية زائفة عالية الجودة.

عند التشغيل على Linux ، يتم توفير الدعم للبنية. من مجموعة التعليمات لونج آرتش المستخدمة في معالجات Loongson 3 5000 ويتم تنفيذ RISC ISA جديد مشابه لـ MIPS و RISC-V. في شكله الحالي ، لا يتوفر سوى التوافق مع متغير 64 بت من LoongArch (LA64). يتطلب تشغيل binutils 2.38 و GCC 12 و Linux kernel 5.19 على الأقل.

من التغييرات الأخرى التي تبرز:

  • تم إهمال آلية الربط المسبق ، بالإضافة إلى متغيرات البيئة LD_TRACE_PRELINKING و LD_USE_LOAD_BIAS وميزات الرابط ، وستتم إزالتها في إصدار مستقبلي.
  • تمت إزالة التعليمات البرمجية للتحقق من إصدار Linux kernel والتعامل مع متغير البيئة LD_ASSUME_KERNEL. يتم تحديد الحد الأدنى من إصدار kernel المدعوم عند تجميع Glibc بواسطة حقل ELF NT_GNU_ABI_TAG.
  • تم إهمال متغير البيئة LD_LIBRARY_VERSION على نظام Linux.

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.