yogviha.cn 1999 


再探「千年蟲」

益科

正當(dāng)「千禧之年」即將來臨之際,一團(tuán)令人掃興的烏云--「千年蟲」的烏云,卻在全球上空彌漫、漂浮。有關(guān)「千年蟲」的話題也變得「熱門」起來。從大眾媒體到專業(yè)媒體,「千年蟲」知名度陡增,風(fēng)頭出盡,看來,千年蟲真是「來者不善」。那么,它是如何危害人類,危害到底又有多大呢?

 

千年蟲的本性:到處把身藏,害你沒商量

 

先來看一下千年蟲危害的四種表現(xiàn)形式:

一是表示錯(cuò)誤。即把20xx年表示成19xx年。例如2000年,在不同的機(jī)器中,可能表示成1900年,1980年,或1990年。這種錯(cuò)誤如果不涉及重要的計(jì)算,危害性相對(duì)還不大。

二是計(jì)算錯(cuò)誤。這問題可就大了。假定您于1990年在銀行存入一筆款項(xiàng),到2000年去取款時(shí),存期應(yīng)為10年。但機(jī)器將2000年誤為1900年,計(jì)算您的存期為:1900-1990=-90(年),從邏輯概念上理解,存期為負(fù)數(shù)表示您還沒存錢就要取錢,銀行當(dāng)然不干,于是您的賬號(hào)可能被電腦程序判定為「非法」而凍結(jié)甚至取消,您的存款也就連本帶利被無端「吞沒」了,豈不冤哉枉也!如果電腦程序?qū)⒇?fù)號(hào)忽略(這種可能性很。豢唇^對(duì)值,則您的存期變成90年,您可就大發(fā),而銀行可就虧老了!這僅僅是一個(gè)局部的例子,不難設(shè)想,在全社會(huì)的范圍,計(jì)算錯(cuò)誤帶來的危害性會(huì)有多大。

三是溢出錯(cuò)誤。這種錯(cuò)誤主要可出現(xiàn)在各種自動(dòng)控制系統(tǒng)的植入式芯片中,其危害也非同小可。所謂「植入式芯片」實(shí)際上就是集成在一枚芯片中的計(jì)算機(jī),通常也有日期時(shí)間功能。進(jìn)入2000年時(shí),年份99加1變成00,并產(chǎn)生一個(gè)進(jìn)位。如果芯片中只有兩位存放年份數(shù)據(jù),這個(gè)進(jìn)位便「無處存身」,這種情況在計(jì)算機(jī)中稱為「溢出」,通常作為異常錯(cuò)誤處理,計(jì)算機(jī)因此中斷正常運(yùn)行,控制系統(tǒng)也就癱瘓了。其后果因控制系統(tǒng)的用途而異,可能會(huì)引起電梯停開,生產(chǎn)中斷,儀表失靈,導(dǎo)彈失控……

四是不兼容問題。這類問題可發(fā)生在新、老計(jì)算機(jī)同時(shí)使用的部門。近年來(特別是1995年以后)新推出的計(jì)算機(jī)系統(tǒng)通常已對(duì)千年蟲采取了某種防范措施,而較早期的系統(tǒng)中一般未采取措施,兩種系統(tǒng)同時(shí)工作,年份數(shù)據(jù)格式不一樣,難以協(xié)調(diào),計(jì)算機(jī)術(shù)語稱為「不兼容」。這類問題一旦發(fā)生,也可導(dǎo)致系統(tǒng)不能正常運(yùn)行,后果不容忽視。

再來看一下千年蟲的危害有哪些特點(diǎn):

一普遍性?梢院敛豢鋸埖卣f,千年蟲幾乎「無所不在」。首先它波及地域廣。由于近年來計(jì)算機(jī)的迅速普及和網(wǎng)絡(luò)系統(tǒng)的飛速發(fā)展,千年蟲問題對(duì)世界上幾乎所有的國(guó)家產(chǎn)生不同程度的直接或間接的影響;其次是受害面積大。千年蟲問題涉及的部門、行業(yè)很多,可以說只要是使用了計(jì)算機(jī)的地方,就或多或少地存在千年蟲問題。其中以銀行、軍事、商業(yè)、交通、通訊、工業(yè)等部門為甚。第三,涉及機(jī)種多。只要是計(jì)算機(jī),特別是早期的計(jì)算機(jī),無論是巨、大、中、小型機(jī),微型機(jī)(包括臺(tái)式機(jī),便攜機(jī),單板機(jī),單片機(jī)),服務(wù)器,工作站等等,只要采用兩位數(shù)年份,均無一幸免。

二嚴(yán)重性。首先是延緩經(jīng)濟(jì)增長(zhǎng)。據(jù)美國(guó)聯(lián)邦儲(chǔ)備機(jī)構(gòu)官員的估計(jì),為解決千年蟲問題,可能使美國(guó)經(jīng)濟(jì)年增長(zhǎng)率在本世紀(jì)最后兩年內(nèi)每年下降0.1個(gè)百分點(diǎn),勞動(dòng)生產(chǎn)率的增長(zhǎng)減少0.2個(gè)百分點(diǎn)。在瑞士召開的國(guó)際銀行2000年圓桌會(huì)議上,經(jīng)濟(jì)學(xué)家指出,計(jì)算機(jī)2000年問題爆發(fā)后,全球發(fā)生經(jīng)濟(jì)衰退的可能性已達(dá)60%,甚至有發(fā)生蕭條的可能性。另據(jù)有關(guān)報(bào)道,如果2000年經(jīng)濟(jì)衰退,估計(jì)美國(guó)國(guó)內(nèi)生產(chǎn)總值大約下降1萬億美元,股票市場(chǎng)的資本額也將損失1萬億美元。同理,其他國(guó)家的經(jīng)濟(jì)增長(zhǎng)速度或多或少也會(huì)降低。其次是危及世界各國(guó)的安全。世界各先進(jìn)國(guó)家的戰(zhàn)略核武器、導(dǎo)彈系統(tǒng),無一例外均采用計(jì)算機(jī)控制。目前,美國(guó)等西方國(guó)家最為擔(dān)心的是,萬一俄羅斯軍方由電腦控制的戰(zhàn)略預(yù)警系統(tǒng)因千年蟲的影響而發(fā)生誤報(bào),或發(fā)射系統(tǒng)出現(xiàn)故障導(dǎo)致核導(dǎo)彈的意外發(fā)射,后果不堪設(shè)想。反過來也一樣,西方的核武器一旦因千年蟲問題失控,未嘗不會(huì)對(duì)他國(guó)或本國(guó)的安全構(gòu)成威脅。此外,自古以來「兵不厭詐」,也不能排除在某種特定情況下,某些人以千年蟲導(dǎo)致的失控為借口對(duì)他國(guó)發(fā)動(dòng)「先發(fā)制人」的突然襲擊的可能性。第三是妨礙社會(huì)穩(wěn)定。如果計(jì)算機(jī)因千年蟲發(fā)作而不能正常工作,除了給使用計(jì)算機(jī)的單位和部門造成直接的損失之外,還可能引發(fā)各種民事糾紛或爭(zhēng)端,擾亂正常秩序,破壞社會(huì)穩(wěn)定。

三緊迫性。不言而喻,如不事先有所防范,2000年的新年鐘聲一響,千年蟲的發(fā)作便「勢(shì)在必行」,無人可以阻止,也沒有任何商量、妥協(xié)的余地。

四復(fù)雜性。千年蟲問題看似簡(jiǎn)單,不就是年份的位數(shù)不夠嗎,把兩位改成四位就是了。從微觀上看,的確如此。然而從宏觀上看,對(duì)于一個(gè)龐大的計(jì)算機(jī)系統(tǒng)來說,光是要找出所有涉及年份的地方就夠花時(shí)間的了,程序的修改工作量也不小,而要驗(yàn)證修改的結(jié)果是否正確,甚至更加費(fèi)事。這就好比一大缸米中混進(jìn)了一把沙子,從米粒中挑出沙子的動(dòng)作三歲小孩都會(huì)做,然而要確保把所有的沙子都挑乾凈,就不是那么簡(jiǎn)單了。這還只是從技術(shù)的層面上來看,由于千年蟲問題還與社會(huì)、管理、法律、心理等諸多因素密切相關(guān),是一道十分復(fù)雜的「多元、高階聯(lián)立方程」,求解起來還真不那么容易呢。

還有一點(diǎn)要注意的是,到目前為止,人們談?wù)摰那晗x的種種危害絕大部份還未「既成事實(shí)」,到底它會(huì)給人類帶來多大的實(shí)際危害。要到2000年之后才能確切知道,因此又具有一定的「不可預(yù)見性」。

 

千年蟲的克星:殺蟲自有方,不必亂驚慌

千年蟲的危害性雖然很大,只要我們引起足夠的重視,要消滅它也是完全有辦法的,不必談「蟲」色變,驚慌失措。

由于千年蟲普遍地存在于計(jì)算機(jī)的硬件、系統(tǒng)軟件、應(yīng)用軟件之中,并且涉及管理方面的諸多因素,因此殺滅它也要從以上幾個(gè)層次同時(shí)下手,不能留下「死角」。同時(shí)要注意各個(gè)層次采用的日期轉(zhuǎn)換方法互相一致,以免造成混亂。這是解決千年蟲問題的一般原則。

至于具體的殺蟲方法有很多,在硬件方面可以改用無蟲害的新機(jī)器,或加插具有滅蟲功能的板卡,或用軟件的方法改寫駐留在關(guān)鍵部位的程序等。在軟件方面有「日期重譯法」、「日期操縱法」、「日期壓縮法」等。其基本思路無非都是對(duì)兩位數(shù)字的年份進(jìn)行某種識(shí)別和換算,最終得到正確的年份表示和年份有關(guān)的計(jì)算結(jié)果,也可以一律直接采用4位數(shù)年份。每種方法各有其優(yōu)缺點(diǎn),要根據(jù)具體情況靈活應(yīng)用。另外要注意的是所有互相關(guān)聯(lián)的系統(tǒng)對(duì)現(xiàn)行或存檔的日期資料,均以同一方式演繹和理解,以免引起混亂。

為了提高滅蟲工作的效率,電腦專家們又創(chuàng)造了很多軟件工具,來幫助人們解決問題,如劃定問題的范圍、找出日期調(diào)用的地方、擴(kuò)展日期域等。當(dāng)然,軟件工具也并非萬能,只對(duì)解決問題起一定的輔助作用,據(jù)有關(guān)專家估計(jì),軟件工具只能承擔(dān)20%-30%的工作量,降低5%的費(fèi)用,起關(guān)鍵作用的還是人。

 

千年蟲的啟示:代價(jià)何其高,檢討費(fèi)思量

 

據(jù)權(quán)威機(jī)構(gòu)估算,為解決千年蟲問題,全世界需耗費(fèi)約4000億-6000億美元。而人類歷史上兩次世界大戰(zhàn)的經(jīng)濟(jì)損失據(jù)統(tǒng)計(jì)總共是5000億美元?梢娗晗x讓人類付出的代價(jià)之高!

付出了如此高昂的「學(xué)費(fèi)」,我們應(yīng)當(dāng)從千年蟲現(xiàn)象中學(xué)到點(diǎn)什么?目前為止我們所使用的計(jì)算機(jī),無論其型號(hào)種類千差萬別,都有一個(gè)共同的弱點(diǎn),那就是只能在事先限定的「長(zhǎng)度」范圍內(nèi)進(jìn)行數(shù)據(jù)的計(jì)算和處理。每種類型的數(shù)據(jù),數(shù)字也好,字符也好,日期也好,都有一個(gè)最大長(zhǎng)度的限制,一旦超出這個(gè)限制,機(jī)器就無能為力了。而在實(shí)際生活中,人們所接觸和處理的數(shù)據(jù),其長(zhǎng)度往往是難以預(yù)先限定的,這就構(gòu)成了一對(duì)尖銳的矛盾。千年蟲其實(shí)就是這個(gè)矛盾的必然產(chǎn)物。仔細(xì)想想看,即便采用四位數(shù)表示年份,千年蟲是解決了,但「萬年蟲」又來了(四位年份最大可表示到9999),好在「一萬年太久」,可以不必去管它。然而其他因數(shù)據(jù)域有限而帶來的問題就未必。例如中文信息處理技術(shù)中,由于字庫(kù)容量的限制,會(huì)造成要用的漢字計(jì)算機(jī)上沒有的尷尬局面。這就表明,隨著計(jì)算機(jī)應(yīng)用的更加普及深入,現(xiàn)行計(jì)算機(jī)的體系結(jié)構(gòu)已越來越不適應(yīng)。當(dāng)然,要從體系結(jié)構(gòu)上對(duì)計(jì)算機(jī)進(jìn)行「革命」也不是一件輕而易舉的事,它涉及到方方面面的問題太多,可能需要不止一代人堅(jiān)持不懈的努力。相信現(xiàn)在的年輕一代,將運(yùn)用他們的智慧,為解決這道比千年蟲更難得多的跨世紀(jì)難題作出貢獻(xiàn)!

《百科知識(shí)》1999.9

最近更新日期:2000年01月06日
中國(guó)新聞社版權(quán)所有,轉(zhuǎn)載稿件務(wù)經(jīng)授權(quán)