千年蟲,一個1999年令大眾恐慌的名字,曾經是寶藥黨嚇人的招數。然而到了2000年,一切相安無事。但今天,科技界又重提這個名字,並指出下一次電腦「大限」是2038年。 上一次千年蟲結果沒事,這次葫蘆裏賣甚麼藥?這次的「蟲」比上次強多了,影響廣泛,而且有根有據。我們來看看「2038大限」是甚麼。
Gangnam Style點擊21億次down機
首先要有一個概念。電腦是用「1」和「0」的二進位計算,一個單位即是一位元(bit),從80年代的8-bit運算,到現在最新的64-bit運算,計算能力大大增加。「幾多bit」從運算來說即是「2的幾多次方」,第一部桌上型電腦是16-bit運算的,換句話說是2的16次方,即是65,536 bit,換算起來即是64Kb。這種電腦是5.25吋軟式磁碟機的年代了,現在只怕已成了古董。
現在最常用的運算方式是32-bit,大部分電腦及電子設備也是這種規格。32-bit即是有42億9,496萬7,295個位元,簡單一點即是4Gb的容量。不過電腦的計算方法很奇怪,不是從0算到42億9,496萬7,295,而是從-21億4,748萬3,648算到21億4,748萬3,648。我們日常計算,通常由0向正數算起,當計算從0去到21億4,748萬3,648之後,下一步會怎樣?就會從-21億4,748萬3,648開始計算到0。
一般電腦的計算日子,是由1970年1月1日0時0分0秒起計。從當時起計第21億4,748萬3,648秒,就是2038年1月19日上午3時14分07秒。下一秒怎辦?理論上,下一秒電腦會從-21億4,748萬3,648開始計算,但相信有很多電子設備,都會不能適應日期變負數而「罷工」。
但「罷工」實際會不會發生?其實早就試過一次了。所有會計算的32-bit系統,都會遇到這個大限,有時未必與日期有關,而是與次數有關。還記得韓國歌手PSY的Gangnam Style吧?這一曲在YouTube熱播,在播放21億4,748萬3,648之後,播放數字就變成亂碼,後來YouTube更新為64-bit運算,數字才變回正常。
如果電腦遇到這種情況,會怎樣?不少系統將會難以運作,長期運作的系統會突然停止,亦可能因為訊號出錯而讀不到資料,一些需要根據指定時間工作的設備亦會停頓。
交通基建系統高危 較易失控
事實是有可能,不過另一講法指可能性不大。2038年距今還有24年,微軟和蘋果早已推出64-bit電腦系統,而現時運行的Unix系統雖是32-bit,但24年內應該全部更換。餘下的32-bit電腦有可能運作24年而不被淘汰嗎?這種機會極微。
那麼,怕甚麼?一般商業及家用電腦不必太擔心,但長期運作的基建電腦系統則是高危。例如路面和鐵路交通指揮系統,萬一有一部分是用32-bit運算,到了「大限」就會突然失控變成亂碼,可以令交通燈號錯亂,釀成意外。而一些非對外連繫的電腦系統,例如國防、海關以及掌管秘密資料的機關,設備以穩定為先,平日未必需要更新,但到時也可能出混亂。如果控制導彈系統的電腦遇上「2038大限」,後果真的不敢想像。因此,未來基建、國防等系統要陸續更新,以避開「2038大限」。 |