千年虫是什么?为什么它会吓坏世界?

数十亿美元用于解决千年虫问题。政府、军队和企业系统都处于危险之中,但我们还是安然无恙地度过了难关。那么,威胁是真的吗?...

数十亿美元用于解决千年虫问题。**、军队和企业系统都处于危险之中,但我们还是安然无恙地度过了难关。那么,威胁是真的吗?

我们是怎么安置自己的定时**的

在20世纪50年代和60年代,用两位数代表年份成为了一种常态。其中一个原因是为了节省空间。最早的计算机存储容量很小,只有现代机器内存的一小部分。程序必须尽可能紧凑和高效。程序是从穿孔卡片上读取的,穿孔卡片有明显的有限宽度(通常是80列)。你不能在打孔卡片上打字超过行尾。

无论哪里可以节省空间,它都是。因此,一个简单而常见的技巧是将年份值存储为两位数。例如,有人会打出66而不是1966。因为软件将所有日期都视为发生在20世纪,所以人们理解66意味着1966年。

最终,硬件功能得到了改进。有更快的处理器,更多的RAM,计算机终端取代了穿孔卡片和磁带。磁带和硬盘等磁性介质被用来存储数据和程序。然而,此时已有大量的现有数据。

计算机技术在进步,但使用这些系统的部门的职能保持不变。即使更新或更换了软件,数据格式也保持不变。软件继续使用,预计将持续两位数的年份。随着越来越多的数据积累,问题变得更加复杂。在某些情况下,数据量是巨大的。

将数据格式变成一头神圣的奶牛是另一个原因。所有的新软件都必须迎合这些数据,而这些数据从未被转换成四位数的年份。

存储和内存限制也出现在现代系统中。例如,嵌入式系统,例如路由器和防火墙中的固件,显然受到空间限制的限制。

可编程逻辑控制器(PLC)、自动化机械、机器人生产线和工业控制系统都被编程为使用尽可能紧凑的数据表示。

将四位数缩减为两位数是一个相当节省空间的方法—这是一种将存储需求减半的快速方法。另外,你要处理的日期越多,好处就越大。

最终得到了答案

如果年值仅使用两位数,则无法区分不同世纪的日期。这个软件是用来处理所有日期的,就像它们在20世纪一样。当你进入下一个世纪时,这会产生错误的结果。2000年将存储为00。因此,该计划将其解释为1900年,2015年将被视为1915年,以此类推。

在1999年12月31日午夜的钟声敲响时,每台电脑和每台装有微处理器和嵌入式软件的设备都会面临这个问题,这些微处理器和嵌入式软件将数据存储和处理为两位数。也许软件会接受错误的日期并继续,产生垃圾输出。或者,它可能会抛出一个错误并继续,或者,完全窒息和崩溃。

这不仅仅适用于大型机、小型计算机、网络和台式机。微处理器在飞机、工厂、发电站、导弹控制系统和通信卫星上运行。几乎所有自动化的、电子的或可配置的东西都有一些代码在里面。这个问题的规模是巨大的。

如果所有这些系统从1999年的一秒钟切换到下一秒的1900年,会发生什么?

一般来说,一些季度预测末日和社会的衰落。在当前的流感大流行中,许多人会产生共鸣,一些人开始囤积必需品。其他人称整个事件为骗局,但不可否认,这是一个大新闻。它被称为“千年虫”、“2000年虫”和“千年虫”。

还有其他次要的问题。2000年是闰年,许多电脑甚至连闰年系统都没有考虑到这一点。如果一年可以被4整除,那就是闰年;如果一年可以被100整除,那就不是闰年。

根据另一个(不太广为人知的)规则,如果一年可以被400整除,那就是闰年。许多已经编写的软件没有应用后一条规则。因此,它不会承认2000年是闰年。因此,它在2000年2月29日的表现难以预料。

在比尔·克林顿总统1999年的国情咨文中,他说:

“We need every state and local government, every business, large and **all, to work with us to make sure that [the] Y2K computer bug will be remembered as the last headache of the 20th century, not the first crisis of the 21st century.”

去年10月,克林顿签署了《2000年信息和准备披露法》。

这需要一些时间

早在1999年之前,世界各国**和公司就一直在努力寻找解决办法,并实施千年虫问题的变通办法。

一开始,最简单的解决方法似乎是扩展日期或年份字段以容纳两个以上的数字,将每年的值加上1900,然后ta da!那时你有四位数的年数。您的旧数据将被正确地保留,新数据将很好地**。

遗憾的是,在许多情况下,由于成本、感知到的数据风险和任务的巨大规模,该解决方案不可能实现。在可能的情况下,这是最好的办法。你的系统在9999年之前是安全的。

当然,这只是修正了数据。软件还必须转换成处理、计算、存储和显示四位数的年份。出现了一些创造性的解决方案,消除了多年来增加存储的需要。月份值不能大于12,但两位数最多可容纳99。因此,可以使用月份值作为标志。

您可以采用以下方案:

  • 对于1到12之间的月份,将年份值加上1900。
  • 对于41到52之间的月份,将年份值加2000,然后从月份中减去40。
  • 对于21到32之间的一个月,将“年”值加上1800,然后从该月减去20。

当然,你必须修改程序来对稍微模糊的日期进行编码和解码。数据验证例程中的逻辑也必须调整,以接受疯狂的值(比如44个月)。其他方案采用了这种方法的变体。将日期编码为14位二进制数字,并将整数表示形式存储在日期字段中,在位级别上也是类似的方法。

另一个系统,重新利用六位数字来存储日期,完全不用月份。它们没有存储MMDDYY,而是换成DDDCYY格式:

  • DDD:一年中的一天(1到365,或366闰年)。
  • C:代表世纪的旗帜。
  • YY:今年。

解决办法也很多。一种方法是选择一年作为轴心年。如果所有现有数据都比1921年新,那么可以使用1920年作为轴心年。00到20之间的任何日期都意味着2000到2020年。从21岁到99岁意味着1921年到1999年。

当然,这些都是短期的解决办法。它花了你几十年的时间来实现一个真正的修复或者迁移到一个更新的系统。

重新访问工作系统以更新仍在运行的旧修复程序?是的,对!不幸的是,社会并没有做那么多,只是看看所有仍然广泛使用的COBOL应用程序。

相关报道:什么是COBOL,为什么那么多机构依赖它?

y2k兼容?证明给我看!

修理内部系统是一回事。修复代码,然后将补丁分发给现场所有的客户设备,完全是另一回事。软件开发工具呢,比如软件库?他们破坏了你的产品吗?您的产品中的某些代码是否使用了开发合作伙伴或供应商?他们的代码是否安全且符合Y2K标准?如果客户有问题谁负责?

企业发现自己正处于一场文书风暴之中。各公司纷纷要求软件供应商和开发合作伙伴提供具有法律约束力的合规性声明。他们希望看到您的总体Y2K准备计划,以及您的系统特定的Y2K代码审查和补救报告。

他们还想要一份声明来验证你的代码是Y2K安全的,如果在2000年1月1日或之后发生了不好的事情,你将承担责任,他们将被免除责任。

1999,我在英国一家软件公司担任开发经理。我们生产与商务电话系统连接的产品。我们的产品提供了专业的自动呼叫处理日常依赖的呼叫中心。我们的客户是该领域的主要参与者,包括英国电信(BT)、北电(Nortel)和Avaya。他们把我们重新定货的产品转售给全球数不清的客户。

在这些巨头的支持下,我们的软件在97个不同的国家运行。由于时区不同,软件也要经过1999年除夕夜的午夜,超过30次!

毋庸讳言,这些市场领头羊感到有些暴露。他们想要确凿的证据证明我们的准则是合规的。他们还想知道我们的代码审查和测试套件的方法是合理的,并且测试结果是可重复的。我们经历了这场灾难,但却安然无恙。当然,处理这一切需要时间和金钱。尽管我们的代码是兼容的,但我们必须经受住证明它的经济打击。

尽管如此,我们还是比大多数人都轻装上阵。据Gartner估计,全球为应对Y2K所需的总成本在3000亿至6000亿美元之间,凯捷(Capgemini)为8250亿美元。仅美国就花费了1000多亿美元。据计算,数千人年的时间都用来解决千年虫问题。

千禧年的黎明

没有什么比把钱放在嘴边更好的了。1999年的除夕夜,2000年总统理事会主席约翰·科斯基宁登上了一架午夜仍在空中飞行的飞机。Koskinen想向公众展示他对花费巨大、历时多年的补救措施的信心,这些措施是为了让美国的千年计划做好准备。他安全着陆了。

非技术人员很容易回过头来,认为千年虫被夸大了,被过度炒作了,只是人们赚钱的一种方式。什么都没发生,对吧?那么,有什么大惊小怪的?

想象一下山上有个水坝,挡住了一个湖。下面是一个村庄。一个牧羊人向村里宣布他看到了大坝上的裂缝,而且不会持续超过一年。拟定了计划,开始稳定大坝。最后,施工工作结束,预计的故障日期顺利过去。

有些村民可能会开始嘀咕,他们知道没什么好担心的,看,什么都没发生。就好像他们在确定、应对和消除威胁的时间上有一个盲点。

在《计算机世界》杂志1993年的一篇文章中,彼得·德贾格尔被认为是将这一问题纳入公众意识的人。他继续竞选,直到受到重视。

随着新千年的到来,德贾格尔也在从芝加哥飞往伦敦的途中。而且,和科斯基宁一样,德贾格尔的航班安全抵达,没有发生意外。

发生了什么事?

尽管千方百计地防止千年虫影响计算机系统,还是有一些案件漏网之鱼。如果没有网络,世界会发现自己的处境是不可想象的。

飞机没有从天而降,核导弹也没有自行发射,尽管有末日论者的预言。尽管美国一个跟踪站的工作人员在观察到俄罗斯发射的三枚导弹时确实受到了轻微的摩擦。

然而,这是在俄罗斯车臣争端不断升级之际,人为下令发射三枚飞毛腿导弹。不过,这确实让人大吃一惊,心跳加速。

以下是发生的一些其他事件:

  • 日本的两座核电站出现故障,很快得到了解决。这些断层被描述为轻微的、无威胁的。
  • 丹麦新千年出生的第一个婴儿的年龄登记为100岁。
  • 澳大利亚的巴士车票打印日期错误,被车票扫描硬件拒绝。
  • 埃及的国家通讯社失败了,但很快就恢复了。
  • 美国的间谍卫星由于修正千年虫的错误补丁被关闭了三天。
  • 一名男子向纽约一家音像店归还了一份将军女儿的复制件,却收到了一张91250美元的账单,因为他晚了100年才把磁带带回来。
  • 进入21世纪的几个月里,英国某地区的一位卫生官员发现出生时患有唐氏综合症的儿童数量出现统计异常。在一月份,154位母亲的年龄被错误计算,导致测试结果出现偏差。这些妇女的年龄使她们成为高危人群,但没有被发现。如果风险被正确识别,母亲们将接受羊膜穿刺术检查。四个孩子出生时患有唐氏综合征,两个怀孕终止。

遗产:20年后

还记得我们提到的那些关键年份吗?正是这项工作让人们和公司花了几十年时间才真正解决了Y2K问题,有些系统仍然依赖于这一临时解决方案,而且还在使用中。我们已经看到一些在役故障。

今年年初,纽约的停车收费表停止接受信用卡付款。这是因为他们达到了他们的轴心年的上限。所有14000个停车收费表都必须单独访问和更新。

换句话说,大定时**催生了很多小定时**。

  • 发表于 2021-04-02 05:05
  • 阅读 ( 141 )
  • 分类:互联网

你可能感兴趣的文章

历史上最严重的10个编程错误

... 1千年虫 ...

  • 发布于 2021-03-15 13:15
  • 阅读 ( 217 )

什么是cobol?为什么需求量很大?

... 例如,在90年代,我们面临着千年虫问题。许多年份日期是用年份的最后两位数字而不是全年保存在计算机中的。因此,1997年被存储为97年。人们担心,当年份更改为2000年时,00年将无法被识别为有效...

  • 发布于 2021-03-30 02:44
  • 阅读 ( 351 )

十年的“文明ii”游戏导致了大规模饥荒,近两千年的战争

...年前在PC上发布的,其中10年,Reddit用户Lycerius已经在深度世界模拟器中站稳脚跟。当不玩其他游戏或享受数字领域之外的生活时,利塞留斯的凯尔特民族与无数敌对派系展开了战争,留下了被蔑视的荒地、普遍的饥饿和无法居住...

  • 发布于 2021-04-22 18:20
  • 阅读 ( 155 )

wikia地图让你注释千年隼

...所有出口的位置。
 也有许多来自电子游戏世界的地图,黑暗灵魂,老人卷轴,自由城,当然也有一些基于真实世界的位置。你可以钻研2014年世界杯每支球队所在地的地图,或者查看一些你最喜欢的菜谱来自何处...

  • 发布于 2021-04-26 22:45
  • 阅读 ( 112 )

2015年又多了一秒,这对互联网来说有点问题

... 什么导致闰秒?地震,潮汐阻力,天气
 闰秒就像千年虫一样,它们威胁着计算机测量的时间和原子钟测量的时间失去同步。但是,虽然Y2K只是一个例子(过去习惯于将年份缩写为两位数的计算机系统被“2000”和“1900”...

  • 发布于 2021-04-28 14:29
  • 阅读 ( 142 )

最好的播客在飞行中狂欢

...丹·塔贝斯基是一位出色的讲故事者,他通过讲述经历过千年虫的人们的故事来表达对千年虫的歇斯底里。恐怖的人质事件、狡猾的商人、新千年第一个婴儿的诞生,以及塔贝斯基自己发自内心的故事,都交织在一起,描绘出一...

  • 发布于 2021-05-13 18:53
  • 阅读 ( 181 )

害羞的(shy)和胆小的(timid)的区别

...和胆小之间有着明显的区别。 覆盖的关键领域 1.害羞是什么意思-定义,特征2.胆小是什么意思-定义,特征3.害羞和胆小的相似之处是什么-共同特征概述4.害羞和胆小的区别是什么-关键区别的比较 关键术语 心理,性格,害羞,...

  • 发布于 2021-07-01 02:16
  • 阅读 ( 478 )

什么是dmca投诉?(a dmca complaint?)

关键概述:DMCA投诉是针对使用属于他人的受版权保护内容的另一个人或实体提出的投诉。 DMCA代表数字千年版权法,于1998年10月28日生效。它是1976年版权法的修正案,以符合1996年12月世界知识产权组织外交会议通过的《世界知...

  • 发布于 2021-07-12 13:57
  • 阅读 ( 282 )

生肖(zodiac)和占星术(astrology)的区别

...道星座的全部内容。 十二生肖也被称为生命圈,这就是为什么十二生肖的标志带有动物和人类等生物的名称和描述。十二生肖如下: S不。 拉丁文名称 英语翻译 1. 白羊座 公羊 2. 金牛座 金牛座 3. 双子座 双胞胎 4. 巨蟹...

  • 发布于 2021-07-13 21:24
  • 阅读 ( 339 )

移动时使用“尸体”捆绑技术运送衣物

...转末端。你和另一边的一个朋友一起把它扭到一边,因为它会变得很重。这样做很快(你可以在60秒或更短的时间内把一捆衣服捆起来),效率高(不需要额外购买包装材料),而且你的衣服不会起皱。另外,你可以吓坏邻居。...

  • 发布于 2021-07-25 19:59
  • 阅读 ( 161 )
u0d42d8g9
u0d42d8g9

0 篇文章

相关推荐