Last Update : Oct. 23rd 1999
IBM標準フォーマットは非常に古い規格です.したがってY2K問題の発生はさけられません.フロッピーに書き込まれている内容を変更することはできないので,FDデータを読み込んだ後でY2K問題に対処するということになります. |
<問題の発生場所> IBMフォーマットではデータをFDに書き込むときファイルラベル領域に日付を入れます.しかし日付を書き込む領域がYYMMDD形式なので「年」の部分は2バイトしかありません.したがって西暦2000年にFDを作るとこの部分には「00」が書き込まれてしまうことになります. 作成日付はファイルラベル領域(0シリンダの表側のセクター8〜26,裏側の全セクタ)の先頭から48,49バイト目に「YY」が書き込まれています.裏側は176,177バイト目にもあります. この情報を読み込んでFDが作成された西暦年を判断する場合に「00」の処理をしないとY2K問題が発生します. 同じようなことが,ファイルを保護する期限の日付にもあてはまります.これは表と裏の67,69バイト目,裏の195,196バイト目にあります.この期限の日付は,この日まではファイルを削除したり更新したりしてはいけないという意味ですが,何かの判断にあまり使われていません. |
<対処の仕方> 上の説明で作成日付などの「00」問題に対処する方法ははっきりしたと思います. 読み込んだファイルラベルの「YY」が「00」のときは2000年だということをアプリケーション側で判断すればよいわけです.これで2099年までは大丈夫です.2100年になるとY2.1Kが発生しますが,それまでこのフォーマットが存在するかは疑問です. |