(57)【特許請求の範囲】
【請求項１】
仮想ＦＤ（Ｆｌｏｐｐｙ（登録商標）Ｄｉｓｋ）の内容である仮想ＦＤデータを記憶する仮想ＦＤデータ記憶部と、
不揮発メモリに格納されたＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）の命令コードをコンピュータが実行することによって生成され、前記命令コードの実行によって、前記不揮発メモリに記憶された仮想ＦＤデータを動作メモリに展開して前記動作メモリに前記仮想ＦＤデータ記憶部を生成すると共に、前記仮想ＦＤをエミュレーションする仮想ＦＤエミュレーション部とを具備し、
前記仮想ＦＤエミュレーション部は、ＦＤに対するアクセスに基づいて、前記仮想ＦＤデータに対する仮想ＦＤハンドラと、実ＦＤに対する標準ＦＤハンドラを切り替える
エミュレータ。
【請求項２】
前記仮想ＦＤエミュレーション部は、
前記ＢＩＯＳの標準ＦＤハンドラに、前記仮想ＦＤに対するアクセスを制御する仮想ＦＤハンドラをフックする
請求項１記載のエミュレータ。
【請求項３】
前記仮想ＦＤエミュレーション部は、
前記仮想ＦＤの起動を要求する所定の操作を契機として生成される
請求項２記載のエミュレータ。
【請求項４】
前記仮想ＦＤエミュレーション部は、
前記命令コードを実行することによって、ネットワークを介して、リモート端末からアクセス要求を受け付ける
請求項３記載のエミュレータ。
【請求項５】
前記仮想ＦＤエミュレーション部は、
前記アクセス要求が書き込み要求の場合には、前記リモート端末から仮想ＦＤデータを取得し、前記不揮発メモリに格納された仮想ＦＤデータを更新する
請求項４記載のエミュレータ。
【請求項６】
前記仮想ＦＤエミュレーション部は、
前記アクセス要求が読み出し要求の場合には、前記不揮発メモリに格納された仮想ＦＤデータを、前記リモート端末へ転送する
請求項５記載のエミュレータ。
【請求項７】
前記仮想ＦＤエミュレーション部は、
ＦＤに対するアクセスがあったときに、前記仮想ＦＤハンドラを起動し、
前記仮想ＦＤデータ記憶部に記憶された仮想ＦＤデータに対する読み出し又は書き込みを制御する
請求項６記載のエミュレータ。
【請求項８】
前記仮想ＦＤエミュレーション部は、
前記ＦＤに対するアクセスが、仮想ＦＤでは無くて、実ＦＤに対するアクセスであった場合には、前記仮想ＦＤハンドラの処理を取り止めて、前記標準ＦＤハンドラを起動する
請求項７記載のエミュレータ。
【請求項９】
前記仮想ＦＤエミュレーション部は、
前記仮想ＦＤデータ記憶部に記憶された仮想ＦＤデータに対する書き込みを検出した場合には、書き戻しフラグをオンに設定し、
所定のタイミングで前記書き戻しフラグを参照し、前記書き戻しフラグがオンに設定されていた場合には、前記仮想ＦＤデータ記憶部に記憶されている仮想ＦＤデータにより、
前記不揮発メモリに格納されている仮想ＦＤデータを更新する
請求項８記載のエミュレータ。
【請求項１０】
前記仮想ＦＤエミュレーション部は、
前記所定のタイミングを、書き戻し要求コマンドの入力時、仮想ＦＤのシャットダウン要求コマンドの入力時、コンピュータシステムのシャットダウン操作時、及び、コンピュータシステムのリセット操作時の中の少なくとも一つとする
請求項９記載のエミュレータ。
【請求項１１】
前記仮想ＦＤエミュレーション部は、
前記不揮発メモリに格納された仮想ＦＤデータを、オペレーティングシステムから隠蔽されたメモリ領域に展開して、前記仮想ＦＤデータ記憶部を生成する
請求項１０記載のエミュレータ。
【請求項１２】
不揮発メモリに格納されたＢＩＯＳの所定の命令コードの実行を開始することと、
前記所定の命令コードの実行により、前記不揮発メモリに記憶された仮想ＦＤデータを動作メモリにメモリ展開することと、
前記所定の命令コードの実行により、前記仮想ＦＤデータを内容とした仮想ＦＤをエミュレーションすることとを具備し、
前記エミュレーションすることは、
ＦＤに対するアクセスに基づいて、前記仮想ＦＤデータに対する仮想ＦＤハンドラと、実ＦＤに対する標準ＦＤハンドラを切り替えることを含む
エミュレーション方法。
【請求項１３】
前記エミュレーションすることは、
前記ＢＩＯＳの標準ＦＤハンドラに、前記仮想ＦＤに対するアクセスを制御する仮想ＦＤハンドラをフックすることを含む
請求項１２記載のエミュレーション方法。
【請求項１４】
前記開始することは、
前記仮想ＦＤの起動を要求する所定の操作を契機として開始することを含む
請求項１３記載のエミュレーション方法。
【請求項１５】
前記エミュレーションすることは、
ネットワークを介して、リモート端末からアクセス要求を受け付けることを更に含む
請求項１４記載のエミュレーション方法。
【請求項１６】
前記エミュレーションすることは、
前記アクセス要求が書き込み要求の場合には、前記リモート端末から仮想ＦＤデータを取得し、前記不揮発メモリに格納された仮想ＦＤデータを更新する
請求項１５記載のエミュレーション方法。
【請求項１７】
前記エミュレーションすることは、
前記アクセス要求が読み出し要求の場合には、前記不揮発メモリに格納された仮想ＦＤデータを、前記リモート端末へ転送する
請求項１６記載のエミュレーション方法。
【請求項１８】
前記エミュレーションすることは、
ＦＤに対するアクセスがあったときに、前記仮想ＦＤハンドラを起動することと、
前記動作メモリにメモリ展開された仮想ＦＤデータに対する読み出し又は書き込みを制御することとを更に含む
請求項１７記載のエミュレーション方法。
【請求項１９】
前記エミュレーションすることは、
前記ＦＤに対するアクセスが、仮想ＦＤでは無くて、実ＦＤに対するアクセスであった場合には、前記仮想ＦＤハンドラの処理を取り止めて、前記標準ＦＤハンドラを起動することを更に含む
請求項１８記載のエミュレーション方法。
【請求項２０】
前記エミュレーションすることは、
前記動作メモリにメモリ展開された仮想ＦＤデータに対する書き込みを検出した場合には、書き戻しフラグをオンに設定することと、
所定のタイミングで前記書き戻しフラグを参照し、前記書き戻しフラグがオンに設定されていた場合には、前記動作メモリにメモリ展開されている仮想ＦＤデータにより、前記不揮発メモリに格納されている仮想ＦＤデータを更新することを更に含む
請求項１９記載のエミュレーション方法。
【請求項２１】
前記エミュレーションすることは、
前記所定のタイミングを、書き戻し要求コマンドの入力時、仮想ＦＤのシャットダウン要求コマンドの入力時、コンピュータシステムのシャットダウン操作時、及び、コンピュータシステムのリセット操作時の中の少なくとも一つとして、前記仮想ＦＤデータを更新することを更に含む
請求項２０記載のエミュレーション方法。
【請求項２２】
前記メモリ展開することは、
前記不揮発メモリに格納された仮想ＦＤデータを、オペレーティングシステムから隠蔽されたメモリ領域に展開することを含む
請求項２１記載のエミュレーション方法。
【請求項２３】
不揮発メモリに格納されたＢＩＯＳの所定の命令コードの実行を開始する手順と、
前記所定の命令コードの実行により、前記不揮発メモリに記憶された仮想ＦＤデータを動作メモリにメモリ展開する手順と、
前記所定の命令コードの実行により、前記仮想ＦＤデータを内容とした仮想ＦＤをエミュレーションする手順とをコンピュータに実行させるためのプログラムであって、
前記エミュレーションする手順は、
ＦＤに対するアクセスに基づいて、前記仮想ＦＤデータに対する仮想ＦＤハンドラと、実ＦＤに対する標準ＦＤハンドラを切り替える手順を含む
プログラム。
【請求項２４】
前記エミュレーションする手順は、
前記ＢＩＯＳの標準ＦＤハンドラに、前記仮想ＦＤに対するアクセスを制御する仮想ＦＤハンドラをフックする手順を含む
請求項２３記載のプログラム。
【請求項２５】
請求項２３又は２４記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレータ、エミュレーション方法、プログラム、及び、記録媒体に関する。
【背景技術】
【０００２】
サーバ機器での運用の一環として、ＦＤ（Ｆｌｏｐｐｙ（登録商標）Ｄｉｓｋ）を使ってのインストール補助や保守ツールの実行が一般的に行われていた。今でも、セキュリティ設定のキーワード情報やアプリケーションのパラメータ情報、簡単な装置情報の設定及び保存、ファームウェアの更新用途でＦＤを利用する場面が多々存在する。
【０００３】
近年ではＦＤドライブをはじめ、レガシーデバイスと呼ばれる旧世代のＩＯインタフェースデバイスが実装されない傾向にある。オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：本願において単にＯＳともいう。）上で動作するツールに置き換わったり、ネットワーク先のリモート仮想ＦＤが利用されたり等の改善がなされている。
【０００４】
しかしながら、全ての装置やアプリケーション上で改善が為されているわけではない。Ｌｉｎｕｘ（登録商標）の台頭などＯＳのバリエーションが広がり、ユーザが利用するＯＳ全てに対応できるツールを揃えることは困難であるし、また、ＯＳ自体の障害やネットワークを使えないケース等もある。このような場合には、保守ツール等を実行できる環境がない。そこで、必須オプションとして、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  ＦＤドライブを定義することや、別途ＵＳＢ  ＦＤドライブを準備するなど、ユーザ側の費用負担も多かった。一方、開発側にとっては、リッチＯＳ上で動作するオンラインツールと、ＦＤドライブ有り無しの両方をケアし、両方に対応が必要なオフライン運用の保守ツールとを開発する作業負担が生じる。複数開発が必要となるので、開発工数増加に繋がる弊害が出る。
【０００５】
このように、レガシーインタフェースで運用を継続サポートしていく手間やエンドユーザの環境構築、開発ベンダ側の開発負担増加など、作業が面倒なだけではなく、費用負担が増える傾向にある。
【０００６】
特開２００６−１５５６７３号公報（特許文献１参照）には、エミュレーション装置の発明が記載されている。このエミュレーション装置は、少なくとも演算処理部、記憶部、入出力部を備えたコンピュータである実行マシン上で、該実行マシンのアーキテクチャとは異なるアーキテクチャを備えたコンピュータであるターゲットマシン用のプログラムを実行させる。該エミュレーション装置のハードディスクエミュレーション部は、第１の変換手段と、第２の変換手段と、システム管理情報変換部と、物理アクセス処理部とを備える。第１の変換手段は、ターゲットマシンにおけるハードディスクへのアクセス位置の物理アドレスを、ターゲットマシンのハードディスクの構成に関する情報を用いて論理アドレスに変換する。第２の変換手段は、その論理アドレスから実行マシンのハードディスクの構成に関する情報を用いて、実行マシンのハードディスクのアクセス位置の物理アドレスに変換する。システム管理情報変換部は、実行マシンのハードディスクのシステム管理情報をターゲットマシン用のシステム管理情報に変換する。物理アクセス処理部は、第２の変換手段により変換された物理アドレスおよびシステム管理情報を用いて、実行マシンのハードディスクにアクセスする。
【０００７】
特許文献１の記載のとおり、この発明は、仮想ＰＣ環境において、主にハードディスクドライブをエミュレーションする環境を提供している。別途ハードディスクドライブエミュレータが必要等、コスト高な上に、仮想ディスクの実現方法が特異で、敷居が高いものであった。すなわち、特許文献１の発明における第１の問題点は、比較的高価なシステムを必要としていた点である。この理由は、特殊なハードウェアやアプリケーションを必要としていたためである。第２の問題点は、これまでのＦＤ運用とまったく同様の機能の提供はできない点である。この理由は、単にハードディスクのエミュレーションであり、起動からの一連のＦＤ動作運用として置き換えることができないためである。第３の問題点は、柔軟性に欠ける点である。この理由は、リモートからの仮想イメージ読み込み及び書き込み制御を想定していない装置であるためである。
【０００８】
特開平１１−３１２１２７号公報（特許文献２参照）には、回線接続される外部記憶のエミュレーション方法の発明が記載されている。この発明においては、外部記憶装置を持つコンピュータが回線経由で接続されて成るコンピュータシステムにおいて、一方のコンピュータにて回線経由で他方のコンピュータの外部記憶装置をエミュレーションするモードが設定される。そのコンピュータ上で外部記憶装置を使用する要求があったときにその要求をフックして他方のコンピュータが持つ外部記憶装置にそのデータの要求を行う。そのコンピュータ上でその要求を処理し回線経由で要求元のコンピュータに応答する。
【０００９】
【特許文献１】特開２００６−１５５６７３号公報
【特許文献２】特開平１１−３１２１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の課題は、標準搭載されたＯＳ自体の障害時やネットワークを使えないようなケースであっても使用可能な仮想的なＦＤをエミュレーションすることである。
【課題を解決するための手段】
【００１１】
本発明の一つ目のアスペクトによるエミュレータは、仮想ＦＤデータ記憶部と、仮想ＦＤエミュレーション部とを具備する。仮想ＦＤデータ記憶部は、仮想ＦＤの内容である仮想ＦＤデータを記憶する。仮想ＦＤエミュレーション部は、仮想ＦＤをエミュレートする。仮想ＦＤエミュレーション部は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に格納された命令コードをコンピュータが実行することによって生成されると共に、その命令コードの実行によって、不揮発メモリに記憶された仮想ＦＤデータを動作メモリに展開して動作メモリに上記仮想ＦＤデータ記憶部を生成する。
【００１２】
本発明の二つ目のアスペクトによるエミュレーション方法は、開始することと、メモリ展開することと、エミュレーションすることとを具備する。開始することは、ＢＩＯＳに格納された所定の命令コードの実行を開始する。メモリ展開することは、その所定の命令コードの実行により、不揮発メモリに記憶された仮想ＦＤデータを動作メモリにメモリ展開する。エミュレーションすることは、その所定の命令コードの実行により、仮想ＦＤデータを内容とした仮想ＦＤをエミュレーションする。
【００１３】
本発明の三つ目のアスペクトによるプログラムは、開始する手順と、メモリ展開する手順と、エミュレーションする手順とをコンピュータに実行させる。開始する手順は、ＢＩＯＳに格納された所定の命令コードの実行を開始する。メモリ展開する手順は、その所定の命令コードの実行により、不揮発メモリに記憶された仮想ＦＤデータを動作メモリにメモリ展開する。エミュレーションする手順は、その所定の命令コードの実行により、仮想ＦＤデータを内容とした仮想ＦＤをエミュレーションする。本発明の四つ目のアスペクトによるコンピュータ読み取り可能な記録媒体は、このプログラムを記録する。
【発明の効果】
【００１４】
本発明によれば、標準搭載されたＯＳ自体の障害時やネットワークを使えないようなケースであっても使用可能な仮想的なＦＤをエミュレーションすることができる。
【発明を実施するための最良の形態】
【００１５】
本発明を実施するための最良の形態の一つについて、図面を参照して詳細に説明する。図１を参照すると、本発明の一つの実施の形態におけるエミュレーション方法を使用するコンピュータシステムが示されている。このコンピュータシステムは、仮想ＦＤをエミュレーションする命令コードを記憶したＢＩＯＳ１０２ａを有している。ＢＩＯＳ１０２ａは、ハードウェアの初期診断機能、基本標準入出力インタフェース機能、セットアップ設定機能などを備えるものとして知られるものである。ＢＩＯＳ１０２ａは、フラッシュＲＯＭ１０２に格納されている。フラッシュＲＯＭ１０２は、バス１００に接続されている。バス１００には、プロセッサ１０１、ハードウェアの設定情報などを格納するＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）１０３、外部ネットワークと接続されるＬＡＮインタフェース１０４、標準的な表示装置であるＣＲＴ１０５、標準的な入力装置であるキーボード１０６、標準的な動作メモリであるメインメモリ１０７、標準的な外部記憶装置であるＨＤＤ１０８なども接続されている。このコンピュータシステムに、物理的なＦＤドライブは存在しない。フラッシュＲＯＭ１０２は、エミュレーションされる仮想ＦＤの内容である仮想ＦＤデータを格納する領域を確保するために、２メガバイト程度のサイズの容量を有している。
【００１６】
ＢＩＯＳ１０２ａは、仮想ＦＤをエミュレーションする仮想ＦＤエミュレーション部を生成する命令コードを含み、また、この仮想ＦＤエミュレーション部により、フラッシュＲＯＭ１０２から仮想ＦＤデータを読み出し、メインメモリにメモリ展開し、仮想ＦＤの内容である仮想ＦＤデータを記憶する仮想ＦＤデータ記憶部を生成する命令コードを含んでいる。仮想ＦＤエミュレーション部は、仮想ＦＤの基本機能及び各種付加機能を実現する。仮想ＦＤデータ記憶部は、仮想ＦＤの内容である仮想ＦＤデータを保持する。
【００１７】
仮想ＦＤエミュレーション部には、付加機能として、ＬＡＮインタフェース１０４を通して、リモート端末からフラッシュＲＯＭ１０２の仮想ＦＤデータを読み込む／書き込む機能が追加される。これにより、リモート端末から仮想ＦＤデータの置き換えなどが可能となる。表示装置１０５は、ＢＩＯＳ１０２ａのＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ）実行処理を表示し、このタイミングで、利用者が入力装置１０６からホットキー（ＨｏｔＫｅｙ）操作を行うと、仮想ＦＤエミュレーション部及び仮想ＦＤデータ記憶部の生成、仮想ＦＤの起動を指示することができる。もちろん、付加機能により、ＬＡＮインタフェース１０４を通して、ネットワーク先のリモート端末からも起動指示が可能である。
【００１８】
図２を用いて、仮想ＦＤの起動方法について説明する。図２において、ＢＩＯＳ１０２ａのＰＯＳＴがスタートすると（フロー０１）、ハードウェア初期化フェーズに入る。ハードウェア初期化フェーズが正常終了すると（フロー０２）、リモート端末からフラッシュＲＯＭ１０２に格納された仮想ＦＤデータの読み出し要求又は書き出し要求があるか否かを確認する（判定０１）。この確認は、仮想ＦＤの読み出し要求フラグ、及び書き出し要求フラグの設定及び参照によって行うことができる。読み出し要求フラグがリモート端末から設定されていたら（判定０２：ノー）、ＢＩＯＳ１０２ａのネットワークアクセスモジュールにて、フラッシュＲＯＭ１０２から仮想ＦＤデータを送出することで、リモート端末側で仮想ＦＤデータの取得が可能である（フロー０４）。書き出し要求フラグが設定されていたら（判定０２：イエス）、同じくネットワークアクセスモジュールにて、リモート端末から受け取った仮想ＦＤデータをフラッシュＲＯＭ１０２に書き込み（フロー０３）、仮想ＦＤデータを更新する。
【００１９】
図２において、ＰＯＳＴ終了直前に、ローカルから、仮想ＦＤの起動を指示されているか否かが確認される（判定０３）。この確認は、ＰＯＳＴ中に利用者がＨｏｔＫｅｙ等を押下することでセットされる仮想ＦＤ起動指示フラグを参照することによって行うことができる。仮想ＦＤ起動要求があれば（判定０３：イエス）、ＯＳに対してリザーブ設定したメモリ領域に仮想ＦＤデータを展開する（フロー０５）。ＯＳに対してリザーブ設定したメモリ領域は、ＯＳから隠蔽されたメモリ領域である。続いて、ＦＤインタフェースのランタイムルーチンであるハンドラ（ｉｎｔ１３ｈ）をフックする（フロー０６）。すなわち、標準ＦＤハンドラを、仮想ＦＤアクセス用のもので、該当割り込みベクタアドレスに置き換えるようにする。ここで、ＦＤハンドラへのアドレスはチェーンフックとし、仮想ＦＤ以外のｉｎｔ１３ｈ処理は、通常の標準ＦＤハンドラで処理される。以上により、ＰＯＳＴが終了すると（フロー０７）、仮想ＦＤを起動していた場合においては、実在しないＦＤがあたかも存在するかのように、ＦＤを扱うことが可能となる。
【００２０】
図３のフローチャートを参照して、仮想ＦＤのエミュレーション動作について詳細に説明する。図２のフローにより、ホットキー操作をしていた場合には、ＯＳ起動時から仮想ＦＤが起動される。例えば、この仮想ＦＤの起動に続き、この仮想ＦＤから互換ＤＯＳ（登録商標）システムを起動したとする。
【００２１】
このとき、仮想ＦＤに対して読み込みアクセスがあった場合には、ＦＤ割り込み（ｉｎｔ１３ｈ）が発生する（フロー１１）。ｉｎｔ１３ｈをフックすることにより、仮想ＦＤハンドラによるハンドラ処理へ移行する（フロー１２）。まず、読み込みアクセスなので、仮想ＦＤハンドラによるハンドラ処理が必要と判定される（判定１１：イエス）。仮想ＦＤハンドラは、メインメモリ１０７にメモリ展開された仮想ＦＤデータを使って、リード動作を行う（フロー１３）。その後、割り込み処理を終了して、通常処理へ復帰する（判定１２：ノー，フロー１６）。
【００２２】
一方、仮想ＦＤに対して書き込みアクセスがあった場合には、ＦＤ割り込み（ｉｎｔ１３ｈ）が発生する（フロー１１）。ｉｎｔ１３ｈをフックすることにより、仮想ＦＤハンドラによるハンドラ処理へ移行する（フロー１２）。まず、書き込みアクセスなので、仮想ＦＤハンドラによるハンドラ処理が必要と判定される（判定１１：イエス）。仮想ＦＤハンドラは、メインメモリ１０７にメモリ展開された仮想ＦＤデータを使って、ライト動作を行う（フロー１３）。続いて、仮想ＦＤデータ記憶部の仮想ＦＤデータを更新するため、フラッシュＲＯＭ書き戻しフラグをオンにセットする（判定１２：イエス，フロー１４）。その後、割り込み処理を終了して、通常処理へ復帰する（フロー１６）。
【００２３】
通常のＯＳ運用中に、利用者が、仮想ＦＤに記録された保守ツールなどを起動する際も仮想ＦＤハンドラ経由となる（フロー１１，１２）。仮想ＦＤ内の保守ツールが起動されるとき、仮想ＦＤハンドラによるハンドラ処理が必要と判定され（判定１１：イエス）、保守ツールの起動が行われる（フロー１３）。その後、保守ツールは、仮想ＦＤハンドラ経由で仮想ＦＤにアクセスすることができる。すなわち、フラッシュＲＯＭ１０２の仮想ＦＤデータをメインメモリ１０７にメモリ展開して生成された仮想ＦＤデータ記憶部へファイルの保存処理や変更処理などを実行する（フロー１１，１２，１３）。保守ツールが、保守作業の結果を保存するなどのライト動作を伴う処理を行った場合（判定１２：イエス）、仮想ＦＤハンドラは、フラッシュＲＯＭ書き戻しフラグをオンにセットし（フロー１４）、通常処理へ復帰する（フロー１６）。
【００２４】
図４のフローチャートを用いて、仮想ＦＤデータの退避処理を説明する。まず、メモリ展開された仮想ＦＤデータを、フラッシュＲＯＭ１０２に書き戻す要求が有るか否かを判定する（判定２１）。書き戻し要求が無ければ（判定２１：ノー）、仮想ＦＤの運用を終了する要求が有るか否かを判定する（判定２２）。終了要求が無ければ（判定２２：ノー）、ソフトウェア電源切断（ＤＣ−ＯＦＦ）又はリセット要求が有るか否かを判定する（判定２３）。電源切断要求及びリセット要求が無ければ（判定２３：ノー）、そのまま通常運用処理に復帰する（フロー２１）。
【００２５】
書き戻し要求があった場合（判定２１：イエス）、運用終了要求があった場合（判定２２：イエス）、若しくは、電源切断要求又はリセット要求があった場合には（判定２３：イエス）、フラッシュＲＯＭ書き戻しフラグがオンか否かを確認する（判定２４）。図３のフロー１４に示すように、メモリ展開された仮想ＦＤデータに変更があった場合には、フラッシュＲＯＭ書き戻しフラグがオンになっている。この書き戻しフラグのオンの検出をトリガーとして（判定２４：イエス）、フラッシュＲＯＭ１０２に格納された仮想ＦＤデータを、メモリ展開された仮想ＦＤデータで置き換える（フロー２２）。そして、仮想ＦＤデータの退避処理を終了する（フロー２１）。
【００２６】
本実施の形態におけるＢＩＯＳ１０２ａの実装により、物理的にＦＤドライブを準備できない環境でも、物理ＦＤによるＯＳ起動と同等の機能によってＯＳの起動及び操作が可能となる。従って、物理的なＦＤドライブを搭載していない最新のパソコン／サーバ環境でもＦＤ利用を想定したツール等を利用できるようになる。これにより、万が一ネットワークやＯＳ障害が発生しても、単体で診断ツールを実行できる。
【００２７】
また、フラッシュＲＯＭ１０２に格納した仮想ＦＤデータを固定利用するだけではなく、フラッシュＲＯＭ１０２への読み書きを、通常利用とネットワーク越しの利用との二通りの手段で行える。ネットワーク越しの利用により、他のパソコン／サーバから、最新の仮想ＦＤデータを取得できる。
【００２８】
また、出荷時から保守用ツールを格納した仮想ＦＤデータをフラッシュＲＯＭ１０２に格納しているので、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）の別パーティションに格納したり、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）等の別媒体で準備したりすることなく、付加価値の機能提供を実現できる。しかも、ネットワークを通じてメンテナンスすることで、常に最新版を配布できることから、コスト削減に貢献することも可能となる。
【００２９】
また、ローカルに物理的なＦＤデバイス（Ａ：ドライブ（若しくはＣ：ドライブ））が接続されていた場合、仮想ＦＤイメージはセカンダリＦＤドライブ扱い（Ｂ：ドライブ（若しくはＤ：ドライブ））で利用可能な機能を追加することもできる。この場合、物理的なＦＤデバイスに対するアクセスがあると、図３に示すように、仮想ＦＤハンドラによるハンドラ処理が不要と判定され（判定１１：ノー）、通常のＦＤハンドラ処理が実行される（フロー１５）。なお、仮想ＦＤと、ローカルな物理ＦＤとの間で、ファイルの移動やコピーが可能である。
【００３０】
また、ＰＯＳＴ実行中、ＢＩＯＳ独自のネットワークモジュールにてリモート接続されていた場合、ネットワークを介してネットワーク先のフラッシュＲＯＭにアクセスするインタフェース手段を備えることができる。これにより、ローカル／リモートに関わらず、仮想ＦＤデータの読み書きが実現可能である。よって、仮想ＦＤデータをフラッシュＲＯＭに格納する仕様であっても、物理的なフロッピー（登録商標）ディスクドライブを用いる場合と同等かそれ以上に利便性が高い機能を提供できる。
【００３１】
本実施の形態における第１の効果は、物理的にＦＤが無いコンピュータシステムでも、あたかもＦＤがあるのと同等に運用できることにある。その理由は、ＢＩＯＳの追加機能が仮想ＦＤを提供し、単体でＦＤ動作をエミュレーションすることが可能なためである。第２の効果は、フラッシュＲＯＭに格納された仮想ＦＤデータを、通常のＦＤと同様に、リムーバブルディスクとして、変更データを次回起動後も利用継続可能なことにある。その理由は、ＢＩＯＳの追加機能として、更新された仮想ＦＤデータを、フラッシュＲＯＭに書き戻す機能があるためである。第３の効果は、さまざまな装置コンフィグレーションツール等をリモート端末から実行指示可能なことにある。その理由は、ＢＩＯＳに、起動用の仮想ＦＤを、リモートから変更したり、引き取ったりする機能を追加したためである。
【００３２】
第４の効果は、低コスト化できる点にある。その理由は、フラッシュＲＯＭに仮想ＦＤデータを格納し、ＢＩＯＳにより仮想ＦＤを制御することで、必ずＦＤが搭載されるケースのみを想定すれば良いことと、その他の余計な追加ＨＷが不要なためである。第５の効果は、実ＦＤを搭載したケース以上に柔軟な利用方法を付加できる点にある。その理由は、ＢＩＯＳに、リモート端末から仮想ＦＤデータを置き換えることが可能な機能を追加し、運用によってリモート端末から起動用ユーティリティを切り替えることが可能なためである。第６の効果は、障害率を下げるものである。その理由は、モータを有する物理的なＦＤＤデバイスを必要とせず、ＢＩＯＳエミュレーションで仮想ＦＤを実現するため、故障リスクが極小となるためである。第７の効果は、昨今のレガシーインタフェースが排除されたチップセット（Ｃｈｉｐｓｅｔ）構成においても、継続して従来提供していたＦＤ利用の互換ソリューションを提供できることにある。その理由は、ＢＩＯＳにより生成される仮想ＦＤエミュレーション部は、ＯＳ上で動作するアプリケーションからは違いが無いようにＢＩＯＳで実装しているためである。
【００３３】
本発明は、より高度な保守性を必要とするが、最新のチップセット機能の仕様などを理由として、ＦＤをはじめとする旧式のインタフェースが実装されないハードウェア構成となってしまうＰＣ／サーバシステムにおいて適用できる。とりわけ、継続して旧ＦＤユニットを利用する必要のある環境を要求されるサーバ分野、今までの保守仕様を継続実装することが期待されるサーバ分野において有用である。
【図面の簡単な説明】
【００３４】
【図１】図１は、本発明の一つの実施の形態におけるエミュレーション方法を使用するコンピュータシステムを示す図である。
【図２】図２は、仮想ＦＤの起動方法について説明するフローチャートである。
【図３】図３は、仮想ＦＤのエミュレーション動作について説明するフローチャートである。
【図４】図４は、仮想ＦＤデータの退避処理を説明するフローチャートである。
【符号の説明】
【００３５】
１００  バス
１０１  プロセッサ
１０２  フラッシュＲＯＭ
１０２ａ  ＢＩＯＳ
１０３  ＣＭＯＳ
１０４  ＬＡＮインタフェース
１０５  表示装置
１０６  入力装置
１０７  メインメモリ
１０８  外部記憶装置
【図１】
0004858720.tif 000002
【図２】
0004858720.tif 000003
【図３】
0004858720.tif 000004
【図４】
0004858720.tif 000005