2000 年到来前,“千年虫”bug 曾经引发了很大的恐慌,甚至不少影视剧中都有夸大的描写。不过在紧急磋商和“打补丁”之后,软硬件“无法正确处理 2000 年问题”的千年虫危机算是平稳度过了。但……事实真的如此吗?对于 Unix 类操作系统来说,它们其实还面临着同样的问题,那就是——2038 年危机!(又称“Unix 千年虫”)
该操作系统底层的日期数值,存储在一个 32 位的整数签名中,而起始点则是 1970 年 1 月 1 日。(还记得 iOS 里往前调时间让 iPhone 变砖的 bug 吗?)
问题在于,32 位整数将于 2038 年 1 月 19 号的 03 时 14 秒遭遇“溢出”,从而让系统错误地将时光“回滚”到了 1901 年的 12 月 13 日。
或许有人觉得“问题怎么着也会在 22 年后才会发生”,但它对软件的影响其实迫在眉睫(尤其是规划未来事务的软件类型)。
随着时间的推移,我们将日期提前安排到 2038 年之后的情况会越来越多,而系统日期错乱所带来的影响亦将越发不可收拾——有鉴于此,该问题应该尽早全面解决。
不出所料的是,“Linux 之父”Linus Torvalds 一直对 Linux 内核代码变动保持着密切的关注,比如 Arnd Bergmann 所忧虑的虚拟文件系统内核切换接口(包含了百余由 Deepa Dinamani 打上的小补丁)。
一向爽直的 Torvalds 曾猛喷过自己是“越看越不爽”。有趣的是,同样于数月前提交的一些变动,却还没有被审查。XFS 专家 Paul Chinner 自称是系统文件开发者,他在看过代码后说到:
在我试图让你重建补丁却被猛喷之后(正如 Linus 当前认为的那样),我撒手并没再看你们的补丁了。难怪没有其它文件系统维护者愿意把时间浪费在这件破事上面…
故事背景是大家希望给 Linux 内核带来预期中的高质量补丁,然而高层却无惧于开发者潦草了事(已有 2 次未通过审查),看来近期这些补丁代码是不会被提交到 AI Viro 的 VFS 分支作深入审查了。
总的来说,Torvalds 仍准备将未来 25 年投入到帮助 Linux 征战桌面的事业上,所以即使在“2038 bug”爆发后,他仍有 3 天的时间去为 Linux 的未来“纠偏护航”。
编译自:Neowin , 来源:Phoronix