glibc 2.43 пристига с нови възможности за сигурност и производителност в Linux, особено на AArch64 и AMD Zen

  • glibc 2.43 пристига като полугодишна актуализация, пълна с подобрения.
  • Обширна поддръжка за функции на стандарта ISO C23 и нови функции
  • Актуализация на разпознаването на процесора и поддръжка на Unicode 17.0

Библиотеката на

Новото версия 2.43 на GNU C библиотеката (glibc) сега на разположение Издадена като полугодишна актуализация, тя идва с множество значителни технически промени за Linux разработчици и системни администратори в Европа и останалата част от света. Въпреки че е системна библиотека, която обикновено работи във фонов режим, промените в това издание могат директно да повлияят на производителността, сигурността и съвместимостта на много приложения.

Въпреки че календарът показваше началото на февруари като целева дата, glibc 2.43 беше пуснат дори преди срокаТази версия демонстрира, че разработката на проекта напредва стабилно. Тя включва нови функции, съобразени със стандарта C23, значителни математически оптимизации и специфични подобрения за архитектури като AArch64 и съвременни процесори Intel и AMD.

glibc 2.43 въвежда нови функции, съобразени със стандарта ISO C23.

Един от най-забележителните приноси на glibc 2.43 е Подобрена съвместимост с ISO C23, новият стандарт за езика C (в съответствие с подобренията, започнати през glibc2.30Библиотеката включва функции като свободен_размер, свободно_подравнен_размер, memset_explicit и помощни програми, свързани с подравняването на паметта, предназначени за по-фино и безопасно управление на ресурсите.

Освен това те са въведени промени в съществуващите функции, за да бъдат приведени в съответствие с изискванията на C23Това улеснява компилирането и изпълнението на проекти, приемащи новия стандарт, с по-малко триене. Успоредно с това, поддръжката за опционални времеви бази, като например TIME_MONOTONIC, TIME_ACTIVE y TIME_THREAD_ACTIVEотваряйки вратата към по-точни измервания на времето, адаптирани към различни сценарии на изпълнение.

glibc схема
Свързана статия:
Glibc 2.30: ново издание на C библиотека

Подобрения в сигурността в glibc 2.43: запечатване на паметта с mseal

По отношение на сигурността, glibc 2.43 добавя поддръжка за функцията mseal на Linux системиТова извикване позволява определени съпоставяния на паметта да бъдат „запечатани“ по време на изпълнението на даден процес, така че да бъдат защитени от промени в разрешенията, премахване на съпоставянето, преместване или намаляване на размера.

Този подход на Втвърдяването на паметта е особено интересно За чувствителни приложения, като например инфраструктурни услуги, банков софтуер, индустриални решения или среди, където минимизирането на повърхността за атака на ниво адресно пространство е от решаващо значение. Въпреки че въздействието му може да не е видимо за крайния потребител, то допринася за укрепване на устойчивостта на Linux системите на сървъри и работни станции.

openat2: по-голяма гъвкавост при достъпа до файлове

Актуализацията включва и поддръжка на системни повиквания openat2по-усъвършенствано разширение на openat Предлага се в Linux. Тази функция предлага допълнителни контроли при отваряне на файлове, което позволява по-строги правила и по-детайлно управление на пътища и разрешения.

За среди, където сигурността и проследимостта на достъпа до файловата система са ключови, openat2 предоставя по-мощни инструменти на разработчиците, като помага за намаляване на програмните грешки и по-добро управление на сложни сценарии на директории и символни връзки.

Експериментална съвместимост с Clang и нови архитектури

Друг важен момент е Експериментална поддръжка за компилиране на glibc с компилатора LLVM ClangТова важи, стига версии 18 или по-нови и архитектури AArch64 или x86_64 да се използват в Linux. Въпреки че все още се счита за експериментална функция, тя представлява важна стъпка към по-голяма гъвкавост в инструментите за изграждане.

Този ход може да бъде особено полезен за тези, които вече използват LLVM-базирани среди в Европа, както в научноизследователската, така и в производствената област, тъй като улеснява интегрирането на стандартната библиотека на системата в хомогенни работни процеси с Clang и свързаните с него инструменти.

Подобрена математическа производителност в glibc 2.43 с CORE-MATH

По отношение на числените показатели, glibc 2.43 включва нови оптимизирани математически функции от проекта CORE-MATH, между тях acosh, asinh, atanh, erf, erfc, lgamma y tgammaТези реализации търсят по-фин баланс между точност и скорост, нещо от решаващо значение в научните, финансовите или симулационните области.

Наред с това, внедряванията на операции като например fma, fmaf, remainder, remaindef, frexpf, frexp и вариантите на frexpl за усъвършенствани двоични формати, като например binary128 e intel96Новата имплементация на FMA (fused multiply-supplication - комбинирано умножение и добавяне) се откроява с това, че е забележимо по-бърза, нещо, което може да се наблюдава при много изчислително интензивни натоварвания.

Повишаване на производителността в процесорите AMD Zen

Във връзка с гореизложеното, версия 2.43 носи Специфични подобрения за семейството процесори AMD ZenОптимизирането на FMA операциите на тези процесори може да доведе до забележимо повишаване на производителността в приложения, които интензивно използват този тип инструкции, като например симулационни двигатели, анализ на данни или инструменти за машинно обучение.

В много европейски центрове за данни, където AMD Zen се утвърди като често срещан изборТези ниско ниво на корекции помагат за постигане на по-добра производителност от съществуващия хардуер, без да се изискват промени в приложенията, тъй като ползата идва от самата системна библиотека.

Прозрачност на паметта: 2 MB hugepages в AArch64

Друга поразителна промяна е, че glibc вече позволява 2MB прозрачни hugepages по подразбиране в мениджъра на паметта malloc за архитектурата AArch64. „hugepages“ позволяват работа с по-големи страници памет, намалявайки натоварването, свързано с управлението на адресното пространство.

Тази корекция може да включва Подобрения в производителността за натоварвания, изискващи интензивно използване на паметтаособено във високопроизводителните ARM-базирани сървъри и устройства, които набират популярност в Европа, както в центрове за данни, така и в облачни инфраструктури и среди за разработка.

Поддръжка за нови поколения процесори на Intel

Книжарницата добавя още откриване на процесори Intel Nova Lake и Wildcat LakeТази поддръжка означава, че glibc е в състояние правилно да идентифицира тези нови семейства процесори, което позволява прилагането на специфични оптимизации или кодови пътища, адаптирани към техните възможности.

С поглед към следващите години и с прогресивното обновяване на компютърните системи в компаниите и публичните администрации, да има подготвен glibc за тези поколения процесори Това помага да се гарантира, че съвременните Linux системи работят ефективно на нов хардуер, когато той навлезе на европейския пазар.

Разширена съвместимост: Unicode 17.0

В секцията за интернационализация, glibc 2.43 включва поддръжка за Unicode 17.0, най-новата версия на стандарта за кодиране на символи. Това води до по-цялостно разпознаване на нови символи, писмености и езикови употреби.

За приложения, които обработват текст на множество езици и културни контекстиОсобено в многоезични европейски среди, наличието на актуализирана C библиотека с най-новата версия на Unicode помага да се избегнат проблеми със съвместимостта и правилно да се представят последните символи и шрифтове.

С всички тези подобрения, glibc 2.43 се утвърждава като основна актуализация, която съчетава подобрения в съвместимостта с C23, подобрения в сигурността, повишаване на производителността и по-голяма готовност за най-новите хардуерни и текстови изисквания, което я прави ключов компонент за еволюцията на Linux системите в Испания, Европа и други региони, където тази библиотека формира основата на средата за изпълнение.