Information Technology

Year 2038 Problem

หลายคนอาจจะเคยได้ยินปัญหา Y2K มากันมากแล้ว โพสต์นี้ลองมาดูปัญหาของ Y2K38 กันบ้าง
Year 2038 Problem
Share this

หลายคนอาจจะเคยได้ยินปัญหา Y2K มากันมากแล้ว โพสต์นี้ลองมาดูปัญหาของ Y2K38 กันบ้าง

ปัญหา Year 2038 Problem (หรือ Y2K38) เป็นปัญหาที่จะเกิดขึ้นกับระบบคอมพิวเตอร์ที่เก็บเวลาในรูปแบบของ จำนวนวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 (Unix Epoch) โดยใช้ตัวแปรชนิด 32-bit signed integer (ตัวเลขมีขอบเขตทั้งบวกและลบ)

ทำไมถึงเกิดปัญหา?

  1. ขอบเขตของตัวเลข 32-bit signed integer
    • ตัวเลขสูงสุดที่เก็บได้คือ 2,147,483,647 (หรือ 231−1)
  2. สิ่งที่เกิดขึ้นเมื่อเกินขอบเขต
    • เมื่อถึงค่านี้และเพิ่มอีก 1 วินาที ตัวเลขจะล้นไปยังค่าต่ำสุดของ -2,147,483,648 ซึ่งหมายความว่าเวลาจะย้อนกลับไปที่ 13 ธันวาคม 1901 แทนที่จะเดินหน้าต่อไปในปี 2038

ผลกระทบ

  • โปรแกรมหรือระบบที่พึ่งพาการคำนวณเวลาในรูปแบบนี้อาจทำงานผิดพลาด เช่น:
    • คำนวณเวลาไม่ถูกต้อง
    • เกิดข้อผิดพลาดในระบบฐานข้อมูล
    • บริการหรือโปรแกรมหยุดทำงานโดยไม่คาดคิด

ตัวอย่างระบบที่อาจได้รับผลกระทบ

  • ระบบปฏิบัติการเก่า (Linux/Unix เวอร์ชันเก่า)
  • ซอฟต์แวร์ที่ไม่ได้อัปเดต
  • อุปกรณ์ฝังตัว (Embedded Systems) เช่น ระบบ GPS, ระบบควบคุมในรถยนต์

แนวทางแก้ไข

  1. เปลี่ยนไปใช้ 64-bit integer สำหรับเก็บเวลา
    • ตัวแปร 64-bit สามารถเก็บค่าได้มากกว่า 263−1 วินาที ซึ่งครอบคลุมเวลายาวนานถึงปี 292,277,026,596
    • ระบบ 64-bit สมัยใหม่ส่วนใหญ่ได้แก้ไขปัญหานี้แล้ว
  2. อัปเดตซอฟต์แวร์และฮาร์ดแวร์
    • พัฒนาให้รองรับการคำนวณเวลาที่ไม่ขึ้นกับ Unix Timestamp แบบ 32-bit

เทียบกับปัญหา Y2K

pexels-cottonbro-4101143-2

เมื่อเปรียบเทียบ Year 2038 Problem (Y2K38) กับ Y2K Problem (ปัญหาเปลี่ยนปี 2000) จะพบว่าผลกระทบและระดับความร้ายแรงแตกต่างกันในหลายด้าน:

1. ความแพร่หลายของระบบที่ได้รับผลกระทบ

  • Y2K (ปี 2000)

    • ระบบส่วนใหญ่ในตอนนั้นเก็บปีในรูปแบบ 2 หลัก (เช่น "99" แทน 1999) ซึ่งเมื่อเปลี่ยนเป็นปี 2000 อาจทำให้ระบบเข้าใจผิดว่าเป็นปี 1900
    • ผลกระทบครอบคลุม แทบทุกอุตสาหกรรม เช่น ธนาคาร, การบิน, พลังงาน, การสื่อสาร และรัฐบาลทั่วโลก
    • เป็นปัญหาที่เกิดขึ้นพร้อมกันในเวลาเที่ยงคืนของวันที่ 1 มกราคม 2000
  • Y2K38 (ปี 2038)

    • กระทบเฉพาะระบบที่ใช้ Unix Timestamp แบบ 32-bit ซึ่งในปัจจุบันใช้น้อยลง เนื่องจากระบบใหม่ๆ เปลี่ยนไปใช้ 64-bit แล้ว
    • ผลกระทบส่วนใหญ่จำกัดอยู่ใน ระบบปฏิบัติการเก่า, Embedded Systems, หรือ อุปกรณ์ IoT รุ่นเก่า ที่ไม่ได้รับการอัปเดต
    • ไม่ได้เกิดพร้อมกันทั่วโลกในเวลาเดียวกัน แต่ขึ้นอยู่กับการใช้งานเวลาในแต่ละระบบ

2. การรับมือ

  • Y2K
    • การแก้ไขต้องใช้ทรัพยากรจำนวนมาก เนื่องจากต้องตรวจสอบและปรับปรุงระบบทั่วโลก
    • มีการเตรียมการระดับนานาชาติ โดยเฉพาะในอุตสาหกรรมสำคัญ เช่น ธนาคารและการบิน
    • สร้างความตื่นตระหนกในช่วงใกล้เข้าสู่ปี 2000 เนื่องจากไม่มีใครมั่นใจว่าจะแก้ปัญหาทั้งหมดได้ทันเวลา
  • Y2K38
    • ปัญหามีเวลารับมือมากกว่า (ปัจจุบันเหลือเวลาอีกกว่า 10 ปี) และผู้พัฒนาเทคโนโลยีส่วนใหญ่ทราบถึงปัญหานี้แล้ว
    • ระบบ 64-bit ที่รองรับเวลานานกว่าเริ่มเป็นมาตรฐานในหลายอุตสาหกรรม ทำให้ผลกระทบลดลง
    • อุปกรณ์ที่ไม่สามารถอัปเดตได้ (เช่น Embedded Systems เก่า) อาจยังคงมีปัญหา

3. ความรุนแรงของผลกระทบ

  • Y2K
    • หากไม่มีการแก้ไข ผลกระทบอาจเกิดกับระบบสำคัญ เช่น การทำงานของระบบธนาคาร (เช่น คำนวณดอกเบี้ยผิดพลาด), การบิน (ระบบนำทาง), หรือโครงสร้างพื้นฐานด้านพลังงาน
    • ผลกระทบคาดการณ์ว่าจะ "ร้ายแรงในระดับโลก" จึงมีการลงทุนแก้ปัญหาจำนวนมาก
  • Y2K38
    • ผลกระทบคาดว่าจะ จำกัดอยู่ในบางระบบ เช่น อุปกรณ์ฝังตัวที่ไม่ได้รับการอัปเดต หรือซอฟต์แวร์เก่า
    • สำหรับระบบ 64-bit หรือที่ได้รับการอัปเดตแล้ว จะไม่มีผลกระทบเลย

4. ต้นทุนในการแก้ไข

  • Y2K
    • ทั่วโลกใช้เงินประมาณ 300-500 พันล้านดอลลาร์สหรัฐ เพื่อแก้ไขและตรวจสอบระบบ
    • การตื่นตระหนกทำให้บางประเทศลงทุนมากกว่าที่จำเป็น
  • Y2K38
    • ต้นทุนคาดว่าจะน้อยกว่ามาก เนื่องจากเทคโนโลยีที่ทันสมัยกว่าและการแก้ไขมีเป้าหมายเฉพาะระบบเก่า
    • อาจต้องใช้เวลาและงบประมาณเพิ่มเติมเฉพาะในอุตสาหกรรมที่ใช้งาน Embedded Systems จำนวนมาก

สรุป: ผลกระทบ Y2K38 เมื่อเทียบกับ Y2K

  • Y2K: มีผลกระทบกว้างขวางและรุนแรงกว่า เนื่องจากเป็นปัญหาทั่วโลกที่กระทบหลายอุตสาหกรรมในเวลาเดียวกัน
  • Y2K38: มีผลกระทบจำกัด เฉพาะระบบเก่าหรือ Embedded Systems ที่ไม่ได้รับการอัปเดต


อย่างไรก็ตาม หากระบบที่ได้รับผลกระทบในปี 2038 เป็นระบบสำคัญ เช่น ระบบควบคุมโครงสร้างพื้นฐานหรืออุปกรณ์การแพทย์ ก็อาจสร้างปัญหาได้เช่นกัน การเตรียมตัวและอัปเดตระบบจึงยังคงมีความสำคัญ!

อ่านเพิ่มเติมได้ที่:
https://computer.howstuffworks.com/question75.htm
https://en.wikipedia.org/wiki/Year_2038_problem


Post Views: 354