APP下载

18年后,我们还将再次遭遇“千年虫”

2020-05-07

电脑知识与技术·经验技巧 2020年3期
关键词:底层遭遇故障

所谓“千年虫”,是指人类在2000年1月1日将遭遇由于时间错误而大面积计算机故障的Bug 。在32位的Unix系统上,这个Bug还会再出现一次,具体时间将在2038年。

这是因为早期计算机都是以 6 位数来存储时间信息,即年、月、日各占两位。到了二十世纪末,人们发现这种日期方法将导致计算机错误地将2000年识别为1900年,导致大规模计算机故障。

这个问题在当时得到了足够的重视,但在一些以Unix 为系统的服务器、包括以Unix 为底层的系统上,还有一些小小的缺陷。

1970 年初,第一批互联网设备开始出现,人们急需一种统一时间,同步互联网中的每一个设备。当时电气和电子工程师协会(IEEE)成立了一个委员会,从 1970 年1月1日(UTC/GMT 的午夜)开始,用秒数计量时间,如果在Mac中打开终端,输入“date +%s ”,就可查看到一串时间,这就是1970 年1月1日 0:00 到当前时间的秒数。在32 位系统中,这是数字最大为 2,147,483,483,647 ,对应的时间为 2038年1月19日凌晨 3 点 14 分。一旦超过了这个时间,在32 位的 Unix 系统中,时间就会回到1970 年。

幸运的是,这个问题只在32 位系统中才会出现,如果换成64 位系统,最大时间将延长到9,223,372,036,854,775,807 ,相当于2923 亿年,对人类来说几乎相当于无限时间了。

虽然目前主流的电脑和智能手机都已经迈向了64 位操作系统,但在此之外还有其他设备底层采用了 Unix 系统,例如某些洗衣机、智能台灯、智能空调等,这些设备同样会遇到这“千年虫”问题 。

好在這些智能家具很可能没有那么长的寿命,在遭遇“千年虫”问题之前,它们可能就已经寿终正寝了。

猜你喜欢

底层遭遇故障
GE LOGIQ P5 彩超故障维修2例
数控机床故障检测与维修
大数据的中低压配网故障智能诊断
农民建筑工
预防遭遇拐骗
汽车出了故障
写给厌学的你:不读书,换来的是一生的底层!家长也读读!
“底层文学”向何处去?
略论“底层”
遭遇野人