
新 GNU C 庫 (glibc) 版本 2.43 現在可用 此版本作為半年一次的更新發布,為歐洲及全球的 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 2.43 中的安全性改進:使用 mseal 進行記憶體密封
在安全性方面,glibc 2.43 增加了對此功能的支持 mseal 在 Linux 系統上此呼叫允許在進程執行期間「密封」某些記憶體映射,從而防止權限更改、取消映射、重新定位或大小減少。
這種做法的 內存加固尤其引人注目。 對於基礎設施服務、銀行軟體、工業解決方案等敏感應用,或那些需要在位址空間層級最大限度減少攻擊面的環境而言,雖然其影響可能對最終用戶不可見,但它有助於增強伺服器和工作站上 Linux 系統的健全性。
openat2:檔案存取更靈活
此次更新還包含 系統呼叫支援 openat2更高級的擴展 openat 適用於 Linux 系統。此功能在開啟檔案時提供額外的控制選項,允許更嚴格的策略以及對路徑和權限進行更精細的管理。
對於檔案系統存取的安全性和可追溯性至關重要的環境而言, openat2 提供更強大的工具 對於開發人員而言,這有助於減少程式錯誤,並更好地管理複雜的目錄和符號連結場景。
實驗性地相容 Clang 和新架構
另一點值得關注的是… 實驗性地支援使用 LLVM Clang 編譯器編譯 glibc。只要在 Linux 系統上使用 18 或更高版本以及 AArch64 或 x86_64 架構,此功能就適用。儘管目前仍被視為一項實驗性功能,但它代表著建構工具朝著更靈活方向邁出的重要一步。
此舉對已經使用過這些設備的人來說尤其有用。 歐洲基於LLVM的環境無論是在研究還是生產中,它都有助於將系統的標準庫整合到與 Clang 和相關工具的同構工作流程中。
使用 CORE-MATH 改進 glibc 2.43 的數學效能
就數值表現而言,glibc 2.43 包含了 來自 CORE-MATH 專案的新最佳化數學函數, 它們之間 acosh, asinh, atanh, erf, erfc, lgamma y tgamma這些實現方式力求在準確性和速度之間取得更好的平衡,這在科學、金融或模擬領域至關重要。
除此之外,還有以下方面的實施: 例如以下操作 fma, fmaf, remainder, remaindef, frexpf, frexp 以及各種變體 frexpl 對於高級二進位格式,例如 binary128 e intel96FMA(融合乘加)的新實現方式以速度明顯更快而著稱,這在計算密集型工作負載中尤其明顯。
AMD Zen處理器效能提升
與上述內容相關,2.43 版本帶來了 針對 AMD Zen 處理器系列的具體改進優化這些 CPU 上的 FMA 操作可以顯著提高大量使用此類指令的應用程式的效能,例如模擬引擎、資料分析或機器學習工具。
在許多歐洲資料中心 AMD Zen 已成為常見的選擇。這些底層調整有助於在不更改應用程式的情況下,從現有硬體中獲得更好的效能,因為這種好處來自系統庫本身。
記憶體透明性:AArch64 架構中 2 MB 大頁
另一個顯著的變化是… glibc 現在預設啟用 2MB 透明大頁。 在記憶體管理器中 malloc 對於 AArch64 架構,「巨頁」允許使用更大的記憶體頁,從而減少與位址空間管理相關的開銷。
這項調整可能涉及 針對記憶體密集型工作負載的效能提升尤其是在歐洲,高效能的基於 ARM 的伺服器和設備正在資料中心、雲端基礎設施和開發環境中廣泛應用。
支援新一代英特爾處理器
書店還增加了 偵測英特爾 Nova Lake 和 Wildcat Lake 處理器這項支援意味著 glibc 能夠正確識別這些新的 CPU 系列,從而可以應用針對其功能的特定最佳化或程式碼路徑。
展望未來幾年,隨著企業和公共管理部門電腦系統的逐步更新, 為這些世代的處理器準備一個glibc 它有助於確保現代 Linux 系統在新硬體上高效運行,並順利進入歐洲市場。
擴充相容性:Unicode 17.0
在國際化部分,glibc 2.43 包含了 支持Unicode 17.0這是字元編碼標準的最新版本。這使得對新符號、文字和語言用法的識別更加全面。
對於處理應用程式 多種語言和文化背景下的文本尤其是在多語言的歐洲環境中,擁有一個包含最新版本 Unicode 的更新版 C 程式庫有助於避免相容性問題,並正確表示最新的字元和字體。
憑藉所有這些改進,glibc 2.43 確立了其作為重大更新的地位,它結合了 C23 兼容性、安全性增強、性能提升以及對最新硬體和文本要求的更大適應性,使其成為西班牙、歐洲和其他地區 Linux 系統發展的關鍵組件,在這些地區,該庫構成了運行時環境的基礎。