2038年1月19日,星期二,凌晨3:14,我们许多现代微处理器和计算机将停止工作。都是因为它们如何存储当前日期和时间。个别计算机已经有足够的问题来跟踪打开电源后经过了几秒钟。当他们还需要保持最新的日期时,情况会变得更糟。计算机计时具有使日历与地球同步的所有古老问题,以及二进制编码的现代局限性。

当现代互联网的第一批先驱在1970年代初开始上线时,就需要一种一致的计时标准。电气和电子工程师协会(IEEE)成立了一个解决该问题的人员委员会,并且在1971年,他们建议从1971年初开始,所有计算机系统都可以占用六十分之一秒的时间。驱动计算机的电力已经大量

涌入。频率为60赫兹(每秒振动),因此简化了在系统内使用该频率的过程。非常聪明。除了60赫兹的系统会在两年零三个月的时间里超过32位二进制数的空间。不太聪明。

因此对系统进行了重新校准,以计算自1970年初以来的总秒数。此数字存储为带符号的32位二进制数,该数字最多允许2147483483647秒:

从1970年开始共计有68年的历史。这一代是由这一代人实施的,他们在直到1970年的68年间见证了人类从赖特兄弟(Wright brothers)发明了

第一架动力飞机到跳舞的人月亮。他们确信,到2038年,计算机将发生不可思议的变化,并且不再使用Unix时间。

但是我们到了。到一半以上,我们仍在同一系统上。字面上的时钟在滴答作响。计算机确实已经发生了不可识别的变化,但是它们下面的Unix时间仍然存在。如果您运行的是任何版本的Linux设备或Mac,它都位于操作系统的下半部分,

就在GUI下方。如果您拥有一台Mac,请打开应用程序终端,它是您计算机实际工作方式的网关。

输入日期+%s,然后按Enter。自1970年1月1日起已经过去了几秒钟。如果您在2033年5月18日(星期三)之前阅读此内容,那么它仍将达到20亿秒。多么聚会。不幸的是,在我所在的时区,大约是凌晨4:30,我记得2009年2月13日是一个热闹的夜晚,与一些朋友一起庆祝1,234,567,890秒过去了,正好在晚上11:31 pm之后。一个给我们确切倒计时的程序;酒吧里的其他所有人都对我们为什么提前半小时庆祝情人节感到困惑。

除了庆祝活动,我们现在距离毁灭计数还剩一半。在2,147,483,647秒之后,一切停止。Microsoft Windows有自己的计时系统,但是MacOS直接建立在Unix上。更重要的是,从Internet服务器到洗衣机的所有重要计算机处理器都将运行Unix的某些后代。它们都容易受到Y2K38错误的攻击。

我不怪那些最初设置Unix时间的人。他们正在使用当时可用的东西。1970年代的工程师认为,到未来,其他人将解决

他们引起的问题(经典的婴儿潮一代)。公平地说,六十八年是很长的时间。这本书的第一版于2019年出版,我偶尔会考虑如何使它过时。也许我会写“在撰写本文时”,或者仔细地构造语言,以允许将来发生变化和进步,以便不会完全过时。在2033年突破20亿秒之后,您可能正在阅读此书。我已经同意了。但是我绝对不会想到人们会在2087年阅读它。那已经有68年了!

已经针对解决方案采取了一些步骤。默认情况下,所有使用32位二进制数的处理器都称为32位系统。购买新笔记本电脑时,您可能不会暂停检查

默认的二进制编码是什么,但是Mac已经有64位了近十年了,最常用的计算机服务器也已经达到了64位。令人烦恼的是,某些64位系统仍将时间作为带符号的32位数字进行跟踪,因此它们可以与较早的计算机朋友很好地玩耍,但是在大多数情况下,如果您购买64位系统,它将能够保持跟踪时间长了一段时间。您可以存储在带符号的64位数字中的最大值是9,223,372,036,854,775,807,该秒数等于2,923亿年。像这样的时候,宇宙的年龄就成为有用的度量单位:64位Unix时间将持续到现在,直到宇宙当前年龄的21倍,直到(假设我们不管理宇宙中的另一个升级)。同时)公元292,277,026,596年12月4日,当所有电脑都掉下来时。在星期天。

一旦我们生活在一个完全64位的世界中,我们就安全了。问题是:在2038年之前,我们是否会升级生活中的所有微处理器?我们需要新的处理器或补丁,以迫使旧

的处理器使用非常大的数字来存储时间。

下面列出了我最近必须更新软件的所有内容:灯泡,电视,家用恒温器以及插入电视的媒体播放器。我可以肯定它们都是32位系统。他们会及时更新吗?大概知道我对最新固件的痴迷。但是将会有很多系统无法升级。我的洗衣机里也有处理器,

洗碗机和汽车,我不知道如何更新它们。可以很容易地将它记为不是的千年虫“千年虫”的第二次出现。例如,高级软件将年份存储为两位数,这将在99年后用完。经过大量的努力,几乎所有内容都进行了更新。但是,避免灾难并不意味着它从来就不是威胁。沾沾自喜是有风险的,因为千年虫处理得很好。Y2K38将需要更新更多的基本计算机代码,在某些情况下还需要更新计算机本身。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。