
ใหม่ ไลบรารี GNU C เวอร์ชัน 2.43 (glibc) วางจำหน่ายแล้ว การอัปเดตนี้ซึ่งปล่อยออกมาทุกครึ่งปี มาพร้อมกับการเปลี่ยนแปลงทางเทคนิคที่สำคัญมากมายสำหรับนักพัฒนา Linux และผู้ดูแลระบบในยุโรปและส่วนอื่นๆ ของโลก แม้ว่าจะเป็นไลบรารีระบบที่โดยทั่วไปทำงานอยู่เบื้องหลัง แต่การเปลี่ยนแปลงในเวอร์ชันนี้อาจส่งผลกระทบโดยตรงต่อประสิทธิภาพ ความปลอดภัย และความเข้ากันได้ของแอปพลิเคชันจำนวนมาก
แม้ว่าปฏิทินจะระบุว่าต้นเดือนกุมภาพันธ์เป็นวันที่เป้าหมายก็ตาม glibc เวอร์ชัน 2.43 ได้ถูกปล่อยออกมาเร็วกว่ากำหนดการเสียอีกการอัปเดตครั้งนี้แสดงให้เห็นว่าการพัฒนาโครงการมีความคืบหน้าอย่างต่อเนื่อง โดยได้รวมเอาคุณสมบัติใหม่ที่สอดคล้องกับมาตรฐาน C23 การปรับปรุงทางคณิตศาสตร์ที่สำคัญ และการปรับปรุงเฉพาะสำหรับสถาปัตยกรรมต่างๆ เช่น AArch64 และโปรเซสเซอร์ Intel และ AMD รุ่นใหม่ๆ
glibc 2.43 นำเสนอคุณสมบัติใหม่ที่สอดคล้องกับมาตรฐาน ISO C23
หนึ่งในคุณสมบัติที่โดดเด่นที่สุดของ glibc 2.43 คือ... ความก้าวหน้าในการเข้ากันได้กับมาตรฐาน ISO C23มาตรฐานใหม่สำหรับภาษาซี (สอดคล้องกับการปรับปรุงที่ริเริ่มใน glibc2.30ไลบรารีนี้ประกอบด้วยฟังก์ชันต่างๆ เช่น ขนาดฟรี, ขนาดที่จัดเรียงอย่างอิสระ, เมมเซ็ต เอ็กซ์พลิซิท และยูทิลิตี้ที่เกี่ยวข้องกับการจัดเรียงหน่วยความจำ ซึ่งออกแบบมาเพื่อการจัดการทรัพยากรที่ละเอียดและปลอดภัยยิ่งขึ้น
นอกจากนี้ยังได้มีการเปิดตัว ปรับเปลี่ยนฟังก์ชันที่มีอยู่เพื่อให้สอดคล้องกับข้อกำหนดของ 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 และสถาปัตยกรรมใหม่
อีกประเด็นสำคัญคือ การสนับสนุนเชิงทดลองสำหรับการคอมไพล์ 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-add) มาใช้ในรูปแบบใหม่นั้นโดดเด่นในเรื่องความเร็วที่มากกว่าอย่างเห็นได้ชัด ซึ่งสามารถเห็นได้ในงานที่ต้องใช้การคำนวณอย่างหนักหน่วง
เพิ่มประสิทธิภาพในโปรเซสเซอร์ AMD Zen
ที่เกี่ยวข้องกับข้างต้น เวอร์ชัน 2.43 นำเสนอสิ่งใหม่ๆ การปรับปรุงเฉพาะสำหรับตระกูลโปรเซสเซอร์ AMD Zenการเพิ่มประสิทธิภาพการทำงานของ FMA บนซีพียูเหล่านี้ สามารถส่งผลให้ประสิทธิภาพการทำงานเพิ่มขึ้นอย่างเห็นได้ชัดในแอปพลิเคชันที่ใช้คำสั่งประเภทนี้อย่างหนัก เช่น โปรแกรมจำลองสถานการณ์ การวิเคราะห์ข้อมูล หรือเครื่องมือการเรียนรู้ของเครื่อง
ในศูนย์ข้อมูลหลายแห่งในยุโรปที่ AMD Zen ได้รับการยอมรับว่าเป็นตัวเลือกยอดนิยมการปรับแต่งระดับต่ำเหล่านี้ช่วยให้ได้ประสิทธิภาพที่ดีขึ้นจากฮาร์ดแวร์ที่มีอยู่โดยไม่จำเป็นต้องเปลี่ยนแปลงแอปพลิเคชัน เนื่องจากประโยชน์ที่ได้รับนั้นมาจากไลบรารีของระบบเอง
ความโปร่งใสของหน่วยความจำ: ฮิวจ์เพจขนาด 2 MB ใน AArch64
การเปลี่ยนแปลงที่น่าสนใจอีกประการหนึ่งคือ glibc ตอนนี้เปิดใช้งาน hugepages แบบโปร่งใสขนาด 2MB เป็นค่าเริ่มต้นแล้ว ในตัวจัดการหน่วยความจำ malloc สำหรับสถาปัตยกรรม AArch64 นั้น "hugepages" ช่วยให้สามารถทำงานกับหน้าหน่วยความจำขนาดใหญ่ขึ้นได้ ซึ่งช่วยลดภาระงานที่เกี่ยวข้องกับการจัดการพื้นที่แอดเดรส
การปรับเปลี่ยนนี้อาจเกี่ยวข้องกับ ปรับปรุงประสิทธิภาพการทำงานสำหรับงานที่ใช้หน่วยความจำสูงโดยเฉพาะอย่างยิ่งในเซิร์ฟเวอร์และอุปกรณ์ประสิทธิภาพสูงที่ใช้สถาปัตยกรรม ARM ซึ่งกำลังได้รับความนิยมมากขึ้นในยุโรป ทั้งในศูนย์ข้อมูล โครงสร้างพื้นฐานคลาวด์ และสภาพแวดล้อมการพัฒนา
รองรับโปรเซสเซอร์ Intel รุ่นใหม่ๆ
ร้านหนังสือยังเสริมอีกว่า การตรวจจับสำหรับโปรเซสเซอร์ Intel Nova Lake และ Wildcat Lakeการสนับสนุนนี้หมายความว่า glibc สามารถระบุตระกูล CPU ใหม่เหล่านี้ได้อย่างถูกต้อง ทำให้สามารถใช้การปรับแต่งเฉพาะหรือเส้นทางการทำงานของโค้ดที่ปรับให้เข้ากับความสามารถของ CPU เหล่านั้นได้
เมื่อมองไปข้างหน้าในอีกหลายปีข้างหน้า และด้วยการปรับปรุงระบบคอมพิวเตอร์อย่างต่อเนื่องในภาคธุรกิจและหน่วยงานภาครัฐ เพื่อให้มี glibc ที่พร้อมใช้งานสำหรับโปรเซสเซอร์รุ่นต่างๆ เหล่านี้ สิ่งนี้ช่วยให้มั่นใจได้ว่าระบบ Linux สมัยใหม่ทำงานได้อย่างมีประสิทธิภาพบนฮาร์ดแวร์ใหม่ ๆ ที่กำลังเข้าสู่ตลาดยุโรป
ความเข้ากันได้เพิ่มเติม: Unicode 17.0
ในส่วนของการทำให้เป็นสากล glibc เวอร์ชัน 2.43 ได้รวมเอา รองรับ Unicode 17.0ซึ่งเป็นมาตรฐานการเข้ารหัสอักขระเวอร์ชันล่าสุด ส่งผลให้สามารถจดจำสัญลักษณ์ สคริปต์ และการใช้ภาษาใหม่ๆ ได้อย่างครอบคลุมมากขึ้น
สำหรับแอปพลิเคชันที่จัดการ ข้อความในหลายภาษาและบริบททางวัฒนธรรมโดยเฉพาะในสภาพแวดล้อมที่มีหลายภาษาในยุโรป การมีไลบรารี C ที่อัปเดตด้วย Unicode เวอร์ชันล่าสุดจะช่วยหลีกเลี่ยงปัญหาความเข้ากันได้และแสดงอักขระและแบบอักษรใหม่ๆ ได้อย่างถูกต้อง
ด้วยการปรับปรุงทั้งหมดนี้ glibc 2.43 จึงได้รับการยอมรับว่าเป็นเวอร์ชันอัปเดตสำคัญที่รวมเอาความก้าวหน้าด้านความเข้ากันได้กับ C23 การปรับปรุงด้านความปลอดภัย การเพิ่มประสิทธิภาพ และความพร้อมที่มากขึ้นสำหรับฮาร์ดแวร์และข้อกำหนดด้านข้อความล่าสุด ทำให้เป็นส่วนประกอบสำคัญสำหรับการพัฒนาระบบ Linux ในสเปน ยุโรป และภูมิภาคอื่นๆ ที่ไลบรารีนี้เป็นพื้นฐานของสภาพแวดล้อมการทำงาน