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

Sonar เข้าซื้อกิจการ Gitar สตาร์ตอัป AI Code Review ยกระดับระบบตรวจสอบโค้ดด้วย Agentic Reasoning

Sonar ผู้ให้บริการแพลตฟอร์มตรวจสอบคุณภาพและความมั่นคงปลอดภัยของโค้ด ประกาศเข้าซื้อกิจการ Gitar สตาร์ตอัปผู้เชี่ยวชาญด้านระบบ AI-native Code Review การเข้าซื้อกิจการครั้งนี้มีเป้าหมายเพื่อผสานความสามารถด้านการคิดวิเคราะห์ของ Gitar เข้ากับเอนจินตรวจสอบโค้ดของ Sonar เพื่อสร้างความมั่นคงปลอดภัยที่รัดกุมยิ่งขึ้นสำหรับทีม DevOps ในยุคที่ …

Stripe ยกระดับระบบชำระเงินสู่โครงสร้างพื้นฐานสำหรับ Machine-to-Machine รับยุค Agentic AI

Stripe เปิดตัวผลิตภัณฑ์ใหม่ 288 รายการ พร้อมส่งแผนพลิกโฉมระบบชำระเงินจากเดิมที่เป็นโครงสร้างพื้นฐานในการทำธุรกรรมสำหรับมนุษย์ ให้กลายเป็นโครงสร้างพื้นฐานที่สามารถตั้งโปรแกรมได้และทำงานอย่างต่อเนื่องเพื่อรองรับธุรกกรรมแบบ Machine-to-Machine ถือเป็นการปูทางเข้าสู่ระบบเศรษฐกิจแบบ Agentic AI อย่างเต็มรูปแบบ