Glibc 2.36 vjen me veçori të reja për Linux, përmirësime dhe më shumë

Pas gjashtë muajsh zhvillimi, u njoftua publikimi i versionit të ri të glibc 2.36, i cili përputhet plotësisht me kërkesat e standardeve ISO C11 dhe POSIX.1-2017 dhe në të cilin versioni i ri përfshin korrigjime nga 59 zhvillues.

Për ata që nuk janë të njohur me Glibc, ata duhet të dinë se çfarë është një bibliotekë GNU C, i njohur zakonisht si glibc është biblioteka standarde e ekzekutimit GNU C. Në sistemet ku përdoret, kjo bibliotekë C që siguron dhe përcakton thirrjet e sistemit dhe funksionet e tjera themelore, përdoret nga pothuajse të gjitha programet. 

Karakteristikat kryesore të reja të Glibc 2.36

Në këtë version të ri që prezantohet, theksohet se shtoi mbështetje për një format të ri të adresës së zhvendosjes relative DT_RELR, i cili ju lejon të zvogëloni madhësinë e zhvendosjeve relative në objektet e përbashkëta dhe ekzekutuesit e lidhur në modalitetin PIE (Position Independent Executables). Përdorimi i fushës DT_RELR në skedarët ELF kërkon mbështetje për opsionin "-z pack-relative-relocs" në lidhësin, i prezantuar në binutils 2.38.

Një tjetër ndryshim që bie në sy në versionin e ri është ai për Linux funksionet pidfd_open, pidfd_getfd dhe pidfd_send_signal u zbatuan për të siguruar akses në funksionalitetin pidfd i cili ndihmon për të trajtuar situatat e ripërdorimit të PID për të identifikuar më saktë proceset që aksesojnë skedarët e monitoruar (pidfd lidhet me një proces specifik dhe nuk ndryshon, ndërsa PID mund t'i bashkëngjitet një procesi tjetër pas përfundimit të procesit). procesi aktual i lidhur me këtë PID).

Përveç kësaj, gjithashtu në Linux vjen process_madvise() lejon një proces të ekzekutojë një thirrje të sistemit madvise() në emër të një procesi tjetër, duke identifikuar procesin e synuar duke përdorur pidfd. Nëpërmjet madvise(), ju mund të informoni kernelin për karakteristikat e punës me kujtesën për të optimizuar menaxhimin e kujtesës së procesit, për shembull, bazuar në informacionin e kaluar, kerneli mund të fillojë të lëshojë memorie shtesë të lirë.

Vihet re gjithashtu se funksioni është shtuar process_mrelease(), i cili ju lejon të përshpejtoni lëshimin e kujtesës për një proces që përfundon ekzekutimin e tij. Në rrethana normale, lëshimi i burimeve dhe përfundimi i procesit nuk janë të menjëhershëm dhe mund të vonohen për arsye të ndryshme, duke ndërhyrë në sistemet e paralajmërimit të hershëm të hapësirës së përdoruesit si oomd (të ofruara nga systemd). Duke thirrur process_mrelease, këto sisteme mund të fillojnë në mënyrë më të parashikueshme rikthimin e memories për proceset që janë ndërprerë me forcë.

Nga ana tjetër, vihet re se është shtuar mbështetje për opsionin "no-aaaa". për zbatimin e integruar të Rezolucioni DNS, i cili ju lejon të çaktivizoni dërgimin e kërkesave DNS për regjistrimet AAAA (përcaktimi i një adrese IPv6 sipas emrit të hostit), edhe kur ekzekutoni funksione NSS si getaddrinfo(), për të thjeshtuar zgjidhjen e problemeve. Ky opsion nuk ndikon në trajtimin e lidhjeve të adresave IPv6 të përcaktuara në /etc/hosts dhe thirrjet në getaddrinfo() me flamurin AI_PASSIVE.

Për Linux, u shtuan funksionet fsopen, fsmount, move_mount, fsconfig, fspick, open_tree dhe mount_setattr para siguroni akses në një API të ri të kernelit për të kontrolluar se si montohen sistemet e skedarëve bazuar në hapësirat e emrave të montimit. Funksionet e propozuara lejojnë përpunimin e veçantë të hapave të ndryshëm të montimit (përpunimi i superbllokut, marrja e informacionit për sistemin e skedarëve, montimi, bashkimi në pikën e montimit), të cilat më parë kryheshin duke përdorur funksionin e përbashkët mount().

U shtuan funksionet arc4random, arc4random_buf dhe arc4random_uniform për të siguruar lidhjet në thirrjen e sistemit të rastësishme dhe ndërfaqen / Dev / urandom, duke kthyer numra pseudo të rastësishëm me cilësi të lartë.

Kur funksionon në Linux, ofrohet mbështetje për arkitekturën. nga grupi i udhëzimeve LoongArch përdoret në procesorët Loongson 3 5000 dhe është implementuar një RISC ISA e re e ngjashme me MIPS dhe RISC-V. Në formën e tij aktuale, disponohet vetëm përputhshmëria me variant 64-bit nga LoongArch (LA64). Kërkon të paktën binutils 2.38, GCC 12 dhe Linux kernel 5.19 për të ekzekutuar.

Nga ndryshimet e tjera që bien në sy:

  • Mekanizmi i lidhjes paraprake, si dhe variablat e mjedisit LD_TRACE_PRELINKING dhe LD_USE_LOAD_BIAS dhe veçoritë e lidhjes, janë të vjetruara dhe do të hiqen në një version të ardhshëm.
  • Kodi u hoq për të kontrolluar versionin e kernelit Linux dhe për të trajtuar variablin e mjedisit LD_ASSUME_KERNEL. Versioni minimal i kernelit i mbështetur gjatë përpilimit të Glibc përcaktohet nga fusha ELF NT_GNU_ABI_TAG.
  • Variabli i mjedisit LD_LIBRARY_VERSION është zhvlerësuar në platformën Linux.

Së fundi, nëse jeni të interesuar të dini më shumë për të, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.