《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > 18年后,我們還將再次遭遇「千年蟲」

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

2020-02-12
來源:新浪科技
關(guān)鍵詞: 18年 再次 千年蟲

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

1.jpg

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

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

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

2.png

  ▲ 紅框內(nèi)為時間戳

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

3.png

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

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

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


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。