距離 2038 年還有 21 年,聽起來還很遙遠,但對于壽命比較長的嵌入式系統(tǒng)來說,今天部署的系統(tǒng)到 2038 年可能還會繼續(xù)提供服務。2038 年問題是指類 Unix 系統(tǒng)采用的是 32 位時間計數(shù) time_t,計數(shù)從 1970 年開始,到 2038 年 1 月將會超過 2,147,483,647 秒。為了應對 2038 年問題,開源自由軟件社區(qū)正在三個方面展開了努力:
內(nèi)核方面是將 32 位時間戳轉(zhuǎn)變成 64 位值,即使系統(tǒng)是 32 位,但一些 32 位時間戳出現(xiàn)在用戶空間 API 中,增加了問題的復雜性;第二方面是 C 代碼庫,glibc 社區(qū)正在著手做這方面的工作,目標是實現(xiàn)完全的向后兼容,讓程序在舊的內(nèi)核上能使用 64 位時間戳,最小化干擾;第三個方面是發(fā)行版構(gòu)建,大多數(shù)發(fā)行版到 2038 年不太可能還需要考慮 32 位系統(tǒng),但 Debian 可能是例外。到 2038 年,絕大多數(shù)今天的設(shè)備可能早已失效,但基礎(chǔ)設(shè)施使用的嵌入式設(shè)備也許還在使用,部分系統(tǒng)屆時可能會發(fā)生故障,因此必須盡可能快的解決 2038 年問題。