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的未來“糾偏護航”。