西元2000年的時候,當時艾利還是小學生,看到電視都在談論「千禧蟲危機」,還以為是什麼外來種害蟲,後來長大才知道,原來是差點引發亂象的電腦風暴!
▲千禧年間,法國一所學校內的跑馬燈錯誤顯示「1900年1月3日」,而不是2000年(圖/翻攝自維基百科)
年序錯亂造成大災難
2000年問題(Year 2000 Problem),簡稱Y2K。由於2000年是千禧年,又稱為千禧蟲危機,簡單來說就是一種「資訊年序的Bug」。
當時,因為電腦程式使用兩個數字來表示年份,如1992年被表示為「92」、1999年被表示為「99」;而2000年則被表示為「00」,這樣將會導致某些程式在計算時得到不正確的結果,例如把「00」誤解為1900年或1800年都有可能!
諸如此類的計算錯誤,會讓資料連環出錯,甚至當機。而在現代社會,許多重要設施只要稍微當機,便會讓裝置停止運轉,比方核電廠、能源產業,還有政府部門的電腦、以及對數字極盡敏感的銀行業,都會牽一髮而動全身,形成連鎖反應。
比方像是銀行存款、放款的利息出問題、公司薪資計算錯誤、醫療資訊出差錯、武器數據錯誤……只要在2000年的零點一到,便會發生大災難!
而解決方法是什麼呢?
治標不治本 2038年電子危機恐又重臨
其實,專家們早在1970年就想出解法啦!電機電子工程師學會(IEEE),是世界上最大的專業技術組織之一,每年都會發表多種雜誌、學報、書籍,也會舉辦至少300次的專業會議。
當時,全球的專家們開會決定結論,將Unix作業系統的時間計算方式改成「一秒」,並以有正負號的32位元二進制整數儲存,最多可以計算2,147,483,647秒。
乍看完美的方案,只有一個缺點:若從1970年開始算起,直到68年後的2038年,數字又要爆了!
當時的人們超樂觀的,他們想說人類都能登上月球了,2038年的電腦怎麼可能還在用Unix系統呢?殊不知現在的MacOS,還是用Unix當基礎,而且短期內還會繼續用下去呢。因此2038年,危機恐會再度重臨。
但你可能會問,現在很多電腦都改成64位元的作業系統,那就無關了吧?那你可就錯了!一般的微電腦設備,比方汽車、電視、喇叭、冰箱甚至提款機都還是使用32位元的處理方式,況且不少64位元的電腦以及很多伺服器,還是用32位元來計秒。
若我們將社會上的所有電腦設備與代碼都更新成64位元,或許就能避開2038年的「Y2K38危機」;但就目前看來,似乎還需要專家們再次集思廣益、想想辦法才行呢。