Glibc 2.36 Linux साठी नवीन वैशिष्ट्ये, सुधारणा आणि बरेच काही घेऊन आले आहे

सहा महिन्यांच्या विकासानंतर, glibc 2.36 च्या नवीन आवृत्तीचे प्रकाशन घोषित करण्यात आले, जे ISO C11 आणि POSIX.1-2017 मानकांच्या आवश्यकतांचे पूर्णपणे पालन करते आणि ज्यामध्ये नवीन आवृत्तीमध्ये 59 विकासकांकडून सुधारणा समाविष्ट आहेत.

जे ग्लिबसीशी अपरिचित आहेत, त्यांना ते काय आहे हे माहित असले पाहिजे जीएनयू सी लायब्ररी, सामान्यतः glibc म्हणून ओळखले जाणारे मानक GNU C रनटाइम लायब्ररी आहे. ज्या सिस्टीममध्ये ती वापरली जाते, तिथे ही सी लायब्ररी सिस्टम कॉल आणि इतर मूलभूत कार्ये प्रदान करते आणि परिभाषित करते, हे जवळजवळ सर्व प्रोग्रामद्वारे वापरले जाते. 

Glibc 2.36 ची मुख्य नवीन वैशिष्ट्ये

सादर करण्यात आलेल्या या नव्या आवृत्तीत हे अधोरेखित करण्यात आले आहे नवीन सापेक्ष रिलोकेशन अॅड्रेस फॉरमॅटसाठी समर्थन जोडले DT_RELR, जे तुम्हाला PIE (Position Independent Executables) मोडमध्ये शेअर केलेल्या ऑब्जेक्ट्स आणि लिंक्ड एक्झिक्यूटेबल्समधील सापेक्ष रिलोकेशनचा आकार कमी करण्यास अनुमती देते. ELF फाइल्समधील DT_RELR फील्डचा वापर करण्यासाठी लिंकरमधील "-z pack-relative-relocs" पर्यायासाठी समर्थन आवश्यक आहे, binutils 2.38 मध्ये सादर केले आहे.

नवीन आवृत्तीत दिसणारा आणखी एक बदल म्हणजे तो Linux साठी फंक्शन्स pidfd_open, pidfd_getfd आणि pidfd_send_signal pidfd कार्यक्षमतेमध्ये प्रवेश प्रदान करण्यासाठी लागू केले होते जे PID पुनर्वापर परिस्थिती हाताळण्यास मदत करते निरीक्षण केलेल्या फायलींमध्ये प्रवेश करणार्‍या प्रक्रिया अधिक अचूकपणे ओळखण्यासाठी (pidfd विशिष्ट प्रक्रियेशी संबंधित आहे आणि बदलत नाही, तर PID प्रक्रिया संपल्यानंतर दुसर्‍या प्रक्रियेशी संलग्न केला जाऊ शकतो) याशी संबंधित वर्तमान प्रक्रिया पीआयडी).

त्याच्या बाजूला, लिनक्समध्ये देखील process_madvise() येते, que दुसर्‍या प्रक्रियेच्या वतीने madvise() सिस्टम कॉल कार्यान्वित करण्यासाठी प्रक्रियेस अनुमती देते, pidfd वापरून लक्ष्य प्रक्रिया ओळखणे. madvise(), प्रक्रियेच्या मेमरी व्यवस्थापनाला अनुकूल करण्यासाठी तुम्ही कर्नलला मेमरीसह कार्य करण्याच्या वैशिष्ट्यांबद्दल माहिती देऊ शकता, उदाहरणार्थ, पास केलेल्या माहितीच्या आधारे, कर्नल अतिरिक्त विनामूल्य मेमरी सोडणे सुरू करू शकते.

फंक्शन जोडले गेल्याचीही नोंद आहे process_mrelease(), जे तुम्हाला त्याची अंमलबजावणी समाप्त करणाऱ्या प्रक्रियेसाठी मेमरी सोडण्याची गती वाढवते. सामान्य परिस्थितीत, संसाधन सोडणे आणि प्रक्रिया संपुष्टात आणणे तात्काळ नसते आणि विविध कारणांमुळे विलंब होऊ शकतो, ज्यामुळे वापरकर्त्याच्या जागेच्या पूर्व चेतावणी प्रणालीमध्ये हस्तक्षेप होतो जसे की oomd (सिस्टमडद्वारे प्रदान केलेले). process_mrelease ला कॉल करून, या सिस्टीम बळजबरीने संपुष्टात आणलेल्या प्रक्रियांसाठी मेमरी पुनर्प्राप्ती अधिक अंदाजे सुरू करू शकतात.

दुसरीकडे, त्यात भर पडल्याची नोंद आहे "no-aaaa" पर्यायासाठी समर्थन च्या एकात्मिक अंमलबजावणीसाठी DNS रिझोल्यूशन, जे तुम्हाला AAAA रेकॉर्डसाठी DNS विनंत्या पाठवणे अक्षम करण्याची परवानगी देते (होस्टनावाद्वारे IPv6 पत्ता निश्चित करणे), जरी NSS फंक्शन्स जसे getaddrinfo() चालवत असताना, समस्यानिवारण सुलभ करण्यासाठी. हा पर्याय /etc/hosts मध्ये परिभाषित केलेल्या IPv6 अॅड्रेस बाइंडिंगच्या हाताळणीवर परिणाम करत नाही आणि AI_PASSIVE फ्लॅगसह getaddrinfo() ला कॉल करतो.

Linux साठी, कार्ये जोडली fsopen, fsmount, move_mount, fsconfig, fspick, open_tree आणि mount_setattr साठी फाइल प्रणाली कशी आरोहित केली जाते ते नियंत्रित करण्यासाठी नवीन कर्नल API मध्ये प्रवेश प्रदान करा माउंट नेमस्पेसेसवर आधारित. प्रस्तावित फंक्शन्स वेगवेगळ्या माउंटिंग पायऱ्या (सुपरब्लॉकवर प्रक्रिया करणे, फाइल सिस्टमबद्दल माहिती मिळवणे, माउंटिंग, माउंट पॉइंटशी संलग्न करणे) च्या स्वतंत्र प्रक्रियेस परवानगी देतात, जे पूर्वी सामान्य माउंट() फंक्शन वापरून केले जात होते.

जोडले गेले होते कार्ये arc4random, arc4random_buf आणि arc4random_uniform सिस्टम कॉलवर बाइंडिंग प्रदान करण्यासाठी यादृच्छिकता आणि इंटरफेस /dev/urrandom, उच्च-गुणवत्तेचे स्यूडो-यादृच्छिक संख्या परत करत आहे.

लिनक्सवर चालत असताना, आर्किटेक्चरसाठी समर्थन प्रदान केले जाते. सूचना संच पासून लूंगआर्क Loongson 3 5000 प्रोसेसरमध्ये वापरलेले आहे आणि MIPS आणि RISC-V प्रमाणे नवीन RISC ISA लागू केले आहे. त्याच्या वर्तमान स्वरूपात, केवळ सुसंगतता उपलब्ध आहे 64-बिट प्रकारासह LoongArch (LA64) वरून. चालवण्यासाठी किमान binutils 2.38, GCC 12, आणि Linux kernel 5.19 आवश्यक आहे.

इतर बदल की:

  • प्रीलिंकिंग मेकॅनिझम, तसेच संबंधित LD_TRACE_PRELINKING आणि LD_USE_LOAD_BIAS पर्यावरण व्हेरिएबल्स आणि लिंकर वैशिष्ट्ये, नापसंत केली आहेत आणि भविष्यातील प्रकाशनात काढली जातील.
  • लिनक्स कर्नल आवृत्ती तपासण्यासाठी आणि LD_ASSUME_KERNEL पर्यावरण व्हेरिएबल हाताळण्यासाठी कोड काढला. Glibc संकलित करताना समर्थित किमान कर्नल आवृत्ती ELF फील्ड NT_GNU_ABI_TAG द्वारे निर्धारित केली जाते.
  • LD_LIBRARY_VERSION पर्यावरण व्हेरिएबल लिनक्स प्लॅटफॉर्मवर नापसंत केले गेले आहे.

शेवटी, जर तुम्हाला त्याबद्दल अधिक जाणून घेण्यात स्वारस्य असेल तर तुम्ही तपशीलांचा सल्ला घेऊ शकता पुढील लिंकवर


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.