Glibc 2.36 Linux માટે નવી સુવિધાઓ, સુધારાઓ અને વધુ સાથે આવે છે

વિકાસના છ મહિના પછી, glibc 2.36 ના નવા સંસ્કરણના પ્રકાશનની જાહેરાત કરવામાં આવી હતી, જે ISO C11 અને POSIX.1-2017 ધોરણોની આવશ્યકતાઓનું સંપૂર્ણ પાલન કરે છે અને જેમાં નવા સંસ્કરણમાં 59 વિકાસકર્તાઓના સુધારાનો સમાવેશ થાય છે.

જેઓ ગ્લિબસીથી અજાણ્યા છે, તેઓએ જાણવું જોઈએ કે તે શું છે GNU C પુસ્તકાલય, સામાન્ય રીતે glibc તરીકે ઓળખાય છે તે પ્રમાણભૂત GNU C રનટાઇમ લાઇબ્રેરી છે. સિસ્ટમો જ્યાં તેનો ઉપયોગ થાય છે, આ સી લાઇબ્રેરી કે સિસ્ટમ કોલ્સ અને અન્ય મૂળભૂત કાર્યો પૂરા પાડે છે અને વ્યાખ્યાયિત કરે છે, તેનો ઉપયોગ લગભગ તમામ કાર્યક્રમો દ્વારા થાય છે. 

Glibc 2.36 ની મુખ્ય નવી સુવિધાઓ

પ્રસ્તુત કરાયેલા આ નવા સંસ્કરણમાં, તે પ્રકાશિત કરવામાં આવ્યું છે નવા સંબંધિત રિલોકેશન એડ્રેસ ફોર્મેટ માટે ઉમેરાયેલ સપોર્ટ DT_RELR, જે તમને PIE (પોઝિશન ઇન્ડિપેન્ડન્ટ એક્ઝિક્યુટેબલ્સ) મોડમાં શેર કરેલ ઑબ્જેક્ટ્સ અને લિંક કરેલ એક્ઝિક્યુટેબલ્સમાં સંબંધિત રિલોકેશનનું કદ ઘટાડવાની મંજૂરી આપે છે. ELF ફાઈલોમાં DT_RELR ફીલ્ડના ઉપયોગ માટે લિંકરમાં "-z pack-relative-relocs" વિકલ્પ માટે સમર્થન જરૂરી છે, જે binutils 2.38 માં રજૂ કરવામાં આવ્યું છે.

નવા ફેરફારમાં બીજો ફેરફાર તે છે Linux માટે કાર્યો pidfd_open, pidfd_getfd અને pidfd_send_signal pidfd કાર્યક્ષમતાને ઍક્સેસ પ્રદાન કરવા માટે અમલમાં મૂકવામાં આવ્યા હતા જે PID પુનઃઉપયોગની પરિસ્થિતિઓને હેન્ડલ કરવામાં મદદ કરે છે જેથી મોનિટર કરેલી ફાઇલોને ઍક્સેસ કરતી પ્રક્રિયાઓને વધુ સચોટ રીતે ઓળખવામાં મદદ મળે (pidfd ચોક્કસ પ્રક્રિયા સાથે સંકળાયેલ છે અને તે બદલાતું નથી, જ્યારે PID પ્રક્રિયા સમાપ્ત થયા પછી બીજી પ્રક્રિયા સાથે જોડી શકાય છે). આ સાથે સંકળાયેલ વર્તમાન પ્રક્રિયા PID).

આ ઉપરાંત, Linux માં પણ આવે છે process_madvise(), ક્યુ અન્ય પ્રક્રિયા વતી madvise() સિસ્ટમ કૉલ ચલાવવાની પ્રક્રિયાને મંજૂરી આપે છે, pidfd નો ઉપયોગ કરીને લક્ષ્ય પ્રક્રિયાને ઓળખવી. madvise(), તમે પ્રક્રિયાના મેમરી મેનેજમેન્ટને ઑપ્ટિમાઇઝ કરવા માટે મેમરી સાથે કામ કરવાની વિશેષતાઓ વિશે કર્નલને જાણ કરી શકો છો, ઉદાહરણ તરીકે, પસાર કરેલી માહિતીના આધારે, કર્નલ વધારાની ફ્રી મેમરી રિલીઝ કરવાનું શરૂ કરી શકે છે.

તે પણ નોંધ્યું છે કે કાર્ય ઉમેરવામાં આવ્યું હતું process_mrelease(), જે તમને તેના અમલને સમાપ્ત કરતી પ્રક્રિયા માટે મેમરીના પ્રકાશનને ઝડપી બનાવવા માટે પરવાનગી આપે છે. સામાન્ય સંજોગોમાં, સંસાધનનું પ્રકાશન અને પ્રક્રિયાની સમાપ્તિ ત્વરિત હોતી નથી અને વિવિધ કારણોસર વિલંબિત થઈ શકે છે, જે વપરાશકર્તાની જગ્યા પ્રારંભિક ચેતવણી સિસ્ટમો જેમ કે oomd (સિસ્ટમ દ્વારા પૂરી પાડવામાં આવેલ) સાથે દખલ કરે છે. process_mrelease કૉલ કરીને, આ સિસ્ટમો વધુ અનુમાનિત રીતે એવી પ્રક્રિયાઓ માટે મેમરી પુનઃપ્રાપ્તિ શરૂ કરી શકે છે જે બળજબરીથી સમાપ્ત કરવામાં આવી હતી.

બીજી તરફ, તે ઉમેરવામાં આવ્યું હોવાનું નોંધ્યું છે "no-aaaa" વિકલ્પ માટે સપોર્ટ ના સંકલિત અમલીકરણ માટે DNS રિઝોલ્યુશન, જે તમને AAAA રેકોર્ડ્સ માટે DNS વિનંતીઓ મોકલવાનું અક્ષમ કરવાની મંજૂરી આપે છે (હોસ્ટનામ દ્વારા IPv6 સરનામું નક્કી કરવું), ભલે NSS વિધેયો જેમ કે getaddrinfo(), મુશ્કેલીનિવારણને સરળ બનાવવા માટે ચલાવી રહ્યા હોય. આ વિકલ્પ /etc/hosts અને AI_PASSIVE ફ્લેગ સાથે getaddrinfo() ને કૉલમાં વ્યાખ્યાયિત IPv6 એડ્રેસ બાઈન્ડીંગના હેન્ડલિંગને અસર કરતું નથી.

Linux માટે, કાર્યો ઉમેર્યા fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, અને mount_setattr થી કેવી રીતે ફાઈલ સિસ્ટમો માઉન્ટ થાય છે તે નિયંત્રિત કરવા માટે નવા કર્નલ API ને ઍક્સેસ પ્રદાન કરો માઉન્ટ નેમસ્પેસ પર આધારિત. સૂચિત કાર્યો વિવિધ માઉન્ટિંગ સ્ટેપ્સ (સુપરબ્લોકની પ્રક્રિયા, ફાઈલ સિસ્ટમ વિશે માહિતી મેળવવી, માઉન્ટ કરવાનું, માઉન્ટ પોઈન્ટ સાથે જોડવું) ની અલગ પ્રક્રિયા કરવાની મંજૂરી આપે છે, જે અગાઉ સામાન્ય માઉન્ટ() ફંક્શનનો ઉપયોગ કરીને કરવામાં આવતા હતા.

ઉમેરવામાં આવ્યા હતા કાર્યો arc4random, arc4random_buf અને arc4random_uniform સિસ્ટમ કોલ પર બાઈન્ડીંગ આપવા માટે મેળવો અને ઇન્ટરફેસ /dev/urrandom, ઉચ્ચ-ગુણવત્તાવાળા સ્યુડો-રેન્ડમ નંબરો પરત કરી રહ્યાં છે.

જ્યારે Linux પર ચાલી રહ્યું હોય, ત્યારે આર્કિટેક્ચર માટે સપોર્ટ આપવામાં આવે છે. સૂચના સેટમાંથી લૂંગઆર્ક Loongson 3 5000 પ્રોસેસરોમાં વપરાય છે અને MIPS અને RISC-V જેવું નવું RISC ISA લાગુ કરવામાં આવ્યું છે. તેના વર્તમાન સ્વરૂપમાં, માત્ર સુસંગતતા ઉપલબ્ધ છે 64-બીટ વેરિઅન્ટ સાથે LoongArch (LA64) થી. તેને ચલાવવા માટે ઓછામાં ઓછા binutils 2.38, GCC 12, અને Linux કર્નલ 5.19 ની જરૂર છે.

અન્ય ફેરફારો કે જે standભા છે:

  • પ્રીલિંકીંગ મિકેનિઝમ, તેમજ સંકળાયેલ LD_TRACE_PRELINKING અને LD_USE_LOAD_BIAS એન્વાયર્નમેન્ટ વેરિયેબલ્સ અને લિંકર સુવિધાઓ, નાપસંદ કરવામાં આવી છે અને ભવિષ્યના પ્રકાશનમાં દૂર કરવામાં આવશે.
  • Linux કર્નલ સંસ્કરણને તપાસવા અને LD_ASSUME_KERNEL પર્યાવરણ ચલને હેન્ડલ કરવા માટે કોડ દૂર કર્યો. Glibc કમ્પાઇલ કરતી વખતે સપોર્ટેડ ન્યૂનતમ કર્નલ સંસ્કરણ ELF ફીલ્ડ NT_GNU_ABI_TAG દ્વારા નક્કી કરવામાં આવે છે.
  • LD_LIBRARY_VERSION પર્યાવરણ ચલ Linux પ્લેટફોર્મ પર નાપસંદ કરવામાં આવ્યું છે.

અંતે, જો તમને તેના વિશે વધુ જાણવામાં રસ છે, તો તમે વિગતોનો સંપર્ક કરી શકો છો નીચેની કડીમાં


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.