Y2K狂想曲(99.11.01)

 お久しぶりの'The Age Of Digital'です。
さて、今回は後2ヶ月を切った'Y2K'、いわゆる2000年問題について書いてみましょう。
筆者もなんだかんだ言って、IT関連の仕事をしているわけで、この問題のおかげで今年から来年、つまり年末年始は休みなんざーございません。
多分、仕事先で数年ぶりに'紅白歌合戦'を見て、'ゆく年くる年'を見なければならないのは、ほぼ確実でしょう。
(そんなもん、ゆっくり見れるかってーのも正直判りませんが.....)
たかだか、'1999年'から'2000年'にかわる事だけで何でそんなおー騒ぎしなければならないんじゃい??とも思ってしまうのですけど、結局うまいことを考えついたと思った、そのあさはかなアイディアが、後年こんな事になるとは誰が予想したでしょう??
さて、そんな'Y2K'、いったい何が起こるのでしょう??



 'Y2K'問題ってのは、皆様もご存じのとうり、ひらたく言えばコンピュータが西暦200011日を認識出来ずスケジュールされたジョブを実行出来なかったり、実行してもその実行日を199011日等と西暦2000年の11日と認識せずに実行してしまう為に日付の表示や印字が違ってしまったり、暦日計算が狂った状態でジョブが実行されるてしまう等の様々な障害が起こる問題を総称したものです。
この'Y2K'問題、何故西暦2000年をコンピュータが認識出来ないのか、いわゆるWintel系のパソコンを例に説明しませう。
早い話、西暦2000年を認識出来ないパソコンってのは大体1995年以前に製造されたパソコンで、何で西暦2000年を認識出来ないかと言うと、早い話が年のカウンタがBIOS上に2桁しかないからです。
そんなパソコンもそれじゃーまずいね??ってんで、その後西暦2000年になったらBIOS上でビットを一つ立てませうということで'CB(Century Bit)'ってもんが追加されました。
つまり西暦2000年になったらこの'CB'をONにしてパソコンは'あー西暦2000年が来たー!!'とハード的に認識するわけですな。
ところがこいつにも落とし穴がありまして、最初の頃の'CB'付きパソコンってのは、何と自分のカウンタで西暦1999年12月31日23時59分59秒から西暦2000年1月1日0時0分0秒になったときに'CB'を自分でONにする機能を持たないパソコンも存在するのです。
つまり、パソコンの'Y2K'問題は下のような三種類の状況があるわけです。

  1. 絶対に西暦2000年を認識出来ないパソコン。
  2. 西暦2000年に達した事を何らかのオペレーションで人間が教えてやらないと西暦2000年を認識出来ないパソコン。
  3. 西暦1999年12月31日23時59分59秒から西暦2000年1月1日0時0分0秒への変化を自分で認識出来るパソコン

これはWintel系のパソコンのお話ですんで、MacやらUNIX系、はたまた汎用機の世界は又話は別ですけど、まあハードウェア的な'Y2K'問題を引き起こす原因ってのは、こんなわけです。
でも、'Y2K'問題を引き起こすのは、こんなハード的な問題よりもソフトウェア的な問題のほうが大きいんですよね??
だって、先のWintel系パソコンなら、'1'のケースは別として'2'のケースならとりあえず日付を更新する操作を行えば何とかなるんですから.....



 で、何とも困ったのは実はOSやアプリケーション等のソフトウェアの問題の方なんですね。
コンピュータのプログラミングの世界は、昔ははっきり言ってメモリや外部記憶装置等の記憶領域をどれだけ小さく出来るかが勝負だったわけです。
何せ、コンピュータが登場してそれなりに普及し始めた時点では、とにかく記憶容量は今みたいにとても余裕のあるものじゃーなくて、しかもすんごい高価だったわけです。
ですから、20年くらい前までのプログラマーってのは、とにかくいかに小さく効率的なプログラムを書くかで腕の差が出たわけです。
それが15年程前からは、記憶領域にも余裕が出来たしCPUのスピードも上がってきましたから、少々無駄なロジックが含まれようが、癖の無いいわゆる標準化されたプログラミングで生産性を上げる事に力点が移りました。
だけど、何故かみんな疑問を持たずに昔のプログラミングスタイルやデータ設計の手法を使い続けてきました。
それがいわゆる暦日を下二桁で表現するという手法、つまり1990年なら'90'と表現してデータの格納エリアを小さくするという手法を使い続けたのです。
まあ、日本の場合和暦ってのがあるわけで、別に二桁でもなんとかなるじゃん??と思う人もあるかもしれませんが、コンピュータなんか所詮西洋のからくり機械ですから内部処理は西暦で行われてますんで、大体表示される和暦は格納された西暦の暦日を変換して表示しているわけですね??
というわけで、このきっとこの暦日の年号を下二桁で表現する事でデータの記憶領域をかせぐと言う、多分出てきた当時が画期的と思った事でしょう手法が、今では逆に'Y2K'の大きな足かせとなってしまったのであります。


 さてさて、この西暦を二桁で表す手法、さっきも話したようにWintel系のパソコンのBIOSでも堂々と使われ続けた訳です。
で、そんな二桁西暦の手法、多分みんな考えていたのは'このソフトが西暦2000年まで使われる事なんかねーよね??'ってとこだったんでしょう。
ところが、それが習慣化した事から、'Y2K'問題が言い始められた多分1990年頃まで、何の疑問もなくプログラマーは西暦を二桁で表現し続けた訳です。
かくいう筆者はどうかというと、先ほど話したような'効率的プログラミング'と'生産的プログラミング'の狭間の時期にコンピュータと接し始めたのですけど、確かに1990年頃までは危機感は持たなかったっすね??
どっちかと言うと平成年号問題の方が、記憶に残っています。
でも、1992年頃からちょっとマズイんでないかい??と思い始めました。
というのも、意外とエンドユーザがハードやアプリケーションを新しくするのって積極的で無くなってきたようなんです。
これは、バブルの崩壊って奴が大きな影響を与えているようにも思えます。
で、1995年のWindows95の登場、そしてパソコンブーム、インターネットブームが始まって一般にもコンピュータが随分普及して来ました。
ところが、先に書いたようにWintelパソコンは実は根本的に'Y2K'問題を持っていましたし、後日明らかになるようにMicrooftの一連のOSはしっかりと'Y2K'問題を抱えた状態で普及してしまった訳です。
(何と、'Y2K'問題に一番影響の無いMicroSoftOSってWindows3.1なんだもの!!!!!!!)
つまり、事態は新たなOSやハードが'Y2K'の解決に向かうんじゃーなくて、より影響が拡散しただけなんですね??これ。


 さて、そんな'Y2K'問題ですけど、色んな分野でそれなりに対応作業は行われているわけです。
特に電気、ガス、水道のようなライフラインに関わる分野ってのは、対応作業が行われてないと困るというものです。
大手の金融機関もTV報道なんかで見られるように懸命に対応を行っています。
とりあえずライフラインが大丈夫なら、それほど大きな問題も起こらないかもしれません。
で、例えば交通機関なんかで見ると、航空機は大変見たいですね??
何せ、国際線の場合、自分の国が大丈夫でも行き先によっては何か問題がありかもしれないわけですから。
英国では、搭乗員が'Y2K'対応に問題のある国への飛行はボイコットするなんて言ってますし。
中国では、航空関係のお偉いさんは1231日から翌年の11日まで終日航空機に乗ってないといけないとか。
でも、多分航空機の場合、飛ばす分には問題ないと思うんです。
どっちかと言えば管制システムの問題で降りれないほうが'Y2K'問題でのトラブルの可能性が高いでしょうね??
列車はどうかとかと言えば、JR東日本は年越しの間に最寄りの駅で年越しを迎えさせるそうな。
でもJR西日本はそのまんま走るそうで、この辺やっぱ恐れを知らぬ関西人(??)ってところでしょうか??
だけど、JR東日本さん、年越しの時期に列車止めてもあんまし意味ないんじゃーないっすか??
ねー、年越した途端に西暦20001日の管制データがぶっ飛ぶかもしれんしねー。
まあ、列車の場合、ポイントが沢山あるような路線は列車管制システムにトラブルがあると危ないけど、そうじゃない在来の私鉄なんかは、何とか大丈夫かな??
自動車のほうは、確かに信号管制システムがおかしくなるのは問題があるけど、そうなったらここんとこ評判の悪い警察官の皆さんが、昔のように交通整理すりゃー良いだけです。
それに、自動車自身は'Y2K'問題に抵触する部分なんざ、百歩ゆずってカーナビ程度でしょう。
カーナビが狂ったって、別に迷子になるくらいで、別に命に関わるわけじゃーない。
でも、ちょっとまずいのは医療機関ですよね??
主要医療機関の'Y2K'対応が出来てるの50%以下なんて、ちょっとひどすぎません??
医療機器メーカの対応の悪さなんでしょうか??それとも医者連中の認識不足なんでしょうか??
何せ、15年前と比べれば、治療や生命維持の分野って、はっきり言って医者の力量だけじゃなくて、機械だのみの部分ってすんごい増えたわけじゃーないですか??
まあ、しばらく入院は出来ないわね、これじゃ.....


 そう言えば、先日小渕のおじさんが、ようやく国民への'Y2K'に関する危機管理の呼びかけの声明を出しましたね。
何か、喰い物と飲料水を確保しとけとか、現金を用意しとけとか言っておりますけど、そんな事今頃言っても遅いんでないかい??早い話が国はなーんもしてないんで、自衛よろしくって言っているようなもんでしょ??
もし本当に'Y2K'問題を何とかしようってんなら、三年前から計画を立ててりゃそんなこと言わなくても良かったんでないかい??
西暦2000年を迎える前に'Y2K'対応が出来ない企業への法的処置を用意しておくとか、出来る事はあったと思うんだけどね??
まあ、ライフラインに問題が起こらない事を祈るしかないでしょーね。
でもねー、筆者、多分ライフライン関係は最後のフェールセーフに人間が居れば大丈夫と思ってたんだけど、ついこの間の京都の停電事故なんか見てると、何かフェールセーフの人間さえも信用出来ないんかなー??て思えたりして。


 で実際のところ'Y2K'問題で、何が起こるのでしょうか??
多分、誰にも判らないってのがホントのところでしょう。
ただ、一部の馬鹿なオオカミ評論家連中の言っているような事は起こらないと思うし、起こって欲しくないと思うのです。
先日ある会社の人と話していたのですけど、こんだけ色んな企業や関係者が'Y2K'に備えて準備してるんだから、自分の関係ないところで何か起こって、それを笑い飛ばせれば良いね??って言っていました。
まあ、対岸の火事を喜ぶのも、良い事では決して無いのですけど、VTRの予約が出来ない(^^)ってのが沢山あってTVニュースネタになるぐらいなら、ホント、良いのだけどねー??


 さてさて、実は'Y2K'って西暦200011日の問題だけでないのはご存じでしょうか??
実は、ここのところ明らかになってきたのですけど、西暦2000年の2月29日を3月1日と勘違いするチップがかなり多く出回っているのが明らかになってきたのです。
まあ、OS関連ではMicroSoft社のWindows系のOSで、この閏年問題が明らかになって、かなりみんなから叩かれた(って言うか、馬鹿にされたっつーのが正解??)んですけどね。
チップ関連の問題はどちらかと言えば先のWintel系パソコンみたいな西暦2000年を認識出来ない問題のほうが取りざたされて、こちらの西暦2000年の閏年問題ってのは、それほど注目されていませんでしたよね??
だから、西暦2000年を迎えても、まだ安心出来ないと言うわけです。
まあ、こちらのほうもVTRの予約問題程度で済んでくれればありがたいんすけどねー
とりあえず皆さん、きっと何かは起きるだろーけど、慌てず騒がずで年越しを迎えるとしましょーか??

To Digital