japanese少妇高潮潮喷 -精品国产AV一区二区三区-麻豆av一区二区三区久久-国产精品无码专区

20年前偷懶修復的千年蟲bug歸來 程序員:該來的總會來

發布時間:2025-04-10 點擊:27
新的十年開始了。二十年前,在千禧之年鐘聲敲響的時候,諸多 y2k 應急隊的程序員坐在電腦前惴惴不安,他們此前剛剛用最簡單易行的 “懶人方法” 修補了一個被稱為“千年蟲”(millennium bug,又稱 y2000 problem,簡稱“y2k”)的大 bug。二十年后,這群程序員老了,但是新一代的青年程序員又要為老一輩的懶惰而付出代價。
據《紐約時報》報道,紐約的停車收費表從 2020 年 1 月 1 日開始不支持信用卡付款,整個城市的一萬多個計費表已手動更新,僅通過現金或 parknyc 接受付款;波蘭公司 novitus 生產的收銀機由于記錄時間故障而無法打印收據;視頻游戲 wwe 2k20 于 2020 年 1 月 1 日午夜停止工作;華為手表和部分設備丟掉了新年伊始兩三天的 truesleep 睡眠數據,需要更新并重啟……
紐約市交通局表示,停車計時器的信用卡支付軟件設定在 1 月 1 日失效,導致了一起大規模故障(來源:the new york times)
程序員 jef poskanzer 在推特上發文:似乎有相當數量的系統出現 #2020 錯誤。當年解決 y2k 問題的方案把這個問題推遲了 20 年……20 年后的今天,當時的一些系統仍然還在使用,系統以為我們在 1920 年。”
jef poskanzer 的推文(來源:twitter 截圖)
千禧年前后出生的青少年們或許很少有人知道“千年蟲”。
大約在 20 世紀 80 年代中期以前投用的系統上,囿于存儲
1999 年 1 月 18 日,time 的封面(來源:time)
為了避免 “災難” 發生,政府和企業動用大量資源查找和修復這個 bug。有報道顯示,當時克林頓政府和業內人士估計,用 “windowing” 的方式修補 80% 的計算機,預計耗資數千億美元。bbc 報道認為全球花在防備千年蟲上的費用在 3000 億到 5000 億美元之間。真實耗資目前無法考證。也有言論說千年蟲是個商業大騙局。
當時修復 bug 的方式有兩種:完全重寫代碼,或者采用 “windowing” 的方式快速修復。“windowing”就是把 00 到 20 之間的所有日期都當做 20xx 年而不是 19xx 年。很顯然,相比于把所有兩位數表示的年份都修改成四位數,后一種方式更省錢、更快而且更容易。
從 1970/01/01 開始,很多編程語言和系統都把日期時間以秒來處理,也叫 unix time。因此,鑒于中點 1970 的重要性,編碼人員選擇 1920 到 2020 作為標準窗口。
unix time 被廣泛用于各種行業操作系統,并被視為是一種標準。unix 和?windows?系統有環境變量來為系統設置 “轉折年”。“轉折年” 以后的任何一年屬于本世紀,“轉折年”以及 “轉折年” 之前的任意一年屬于上個世紀。但是一些產品,如 microsoft excel 95 使用的是 1920-2020 年的 windowing,在解決千年蟲問題之后,僅僅過 20 年就有可能再次出現日期錯誤。
2020 年 “y2k” 又回來了(來源:popular mechanics)
當時的專家認為,等到程序員投入大量的資金和時間去永久修復好這些 bug 之后,系統早就被更換了。所以,盡管 “windowing” 修復的程序智能使用二三十年,專家也覺得足夠了。
倫敦經濟學院 (london school of economics) 的迪倫 · 穆爾文 (dylan mulvin) 表示:“windowing 是所有解決方案中最糟糕的一種,即便是在千年蟲問題期間。”
2020 年的到來,意味著我們已經進入到了 1920-2020 窗口期的末端。2019 年 11 月,由于被發現容易受到 y2020“攻擊”,大數據公司 splunk 向用戶推出了修復服務,它的用戶涵蓋了美國《財富》一百強公司中的 92 家。由于各家公司尚未披露相關細節,目前還不清楚 “y2020” 將持續多久。
另外,在 2038 年我們將面臨另一個數據存儲問題。32 位的 unix 和 linux,能存儲的大數字為 2 的 31 次方,即 2147483647。從 1997 年開始計算,2147483647 用來表示的秒數最多只能用到 2038 年 01 月 19 日 03 時 14 分 07 秒,在這個時間之后,系統會回到 - 2147483648,代表的時期是 1901 年 12 月 13 日 20 時 45 分 52 秒。
不同于千年蟲,2038 會影響的不僅僅是應用層,而是會影響到最底層的時間控制功能。不過幸運的是,如果能在 2038 年之前把所有 32 位系統淘汰并采用 64 位的話,我們將會巧妙地躲開 2038 問題。


網站被劫持如何處理?
網站被黑,掛外鏈被降權后該如何解決
企業網站如何做關鍵詞優化
如何更好的包裝自己的網站
智能家居離不開云計算
網站優化過程中對哪些問題要有所防范
企業官網seo優化全過程一般有什么環節
上海快速排名怎樣的網站才受蜘蛛喜愛