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

Meta เตรียมปล่อยโมเดล AI รุ่นใหม่ เพิ่มความสามารถด้าน Coding หวังชน GPT-5.5

Meta เตรียมปล่อยโมเดล AI รุ่นใหม่ที่พัฒนาต่อยอดจาก Muse Spark โดย Alexandr Wang Chief AI Officer ของ Meta เปิดเผยผ่านแพลตฟอร์ม …

[Video] WatchGuard Webinar : Zero Trust Made Simple

ในอดีต การวางระบบ Zero Trust Architecture มักถูกมองว่าเป็น ‘ยาขม’ ของฝ่ายไอทีและองค์กรจำนวนมาก เพราะแนวคิดที่ต้อง ‘ไม่เชื่อใจใคร และต้องตรวจสอบเสมอ’ นั้น มักตามมาด้วยความซับซ้อนยุ่งเหยิงในการบริหารจัดการ ในงาน WatchGuard Webinar ครั้งนี้ท่านจะได้รับชมกับแนวทางที่ทำให้ Zero Trust …