Microsoft Azure by Ingram Micro (Thailand)

Linux เริ่มแก้ไขปัญหา Y2038 ปัญหาคล้ายคลึงกับ Y2K ใน Linux Kernel 4.15 เพิ่มเติม

หากใครทันกับสมัยปัญหา Y2K ที่บรรดาซอฟต์แวร์ต่างๆ นั้นถูกพัฒนาด้วยการระบุจำนวนปีจากการใช้เลขท้าย 2 หลักของค.ศ. เพื่อรองรับการระบุเวลาในช่วง 1900 – 2000 นั้น ปัญหานี้อาจเกิดขึ้นอีกครั้งในปี 2038 จากการระบุเวลาด้วย Signed 32-bit Integer แทน โดยปัญหานี้มีชื่อเรียกกันว่า Y2038 และทางทีมพัฒนา Linux Kernel ก็กำลังทำการแก้ไขปัญหาดังกล่าวอยู่

 

การใช้ Unix Signed 32-bit Integer ในการเก็บเวลานี้จะทำให้เวลาสุดท้ายที่ตัวแปรสามารถแสดงผลได้ถูกต้องคือเวลา 03:14:07 UTC ของวันอังคารที่ 19 มกราคม 2038 หรือคือค่า 2^31 – 1 นับวินาทีแรกเริ่มต้นจาก 1 มกราคม 1970 นั่นเอง ซึ่งวินาทีถัดไปที่เลยจากวินาทีสุดท้ายดังกล่าวนั้นจะเป็นค่าเวลาติดลบ และถูกระบบตีความว่าเป็นวันที่ 13 ธันวาคม 1901 เป็นปัญหาที่เกิดจาก Integer Overflow นั่นเอง โดยใน Wikipedia นั้นได้รายงานว่าระบบที่น่าจะได้รับผลกระทบกับปัญหานี้หลักๆ คือเหล่าบรรดา Embedded Systems ที่ถูกพัฒนามาก่อนหน้าและไม่สามารถทำการอัปเดตแก้ไขได้โดยง่าย รวมถึง Android บางระบบนั้นก็สามารถแครชและ Restart ไม่ขึ้นหากถูกตั้งเวลาเอาไว้เป็นช่วงที่มีปัญหา Y2038 ดังกล่าว

ใน Security Update ของ Linux 4.15 Kernel นี้ได้มีการ Merge โค้ดในส่วนที่แก้ไขปัญหา Y2038 เพิ่มเติมจำนวนมาก เพราะปัญหานี้ส่งผลกระทบต่อระบบ Timestamp ในระบบย่อยที่หลากหลาย ซึ่งแนวทางหนึ่งที่ถูกนำมาใช้แก้ปัญหานี้ก็คือการยกเลิกการใช้คำสั่ง do_gettimeofday() ที่ถูกประกาศ deprecate ไปแล้ว มาใช้คำสั่ง ktime_get_real_ts64() หรือ ktime_get_seconds() แทน

ใครพัฒนาโปรแกรมอะไรที่มีส่วนข้องเกี่ยวกับเวลา ก็อย่าลืมจัดการกับปัญหาดังกล่าวที่อาจเกิดขึ้นด้วยนะครับ

 

ที่มา: https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.15-Year-2038-Fixes

About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Cisco ปิดดีลเข้าซื้อ Splunk มูลค่า 1 ล้านล้านบาท

หลังจากผ่านการตรวจสอบอย่างเข้มข้นจนได้รับอนุมัติเรียบร้อย ล่าสุดทาง Cisco ได้ประกาศถึงความสำเร็จในการเข้าซื้อกิจการของ Splunk ที่มูลค่า 28,000 ล้านเหรียญหรือราวๆ 1 ล้านล้านบาทอย่างเป็นทางการแล้ว

NVIDIA เปิดตัว NIM Microservices และ Cloud Endpoints ใหม่ ช่วยองค์กรพัฒนา Generative AI ใช้งานได้สะดวกขึ้น

NVIDIA เปิดตัว API และเครื่องมือใหม่สำหรับการพัฒนาและใช้งาน Generative AI ในงานสัมมนา NVIDIA GTC 2024 ซึ่งจะช่วยให้การพัฒนาและนำเทคโนโลยีดังกล่าวมาใช้งานสะดวกรวดเร็วยิ่งขึ้นตั้งแต่ขั้นตอนการจัดเตรียมข้อมูล ปรับแต่งโมเดล ไปจนถึงการรักษาความปลอดภัยด้วย Guardrails