18 年后,我們還將再次遭遇「千年蟲」

硬件

02-11 10:37

90 后或許從來沒聽說過「千年蟲」,但 80 后們對這個詞或許有所了解。所謂「千年蟲」,是指人類在 2000 年 1 月 1 日將遭遇由于時間錯誤而大面積計算機故障的 BUG 。在 32 位的 Unix 系統上,這個 BUG 還會再出現一次,具體時間將在 2038 年。

這是因為早期計算機都是以 6 位數來存儲時間信息,即年、月、日各兩位。到了二十世紀末,人們發現這種日期方法將導致計算機錯誤的將 2000 年識別為 1900 年,導致大面積計算機故障。

這個問題在當時得到了足夠的重視,但在一些以 Unix 為系統的服務器、包括以 Unix 為底層的系統上,還有一些小小的缺陷。

1970 年初,第一批互聯網設備開始出現,人們急需一種統一時間,同步互聯網的中的每一個設備。當時電氣和電子工程師協會(IEEE)成立了一個委員會,從 1970 年 1 月 1 日(UTC/GMT 的午夜)開始,用秒數計量時間,如果在 Mac 中打開終端,輸入 date +%s ,就可查看到一串時間,這就是 1970 年 1 月 1 日 0:00 到當前時間的秒數。

▲ 紅框內為時間戳

在 32 位系統中,這是數字最大為 2147483483647 ,對應的時間為 2038 年 1 月 19 日凌晨 3 點 14 分。一旦超過了這個時間,在 32 位的 Unix 系統中,時間就會回到 1970 年。

幸運的是,這個問題只在 32 位系統中才會出現,如果換成 64 位系統,最大時間將延長到 9,223,372,036,854,775,807 ,相當于 2923 億年,對人類來說幾乎相當于無限時間了。

雖然目前主流的電腦和智能手機都已經邁向了 64 位操作系統,但在此之外還有其他設備底層采用了 Unix 系統,例如某些洗衣機、智能臺燈、智能空調、或者一些電視。這些設備同樣會遇到這些 BUG 。

好在這些家具很可能沒有那么長的壽命,在遭遇 Y2K38 這一 BUG 之前,它們可能就已經壽終正寢了。

登錄,參與討論前請先登錄

評論在審核通過后將對所有人可見

正在加載中
同城游美女捕鱼技巧 股票怎么玩 股票涨跌由什么决定视频 吉林快3投注 广西十一选五开奖走势图 新快3怎样玩最易中奖 福建体彩36选7走势图浙江风采网 上海股票配资l配资658 辽宁35选7开奖结果查询57期 重庆快乐十分区间走势 福建体彩11选5开 安徽体彩十一选五一牛 福建十一选五开奖信息 重庆快乐十分玩法介绍 基金配资业务 北京十一选五遗漏top 黑龙江省36选7最新开奖结果