ตั้งวันที่โทรศัพท์เป็น 2038 เท่านั้น? มีปัญหาใหญ่อยู่เบื้องหลังนี้...
วันสิ้นโลกคือเมื่อไหร่? คำถามไร้สาระนี้มีคำตอบที่แปลกประหลาดอยู่เสมอ เมื่อคุณเปิดการตั้งค่าระบบโทรศัพท์ (ไม่ใช่ปฏิทิน) ให้ปิดการตั้งค่าเวลาอัตโนมัติ และปัดตัวเลขไปในทิศทางในอนาคต คุณจะพบว่าเวลาหยุดอยู่ที่ 2038
Xiaomi และ Huawei สามารถตั้งค่าเป็นวันที่ 31 ธันวาคม 2037 และ iPhone นั้นใช้งานได้นานขึ้นเพียงสองวัน
ไม่ใช่แค่ในโทรศัพท์ แต่ในคอมพิวเตอร์ เมื่อคุณพยายามปรับเวลาตั้งแต่ปี 2037 ขึ้นไป คุณจะพบว่าไม่ว่าจะกดปุ่มตั้งค่าเท่าไหร่ วันที่จะไม่เปลี่ยนแปลง
เมื่อปรับวันที่เกิน 2038 จะหยุดในวันที่ 1 มกราคม 2038
จะเกิดอะไรขึ้นในปี 2038? เหตุใดอุปกรณ์ต่างๆจึง "เกิน" 2038 ไม่ได้ ค้นหาทางอินเทอร์เน็ตสำหรับปี 2038 และคุณยังสามารถหาคนที่ตั้งค่าหน้านับถอยหลังได้อีกด้วย ซึ่งรวมถึงเวลาที่แม่นยำยิ่งขึ้น: 19 มกราคม 2038 3:14:7 น. และในวินาทีถัดไป อุปกรณ์อิเล็กทรอนิกส์ของคุณจะย้อนเวลากลับไปในปี 1901
"ปัญหา 2038" ที่มีชื่อเสียงจะแตกออกในขณะนี้
เมื่อถึงเวลา "ปัญหา 2038" เกิดขึ้น มี...
ในปี 2038 เวลา "ทำลาย" ระบบ
ปัญหาเกิดขึ้นหนึ่งวินาทีหลังจากวันที่ 19 ม.ค. 2038 3:14:7 น. 03:14:08 น. ของวันนี้จะไม่มา คุณจะได้รับการทักทายเวลา 20:45:52 น. ในวันที่ 13 ธันวาคม พ.ศ. 2444
การใช้สคริปต์เพื่อจำลองเวลาของระบบ จะมีการข้ามเวลา (แพลตฟอร์ม Debian GNU/Linux (เคอร์เนล 2.4.22))丨William Porquet/deepsky.com
สำหรับอุปกรณ์อิเล็คทรอนิคส์หลายๆ ตัว เหตุการณ์นี้ถือเป็นหายนะครั้งใหญ่ การสร้างและแก้ไขไฟล์ การทำงานของแอพพลิเคชั่นซอฟต์แวร์ การซิงโครไนซ์ระบบเครือข่าย... ในฐานะที่เป็นค่าสำคัญ เวลามีบทบาทสำคัญอย่างยิ่งในระบบอิเล็กทรอนิกส์ทั้งหมด ดังนั้นในขณะที่ Siri ผู้ช่วยเสียงของโทรศัพท์มือถือของ Apple ก็ถือว่าวันนี้เป็น "วันสิ้นโลก" ทำไมวันนี้? คำสำคัญในคำตอบของ Siri ก็ให้คำตอบเช่นกัน
คำตอบของ Siri เบื้องต้นสำหรับคำถามสิ้นโลก (ระบบเวอร์ชันใหม่ไม่มีคำตอบดังกล่าว)
Unix, 32-bit, สองคำนี้ทำให้วันนี้ในปี 2038 ถึงวาระ Unix เป็นระบบปฏิบัติการ วิธีการจับเวลาในระบบนี้ยึดตามวันที่ 1 มกราคม 1970 00:00:00 น. และเพิ่มขึ้นหรือลดลงในไม่กี่วินาที ตัวอย่างเช่น จะต้องเพิ่ม 1640966400 วินาทีให้กับค่าฐานจนถึง 0:00 ของวันที่ 1 มกราคม 2022 และระบบ Android และ Apple ที่เราใช้อยู่ในขณะนี้อยู่ในระบบที่เหมือน Unix และใช้รูปแบบเดียวกัน
ระบบอิเล็กทรอนิกส์จัดเก็บข้อมูลโดยใช้ 0 และ 1 หรือไบนารี หากใช้เพียง 1 หลัก จะแสดงได้เพียง 0 และ 1 เท่านั้น หากใช้ 2 หลัก 00, 01, 10 และ 11 สามารถใช้แทนตัวเลขสี่ตัว 0, 1, 2 และ 3 ตามลำดับได้ เมื่อจำนวนบิตเพิ่มขึ้น จำนวนที่สามารถแสดงเป็นเลขฐานสองก็เพิ่มขึ้นเช่นกัน แต่มีขีดจำกัดบนเสมอ หากใช้ 32 0 และ 1 เพื่อเก็บตัวเลข บิตแรกแทนเครื่องหมาย 0 แทน และ 1 แทน - ดังนั้น 31 บิตที่เหลือสามารถแทนค่าสูงสุด 2147483647 ในยุคที่ทรัพยากรของคอมพิวเตอร์อยู่ในระดับสูง เวลา 32 บิตก็เพียงพอแล้ว
1 มกราคม 1970 00:00:00 2147483647 วินาที = 19 มกราคม 2038 3:14:7 วินาที ในวินาทีถัดไป ข้อมูลจะถูก "ยกเลิกการโหลด" และเกิดโอเวอร์โฟลว์ ในเวลานี้ บิตเครื่องหมายแรกเปลี่ยนจาก 0 เป็น 1 เครื่องหมายบวกเดิมจะกลายเป็นเครื่องหมายลบ และเวลาก็เคลื่อนผ่านอดีตไปในทันใด
จากบนลงล่างคือไบนารีวินาที วินาทีทศนิยมที่สอดคล้องกัน เวลาของระบบ Unix 32 บิต และเวลาจริง หลังจาก 2147483647 บิตเครื่องหมายจะกลายเป็น 1 (เครื่องหมายลบ) และจำนวนเต็มจะพลิกกลับไปเป็น 1901丨Pemu / Wikicommons
คำถามนี้มีอยู่ในอนาคต มันจะส่งผลต่อเราอย่างไร? เมื่อมองย้อนกลับไป ปัญหา "Millennium Bug" ครั้งแล้วครั้งเล่าได้บอกใบ้ให้เราทราบ
แมลงพันปีจากที่ไกลแสนไกล
2000 สหัสวรรษ. ในสายตาของหลายๆ คน ปีนั้นเปลี่ยนเป็น 1900
นอกจากนี้ เนื่องจากทรัพยากรฮาร์ดแวร์มีค่า โปรแกรมรุ่นแรกๆ จึงใช้ตัวเลขสองหลักสุดท้ายของปีเพื่อแสดงวันที่ และตัวเลขสองหลักแรกมีค่าเริ่มต้นเป็น 19 ปัญหาเรื่องเวลาที่ไม่เด่นชัดนี้ได้กระตุ้นความสนใจอย่างมากทั่วโลก ระบบราชการ ระบบธนาคาร ระบบการบิน และระบบอื่นๆ อาจได้รับผลกระทบและล้มเหลวทั้งหมด มีการตอบสนองทั่วโลกเพื่อพยายามแก้ปัญหา ประเทศของฉันได้ออกเอกสารที่เน้นย้ำถึงความสำคัญของปัญหานี้ซ้ำแล้วซ้ำเล่า สหรัฐอเมริกายังได้ออกกฎหมายเกี่ยวกับปัญหา Millennium Bug เพื่อกระตุ้นให้อุตสาหกรรมต่างๆ แบ่งปันข้อมูลเพื่อแก้ไขปัญหาดังกล่าว
การดำเนินการทั่วโลกเพื่อต่อต้าน "Millennium Bug"丨People's Daily Online Edition
ต้องขอบคุณความเอาใจใส่อย่างสูงที่จ่ายให้กับ "Millennium Bug" ปัญหานี้จึงได้รับการแก้ไขก่อนการระบาดแบบเข้มข้น แต่หลังจากนั้น เหตุการณ์ที่คล้ายกับ "Millennium Bug" ยังคงปรากฏอยู่ในกระแสน้ำที่ไม่สิ้นสุด
ในสัปดาห์แรกของปี 2010 บัตรธนาคารประมาณ 30 ล้านใบในเยอรมนี "ไม่ได้ใช้งาน" ในเวลาเดียวกัน ผู้ถือบัตรไม่เพียงแต่ไม่สามารถรูดบัตรเพื่อบริโภคได้โดยตรง แต่การถอนเงินจากตู้เอทีเอ็มก็ยังเป็นปัญหาอีกด้วย สิ่งนี้ไม่เพียงส่งผลกระทบต่อชีวิตของผู้อยู่อาศัยในประเทศเท่านั้น แต่ยังทำให้ชาวเยอรมันที่ไปพักผ่อนในต่างประเทศติดอยู่ในพื้นที่
เนื่องจากความแตกต่างในการเข้ารหัสที่แตกต่างกัน 2010 ถูกระบุอย่างไม่ถูกต้องว่าเป็น 2016 ในระบบธนาคารของเยอรมัน บัตรธนาคารยัง "หมดอายุ" สถานการณ์เดียวกันนี้เกิดขึ้นบนโทรศัพท์มือถือที่ใช้ระบบ Windows Mobile: ข้อความปีใหม่ที่คุณได้รับในวันแรกของปี 2010 จะแสดงเป็น 2016 โดยระบบ
เยอรมนีเร่งซ่อมแซมระบบธนาคารของตน แต่โชคดีที่ไม่ก่อให้เกิดความเสียหายเพิ่มเติม แต่ในอวกาศ สิ่งต่างๆ ไม่ได้เรียบง่ายนัก ในเดือนกันยายน พ.ศ. 2556 ยานอวกาศ Deep Impact ขาดการติดต่อ ทำให้ NASA ประกาศยุติภารกิจสำรวจที่เกี่ยวข้องอย่างเป็นทางการ Mike A'Hearn หัวหน้านักวิทยาศาสตร์ภารกิจของ Deep Impact เชื่อว่าเป็น "ปัญหา Millennium Bug" ซอฟต์แวร์ส่วนหนึ่งของยานอวกาศไม่สามารถระบุวันที่ได้อย่างถูกต้องหลังวันที่ 11 สิงหาคม 2013 ทำให้คอมพิวเตอร์รีสตาร์ทต่อไป ในท้ายที่สุด นักวิทยาศาสตร์ก็หลงทาง สัญญาณยานอวกาศ
การจำลองการเผชิญหน้าระหว่าง Deep Impact และ Comet Tempel 1丨NASA
เมื่อต้นปีนี้ "ข้อผิดพลาด 2022" ทำให้โปรแกรมเมอร์ของ Microsoft ได้สัมผัสกับการทำงานล่วงเวลาในปีใหม่ เมื่อวันที่ 1 มกราคม Exchange ระบบบริการอีเมลของ Microsoft ถูกขัดจังหวะอย่างกะทันหัน และผู้ใช้ที่ใช้บริการไม่สามารถส่งอีเมลได้ Microsoft ออกแถลงการณ์ว่าปัญหานี้เกี่ยวข้องกับการตรวจสอบวันที่ล้มเหลวและการเปลี่ยนแปลงในปีใหม่ พูดง่ายๆ เช่น ปัญหาปี 2038 เวลาที่ "ล้น" โชคดีที่ทีม Microsoft ทำงานล่วงเวลาและแก้ไขปัญหาได้ในวันเดียวกัน
ในอนาคตปัญหา "Millennium Bug-like" จะปรากฏขึ้นอย่างแน่นอน สำหรับปัญหาที่คาดการณ์ได้ ได้มีการพยายามหาทางแก้ไข ตัวอย่างเช่น ใช้รูปแบบใหม่ในการจัดเก็บข้อมูลเวลา ในขณะเดียวกัน เคอร์เนลใหม่ที่ทีมระบบได้จัดเตรียมไว้ก็กำลังจัดการกับ "ปัญหาในอดีต" บนแพลตฟอร์ม 32 บิตอีกด้วย คุณไม่ต้องกังวลมากเกินไป เพราะคุณควรเปลี่ยนโทรศัพท์มือถือหลายคลื่นแล้ว
อย่างไรก็ตาม เป็นเรื่องปกติที่จะพบข้อบกพร่องแบบกะทันหันที่คล้ายกันอีกครั้ง เพราะมีสิ่งที่เกิดขึ้นในโลกที่มีเหตุผลและคาดไม่ถึงอยู่เสมอ
อ้างอิง
[1] ปี 2038 ปัญหานับถอยหลัง https://gregnk.com/2038/
[2] คำถามที่พบบ่อยของโครงการ 2038 (FAQ) http://www.deepsky.com/~merovech/2038.html#What_operating_systems_and_platforms_are_affected_by_it
[3]ทำไม Siri ถึงบอกว่าโลกจะแตกในเดือนมกราคม 2038 https://www.quora.com/Why-does-Siri-say-the-world-will-end-on-January-2038
[4]เวลา Unix https://en.wikipedia.org/wiki/Unix_time
[5]Unix Time Stamp - ตัวแปลง Epoch https://www.unixtimestamp.com/
[6]ยูนิกซ์เหมือน https://www.computerhope.com/jargon/u/unix-like.htm
[7] ฉบับปี 2038 https://en.wikipedia.org/wiki/2038%E5%B9%B4%E9%97%AE%E9%A2%98
[8] ความก้าวหน้าของจีนในการแก้ไขปัญหาคอมพิวเตอร์ในปี 2543 http://www.scio.gov.cn/xwfbh/xwbfbh/wqfbh/1999/1201/Document/328000/328000.htm
[9] ว่ากันว่า "Millennium Bug" http://www.people.com.cn/item/hs2000/july.html
[10] คลินตันเรียกร้องให้ชาวอเมริกันดำเนินการเกี่ยวกับปัญหา Y2K https://edition.cnn.com/ALLPOLITICS/1998/07/14/clinton.y2k/
[11] ข้อผิดพลาดประเภท Y2K กระทบเงินสดเยอรมันบัตรเครดิต https://www.eetimes.com/y2k-type-bug-hits-german-cash-credit-cards/
[12]พกเงินสดและบัตรไปด้วย" สมาคมธนาคารเยอรมันกล่าว https://www.computerworld.com/article/2759697/carry-cash-as-well-as-a-card--says-german-bank -association.html
[13] Windows Mobile Bug Dates ข้อความจากปี 2016 https://www.wired.com/2010/01/windows-mobile-bug-dates-messages-from-2016/
[14]นาซ่าประกาศยุติภารกิจ Deep Impact Comet https://www.nationalgeographic.com/science/article/130920-deep-impact-ends-comet-mission-nasa-jpl#:~:text=NASA%20officials %20ประกาศ%20the%20ลึกกรกฎาคม%204%20of%20ที่%20ปี
[15]ปัญหาการแลกเปลี่ยนปี 2022: FIP-FS Scan Engine ล้มเหลวในการโหลด – ไม่สามารถแปลง “220010001” เป็น long (2022/01/01 00:00 UTC) https://borncity.com/win/2022/01 /01/exchange-fip-fs-scan-engine-failed-to-load-cant-convert-2201010001-to-long-1-1-2022/
[16] อีเมลติดอยู่ในคิวการขนส่งในสถานที่ของ Exchange https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-exchange-on-premises-transport-queues/ba-p /3049447