2000年問題(にせんねんもんだい)は、
グレゴリオ暦2000年になると
コンピュータが誤作動する可能性があるとされた問題。
Y2K問題(
ワイツーケイもんだい:"
Y"は"Year"、"
K"は「1000倍」をあらわす"Kilo"の意)とも言われた。
原因
直接の原因は、
プログラム内で
日を扱う際の年数の表現方法である。年数の表現をグレゴリオ暦の下二桁のみで行っている場合、2000年が内部で00年となり、これを
1900年とみなしてしまい、誤作動につながる(例えば
データベースを日付順に並び替える処理をすると、順序が狂うなど)可能性があるとされた。
- 年が4で割り切れる年は閏年とする
- (1)のうち、年が100で割り切れる年は閏年としない
- (2)のうち、年が400で割り切れる年はこれを適用しない(つまり閏年とする)
というルールがあり、このため2000年は
閏年だったのだが、誤って1と2のルールしか適用せず、閏年としなかったプログラムが存在したため、この対応も併せて必要とされた。
コンピュータの黎明期は、
リソース(特に
メモリ関係)の費用負担が重く、出来るだけメモリを節約するプログラムが要求され、年号を下二桁で表すことによりリソースを節約をするのは、当時の
プログラマの間では当然のテクニックであった。また電子式コンピューターの先祖とも言える機械式コンピューター(
パンチカードシステム)においては、年数の下二桁表示が当たり前であり、それをそのまま継承したという一面もあった。そのようなプログラムの多くは
1960年代から
1980年代頃に開発され、当事者は、2000年までには、何らかの改良が加えられるか、全く新しいプログラムが運用されるであろうとの前提でいたため、特にこの問題に対する対策を施していない場合が多かった。2000年問題が表面化した際は、プログラムを作成した技術者の退職などもあり、手作業でのプログラムの確認と修正が必要になった場合も多い。
これらのプログラムが作成された時点で既に、多くの国で様々な領域や分野でコンピューターが使用されていたため、思わぬところでの機能停止の危険があり得ることが指摘されていた。これらの問題により、
物流や、その他の社会運営上の不具合の発生などが連想され、国際経済が深刻な
不況に陥る可能性を指摘する声もあった。一部には、
カレンダーを持たない(2000年問題の影響を受けない)、独立した
マイクロコンピュータ応用機器の誤動作の不安を煽るなどの過剰反応も見られた。
事前対策
当時、想定された問題としては
などがあった。このため、
1990年代末に使用していたプログラムの訂正が世界規模で行われた。この修正作業に費用と期間が取られてしまった、特に
中小零細レベルの会社などにおいて大きな打撃となった。
結果
日本
2000年1月1日
1999年
12月31日から2000年
1月1日にまたがる航空便、
JR東日本などの鉄道各社はすべて列車を最寄りの駅に臨時停車し運転を見合わせ、システムの不測の事態に備えて欠航したり、年が明けてからの出発に変更されたりした。
2000年になった時点では、一部のシステムに不具合は出たものの、ほとんどが致命的な問題には至らなかった。
身近なものの例としては、当時
NTTドコモが販売していた
携帯電話「ムーバN206」(
NEC製)の
ショートメール機能において、「既読メールが容量オーバーで受信できなくなった場合、古いメールから自動削除する」機能が誤作動した例がある。また、2000年を想定した設計がされていない、古い
ビデオデッキの予約録画、
ワープロ機の文書管理機能などに影響が出た機種がある。
2000年2月29日
しかし、2000年
2月29日になり、当日を閏日として処理していないために「エラー日付」として取り扱われる問題が発覚し、大きな騒ぎとなった。
なお、2000年問題の深刻さについて疑問を持つ専門家などは、1月1日よりも2月29日の方が大きな騒ぎとなったことをもって、「そもそも重大な危険が存在しなかった」とする者もいる。これに対して、「対策を行ったため結果として大きな問題が発生しなかったのであり、何の対策も行わなかった場合は大きな問題が発生していただろう」との反論がされている。
参考文献
関連項目
外部リンク
----------------------------------------------
出典:「フリー百科辞典ウィキペディア」(2009-01-01)
ご利用上の注意