西暦2000年問題雑感

文書作成日:1999.10.05
最終更新日:2000.01.29


ようやく2000年になりました。 案の定いくつかのトラブルはありましたが、 とりあえず何とか動いているようですね。 もっとも元旦を過ぎれば全て終わりではなく、 今後も継続的に問題は出てくるはずです。 無用に騒がず地道に対応していきましょー。


旬のネタ・・・とは言えませんが、 年が明ける前にコンピュータの西暦2000年問題について記しておきましょう。 一応ザウルスの話もありますが、概ね一般的なお話として書かせていただきます。

そもそも西暦2000年問題って何?

おおざっぱに言うと、 西暦2000年を越える事で起きる様々な問題をひっくるめてそう呼んでいます。 有名なのは、西暦の下2桁しか記録していない事によるトラブルですが、 まずこれについて書いてみましょう。

事の起こりはもうず〜っと前です。 コンピュータの中には、 年月日を記憶して時を刻み続ける『時計IC』が入っており、 これのおかげで今が何月何日か、何時何分なのかがわかるのですが・・・ 困ったことに昔のコンピュータに使われていたそれは、 2桁分しか『年』の領域を持っていなかったのです。

それでも、一般的に 72年 と言ったら1972年だという事は誰の目にも明らかですから、 特に問題もなくそのまま使われてきました。

しかし、ハードウェアが2桁しか持っていないのだから、 その上に乗るソフトウェアだって 2桁で記録しようとするのは当然の事。 とりわけ、今のパソコンよりも遥かにメモリもディスク容量も少ない当時のコンピュータにとって、 わずか2桁(=2byte)といっても重要な節約だったのです。

かくして、コンピュータのプログラムもデータも、 2桁の年を前提に作られてきたのですが、これには大きな問題が残っていました。 そう、1999年から2000年に変わった時に 99 から 00 へと値の年の大小関係が逆転してしまうことです。

これによるトラブルは、例えば利息計算などで、 本来なら 2000-1999= 1 となるところが 00-99= -99 とマイナスの数値になり処理ができないなど、 幾らでも挙げられます。 1900年と2000年の区別がつかない事により、 うるう年の判定を失敗するケースもありますね。

本来、小さい値から大きい値へと連続して続いていくはずの時間が、 逆転してしまう事によるトラブル・・・それは予想外の挙動を引き起こします。

例は違いますが、Windows95/98等は49日程連続稼動すると、 ミリ秒単位のタイマが一杯になり 0xffffffff から 0 に逆転することで、 青い画面になりハングするという有名なバグがあります。 一言で言えば『作りが悪い』のですが、 もしもこんな低レベルな作りの物が重要な施設にあったら・・・。

だからこれだけ騒がれるというわけです。

不安を煽る報道に騙されないように!

さて、上の話で脅しておいて何ですが、 近年のマスコミ報道にはどうも一般大衆の不安を煽るだけのものが多いため、 敢えてここで言っておきます。

『2000年になったからといって社会全体が止まる事はまずありません!』

どうもニュース番組などを見ていると、2000年になった瞬間に電気・ガス・水道は止まり、 街は暗闇に沈み、銀行からお金がおろせなくなり、電話もTVもビデオも全て動かず、 飛行機は計器がおかしくなって飛ぶ事さえできない・・・みたいな報道がされてますが、 まずもって、ほぼそういう事にはなりません。

例えば最近の報道ですと、1999年9月9日は 9999 と 9 が続くから、 コンピュータが誤作動を起こす可能性がある・・・なんてやってましたが、 これは一体何だったのでしょう? どれもこれも一般人を不安にさせているだけで、 何の役にも立ってないんじゃないでしょうか。

思う・・という言葉だけじゃ何ですから細かく書いてみますが、 例えば9999で何か起きるようにプログラムされていたとしても、 上記の例なら 990909 という日付として入力するのですから、 そもそも 9 の連続なんて有り得ないのです。 100歩譲って 99 年と入力した場合を考えてみても、 既に1999年も末の今、99 だけでトラブル起こしたという話はありましたか?

1999年から2000年への切り替わりにしてもそうです。 初めに『時計ICが2桁・・・』という話をしましたが、それは昔の話であって、 今のチップは大抵が4桁の物に置き換わっています。 機器組込み用チップの中にはまだ2桁の物も存在しますが、 パソコンの場合でもBIOSと不揮発性メモリによる4桁の処理が入っています。 プログラムやデータにしても、重要な施設は既に対策が完了しており、 まずもって問題無しです。

判りやすい例で言うと、例えば銀行の定期預金を考えてみましょうか。 普通、半年とか1年といった単位で預金するものですが、 もしも 2000年になった瞬間に問題が起きるようなシステムを使っていたら、 満期が2000年を越えている定期預金なんてできっこないんですよ。 生命保険のような長期の物なら尚更そうです。

もちろん問題は幾つか発生するでしょうし、 それを軽視してよいわけではありません。 我々の生活に関わるシステムはそれこそ念入りに調べ、 テストしていく必要があります。 何でもそうですが安易に「大丈夫だろう」と決め付けるのは危険なことなのですから。

しかし、根拠も無くパニックに陥るのもまた危険なことです。 不用意な噂(デマ)にまどわされないように、 マスコミ報道などを鵜呑みにしないように気をつけましょう。

2000年問題:パソコンの場合

パソコンが普及しはじめた時期、それに今の主流のOSの出た時期を考えると、 どう考えても 初めから2000年問題なんてあっちゃいけない のですが、 頭の痛い事に、1999年末だというのに、まだWindows95/98/NTは問題を抱えたままです。 PC/AT互換機のハードウェア、BIOSレベルでは大体対策が済んでいるのですが、 Microsoft製品は対応が遅く、しかも不完全です。

Windowsの前のMS-DOSに至っては、当のMSは対策を行っておらず、 IBMが PC DOS 2000 として対策を行なった製品を出しているくらいです。 『今更DOS?』と思う方もいるでしょうが、 身近な所ではキャッシュ・レジスタなどに使われたり、今もって現役ですから、 2000年問題対策は重要なものです。

・・・なのに、あっさりと昔の製品の対策を打ち切り、 しかも1990年代後半の製品にすら2000年問題を持たせているというのが、 いかに異常であるか考えてみましょう。

追記
ところで、1969年に誕生した UNIX にはOSレベルでの2000年問題は無いんですよね。 古くてもまともに作ってある物は、こうだという見本です。

そしてパソコンの場合には、OSだけじゃなく様々なアプリケーションがあり、 それらも問題を持っている場合があります。 ワープロや表計算、データベースetc. 数え上げたらキリがありません。 アプリケーション側では4桁年の対応をしてあっても、 システム側から2桁で値が戻って来るのではお手上げになります。 Windowsだと標準で yy/mm/dd の2桁年の設定になっているのも結構トラブルの元です。 開発ツール自体に問題がある場合も多々あります。 TIME型を信頼してデータを入れていたのが失敗だったという話も聞きます。

あと2ヶ月で2000年という今になっても、次から次へと出てくるパッチ、 2000年問題の解決という甘い文句と共に押し付けられるソフト(IE)、 49日で死ぬOS、無くならないセキュリティホール、 2000年問題を機に考えなくてはならないのは、 これらを異常だと認識し、 マスコミやメーカー発表に躍らされない事ではないでしょうか。

追記 2000.01.29
Outlook, Outlook Express 等のMS製メーラを使っていたがために、 2000年問題で受信箱のメールが全て消えた!という事例が出ています。 自分が知らぬ間にウィルスにかかり、仲介役になってしまうOutlookなど、 即刻削除した方がいいです。悪い事は言いません。


2000年問題:ザウルスの場合

お待たせしました、ようやくザウルスの話です。

ザウルスには大きく分けて、PI-3000〜PI-8000 等の PI ザウルスと、 現在の MIザウルス(コミパル等も含む)とありますが、 どちらも基本的にOSレベルでの西暦2000年問題はありません。

PIザウルスの方は、 受信したメールの日付が変に表示されるという問題がありますが、 この程度は 西暦2000年問題と呼ぶほどの物ではありません。 不具合であるのは事実ですが、2000年を越える事による表示の乱れであって、 これによりシステム全体が不安定になるとか、 先のWindowsのように青い画面でハングするといった類では無いのです。
(なお、対策Addinソフトはこちら にあります。)

当然ながら、MIザウルス(コミパル含む)の方にはそうした問題すらありません。:-)

追記 2000.01.05
OSレベルじゃありませんが、アプリケーションレベルでは一部問題が出たようです。 対象は MI-504,506,506DC の管理番号 10,11,21 の物と、MI-10 ですが、 PowerPIMMリンク時に画像、音声、ワープロ、文書データをパソコン側から送信できないとの事です。 対応修正ソフトは次にありますので該当の方は更新した方が良いでしょう (単体で使うなら更新しなくても問題ありません)。 ( MI-500シリーズ用アップデートソフト MI-10用修正ソフト )

追記 2000.01.18
知人の MI-506DC(管理番号 21) と ザウルスパワーコネクション Ver1.2 間で 上記データの転送を試しましたが、こちらでは全く現象を再現できませんでした。 PC (Windows95) 側の環境の差なのでしょうか? だとするとザウルス単体の問題ではないのかも。

しかし、どうも何でもかんでも2000年問題と騒ぎたがる傾向があるようです。 重要な問題を引き起こすもの(ちょっとした不具合)と、 そうでない物(深刻なトラブル)とは区別して考えないと、 『2000年問題』という言葉の裏で重要な物を見失なう事に注意しましょう。

声高に叫ぶものが常に真実ではないのです。

未来に問題を起こさない為に

これは、使う側というよりも作る側への話です。

時間や数値など、自然界の物は無限の値を取ることができます。 しかしメモリは有限で、コンピュータで表現できるものも有限でしかありません。

1999年8月には、GPSのタイマ・カウンタが10bitの桁溢れを起こして、 一部のカーナビは正常に動作しなくなりました。 有限のメモリで有限の処理を行う以上、どこかに終端があるのです。 今、動いているから良し・・ではなく、終端に達した時にどうするか、 例外ケースになった場合にどうするかを熟慮すべきです。

2000年問題と呼ばれた騒ぎは、2000年1月1日で終わりじゃなく、 無限を有限に納めようとする限り、いずれどこかで起き得るもの。

未来の人に笑われないように・・・いきたいものですね。