(57)【特許請求の範囲】
【請求項１】
ネットワークを介して外部サーバに接続されて、中央処理装置と、主記憶装置と、入出力装置とを少なくとも含む複数のハードウェアを備える計算機システムであって、
診断パスを介して前記各ハードウェアに接続されて、前記各ハードウェアの初期化を行う診断プロセッサ
を更に備え、
前記入出力装置は、
前記各ハードウェアの初期化後、且つ、ＯＳファイルのブートロード完了前の段階である場合に、前記各ハードウェアの初期化直後であると判定する初期化直後判定機能と、
前記初期化直後判定機能が初期化直後であると判定した場合に、当該計算機システムからのブートロード要求に応じて前記外部サーバから送信されたＯＳファイルのデータを、所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込んで、前記ＯＳファイルのブートロードを実行するブートロード実行機能と
を有し、
前記診断プロセッサは、前記ブートロードが完了した場合に、前記中央処理装置に割り込みをかけ、
前記中央処理装置は、前記診断プロセッサがかけた割り込みを受けて、前記主記憶装置にロードされたＯＳファイルを起動する計算機システム。
【請求項２】
当該診断プロセッサは、
前記ハードウェアの初期化後に、初期化後であることを示す値の初期化後フラグを設定するフラグ設定機能と、
前記ブートロード実行機能が前記主記憶装置に対する前記ＯＳファイルの書き込みを完了した場合に、前記フラグ設定機能が設定した初期化後フラグの値をリセットして、初期化後でないことを示す値に変更するリセット機能と
を有し、
前記初期化直後判定機能は、前記初期化後フラグが初期化後であることを示す値である場合に、初期化直後であると判定する
請求項１に記載の計算機システム。
【請求項３】
前記入出力装置は、
前記初期化後フラグの記憶領域
を更に有する請求項２に記載の計算機システム。
【請求項４】
前記ブートロード実行機能は、前記外部サーバから受信したＯＳファイルのデータを、前記入出力装置が保持する前記アドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込む
請求項１から３のいずれか一項に記載の計算機システム。
【請求項５】
前記入出力装置は、前記アドレス情報を、予め記憶保持している
請求項４に記載の計算機システム。
【請求項６】
前記入出力装置は、前記初期化後、且つ、前記ＯＳファイルのブートロードの開始前の段階において、前記アドレス情報を保持する
請求項４に記載の計算機システム。
【請求項７】
前記入出力装置は、前記アドレス情報を前記外部サーバから受信して、当該受信したアドレス情報を保持する
請求項６に記載の計算機システム。
【請求項８】
前記ブートロード実行機能は、前記アドレス情報を含むＯＳファイルのデータを受信し、
前記ブートロード実行機能は、前記外部サーバから受信したＯＳファイルのデータを、当該データに含まれるアドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込む
請求項１から３のいずれか一項に記載の計算機システム。
【請求項９】
前記診断プロセッサは、
前記外部サーバに対して前記ブートロード要求を送信する
請求項１から８のいずれか一項に記載の計算機システム。
【請求項１０】
複数の前記中央処理装置を備える
請求項１から９のいずれか一項に記載の計算機システム。
【請求項１１】
中央処理装置と、主記憶装置と、入出力装置とを少なくとも含む複数のハードウェアを備える計算機システムと、
ネットワークを介して前記計算機システムに接続される外部サーバと
を備え、
前記計算機システムは、
診断パスを介して前記各ハードウェアに接続されて、前記各ハードウェアの初期化を行う診断プロセッサ
を更に備え、
前記入出力装置は、
前記各ハードウェアの初期化後、且つ、ＯＳファイルのブートロード完了前の段階である場合に、前記ハードウェアの初期化直後であると判定する初期化直後判定機能と、
前記初期化直後判定機能が初期化直後であると判定した場合に、当該計算機システムからのブートロード要求に応じて前記外部サーバから送信されたＯＳファイルのデータを、所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込んで、前記ＯＳファイルのブートロードを実行するブートロード実行機能と
を有し、
前記診断プロセッサは、前記ブートロードが完了した場合に、前記中央処理装置に割り込みをかけ、
前記中央処理装置は、前記診断プロセッサがかけた割り込みを受けて、前記主記憶装置にロードされたＯＳファイルを起動するネットワークブートロードシステム。
【請求項１２】
前記診断プロセッサは、
前記ハードウェアの初期化後に、初期化後であることを示す値の初期化後フラグを設定するフラグ設定機能と、
前記主記憶装置に対する前記ＯＳファイルの書き込みが完了した場合に、前記フラグ設定機能が設定した初期化後フラグをリセットして、初期化後でないことを示す値に変更するリセット機能と
を有し、
前記初期化直後判定機能は、前記初期化後フラグが初期化後であることを示す状態の時に、初期化直後であると判定する
請求項１１に記載のネットワークブートロードシステム。
【請求項１３】
前記入出力装置は、
前記初期化後フラグの記憶領域
を更に有する
請求項１２に記載のネットワークブートロードシステム。
【請求項１４】
前記ブートロード実行機能は、前記外部サーバから受信したＯＳファイルのデータを、前記入出力装置が保持する前記アドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込む
請求項１１から１３のいずれか一項に記載のネットワークブートロードシステム。
【請求項１５】
前記入出力装置は、前記アドレス情報を、予め記憶保持している
請求項１４に記載のネットワークブートロードシステム。
【請求項１６】
前記ブートロード実行機能は、前記アドレス情報を含むＯＳファイルのデータを受信し、
前記ブートロード実行機能は、前記外部サーバから受信したＯＳファイルのデータを、当該データに含まれるアドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込む
請求項１１から１３のいずれか一項に記載のネットワークブートロードシステム。
【請求項１７】
複数の前記中央処理装置を備える
請求項１１から１６のいずれか一項に記載のネットワークブートロードシステム。
【請求項１８】
ネットワークを介して外部サーバに接続されて、中央処理装置と、主記憶装置と、入出力装置とを少なくとも含む複数のハードウェアを備える計算機システムがブートロードを行うブートロード方法であって、
前記各ハードウェアの初期化を行う第１の段階と、
前記各ハードウェアの初期化後、且つ、ＯＳファイルのブートロード完了前の段階である場合に、初期化直後であると判定する第２の段階と、
前記計算機システムからのブートロード要求に応じて前記外部サーバから送信されたＯＳファイルのデータを、前記入出力装置が受信する第３の段階と、
前記第２の段階において初期化直後であると判定された場合に、前記第３の段階において受信したＯＳファイルのデータを、前記入出力装置が所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込んで、前記ＯＳファイルのブートロードを実行する第４の段階と、
前記第４の段階においてブートロードが完了した場合に、診断プロセッサが前記中央処理装置に割り込みをかける第５の段階と、
前記第５の段階において前記診断プロセッサがかけた割り込みを受けて、前記中央処理装置が前記主記憶装置にロードされたＯＳファイルを起動する第６の段階と
を備えるブートロード方法。
【請求項１９】
前記第１の段階においてハードウェアが初期化された後に、初期化後であることを示す値の初期化後フラグを設定する第７の段階と、
前記主記憶装置に対する前記ＯＳファイルの書き込みが完了した場合に、前記第７の段階において設定された初期化後フラグの値をリセットして、初期化後でないことを示す値に変更する第８の段階と
を更に備え、
前記第２の段階においては、前記初期化後フラグが初期化後であることを示す値である場合に、初期化直後であると判定する
請求項１８に記載のブートロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法に関する。
【背景技術】
【０００２】
ネットワークを介して、計算機システムにＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）ファイルをブートロードする手法が知られている。
【０００３】
従来は、予め制御プログラム（ＢＩＯＳ）を格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を主記憶装置の所定の記憶領域にマッピングしておき、このＢＩＯＳがＯＳファイルのブートロードを行う方法や、診断プロセッサが診断パスを介してＯＳファイルのブートロードを行う方法が一般的である。
【０００４】
ネットワークを介したＯＳファイルのブートロードの手法を開示した先行技術文献としては、例えば、特許文献１がある。特許文献１の技術では、その図８などに示すように、ＮＢＰ（Ｎｅｔｗｏｒｋ  Ｂｏｏｔ  Ｐｒｏｇｒａｍ）が必要である。
【特許文献１】特開２００６−２５２１６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のネットワークを介したＯＳファイルのブートロードは、例えば特許文献１のように、ＮＢＰが必要であるという問題があった。
【０００６】
また、従来のＯＳファイルのブートロードは、診断パスを介して行っていたため、時間がかかるという問題があった。なぜなら、診断パスの使用目的は、計算機システムが備えるハードウェアの初期化などの限られた処理であり、通常の運用時用ではないため、性能よりも安定性や安価であることが求められ、運用で使うアクセスパスよりも転送速度が遅いことが一般的だからである。
【０００７】
更に、一般には、ブートの実行がＯＳ稼働前であるため、ブートの実行はＯＳによる計算機システムの初期設定が終わる前であり、ＣＰＵを複数備える計算機システムであっても、ブートを実行し、ＯＳが入出力装置を使用可能にするまでは１つのＣＰＵしか動作できないため、複数のＣＰＵを備える計算機システムの諸元を活用しきれないという問題があった。
【０００８】
本発明は、上記のような問題点を解決するためになされたもので、ＮＢＰを必要とせずにブートロードを行うことを可能とする計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の計算機システムは、プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムにおいて、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、当該計算機システムは、ＯＳファイルのブートロードを実行するブートロード実行機能と、当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、を備え、前記初期化直後判定機能は、前記ハードウェアの初期化後、且つ、前記ＯＳファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、前記ブートロード実行機能は、初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるＯＳファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴としている。
【００１０】
本発明のネットワークブートロードシステムは、プロセッサと、主記憶装置と、入出力装置と、を備える計算機システムと、ネットワークを介して前記計算機システムと接続される外部サーバと、を備え、前記計算機システムは、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、前記計算機システムは、ＯＳファイルのブートロードを実行するブートロード実行機能と、当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、を備え、前記初期化直後判定機能は、前記ハードウェアの初期化後、且つ、前記ＯＳファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、前記ブートロード実行機能は、初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるＯＳファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴としている。
【００１１】
本発明のブートロード方法は、プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムがブートロードを行う方法において、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む前記計算機システムを構成するハードウェアの各々の初期化を行う第１の過程と、前記ハードウェアの初期化後、且つ、前記ＯＳファイルのブートロード完了前の段階である場合に、初期化直後であると判定する第２の過程と、前記第２の過程により初期化直後であると判定された場合において、前記計算機システムからのブートロード要求に応じて前記外部サーバより送信されるＯＳファイルのデータを、前記入出力装置が受信する第３の過程と、前記第３の過程において受信したＯＳファイルのデータを、前記入出力装置が所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む第４の過程と、を備えることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、計算機システム内の各ハードウェアの初期化後に、入出力装置が外部サーバからネットワークを経由してＯＳファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って主記憶装置における所定の記憶領域に書き込むので、ＮＢＰが不要である。
【００１３】
また、計算機システム内の各ハードウェアの初期化後に、入出力装置が外部サーバからネットワークを経由してＯＳファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って主記憶装置における所定の記憶領域に書き込むので、一般的な構成の計算機システムの場合には、診断プロセッサが診断パスを経由して初期ブートローダを行ったり、診断プロセッサがＯＳファイルを主記憶装置に格納したりするよりも、高速にブートロードを完了することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明に係る実施形態について説明する。
【００１５】
〔第１の実施形態〕
図１は第１の実施形態に係る計算機システム１を含むネットワークブートロードシステム１００の構成を示すブロック図である。
【００１６】
図１に示すように、第１の実施形態に係るネットワークブートロードシステム１００は、計算機システム１と、この計算機システム１の外部に設けられた外部サーバ８と、この外部サーバ８に付属した記憶装置１２と、外部サーバ８と計算機システム１とを接続する診断用ネットワーク９及びＯＳ用ネットワーク１３と、を備えて構成されている。
【００１７】
診断用ネットワーク９及びＯＳネットワーク１３は、例えば、ＴＣＰ−ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いたネットワークであり、例えば、イーサネット（登録商標）であることが挙げられる。
【００１８】
計算機システム１は、図１に示すように、プロセッサとしての中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２と、主記憶装置（ＭＭＵ：Ｍａｉｎ  Ｍｅｍｏｒｙ  Ｕｎｉｔ）３と、システム制御装置（ＳＣＵ：Ｓｙｓｔｅｍ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４と、入出力装置（ＩＯＰ：Ｉ／Ｏ  Ｐｒｏｃｅｓｓｏｒ）５と、診断プロセッサ６と、診断パス７と、を備えている。
【００１９】
ＣＰＵ２は、ブートロード後において、ＯＳなどのＳＷプログラムによる各種の動作を行う。
【００２０】
本実施形態の場合、計算機システム１は、例えば、複数のＣＰＵ２を備えている。
【００２１】
ＳＣＵ４は、各装置２、３、５の相互間でのアドレッシングの中継などを行う。
【００２２】
ＩＯＰ５は、ＯＳ用ネットワーク１３を介して外部サーバ８と接続されている。
【００２３】
診断プロセッサ６は、計算機システム１内の各装置２，３，４，５とは専用の診断パス７を介して接続され、外部サーバ８とは診断用ネットワーク９を介して接続されている。
【００２４】
記憶装置１２は、オペレーティングシステム（ＯＳ）のファイル１１を格納している。
【００２５】
外部サーバ８は、記憶装置１２にアクセスしてＯＳファイル１１を取得し、該取得したＯＳファイル１１を計算機システム１に送付する機能を有する。
【００２６】
図２は、図１に示す各構成要素の詳細な構成を示すブロック図である。
【００２７】
図２に示すように、ＩＯＰ５は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）からなる第１制御メモリ５０Ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）からなる第２制御メモリ５０Ｂと、を備えている。
【００２８】
第１制御メモリ５０Ａは、ＩＯＰ５を制御するＦＷ（Ｆｉｒｍｗａｒｅ）であるＩＯＰ制御プログラム５１と、ＭＭＵ３が有する記憶領域のうちブートロードするＯＳファイル１１のデータを書き込む領域を指定するアドレステーブル５２と、を格納（記憶保持）している。
【００２９】
第２制御メモリ５０Ｂは、初期化後フラグ１０を格納（記憶保持）している。この初期化後フラグ１０は、各装置２，３，４，５を含む計算機システム１のハードウェアが初期化後かどうかを示すフラグである。
【００３０】
また、診断プロセッサ６も、該診断プロセッサ６の制御用のプログラムを格納した制御メモリ６０を有している。
【００３１】
この制御メモリ６０に格納されたプログラムには、例えば、ＣＰＵ通信機能用プログラム６１と、診断パス制御機能用プログラム６２と、装置アクセス機能用プログラム６３と、外部サーバ通信機能用プログラム６４と、が含まれている。
【００３２】
このうちＣＰＵ通信機能用プログラム６１は、診断プロセッサ６からＣＰＵ２に対して後述する割り込みをかける機能を制御するＦＷである。
【００３３】
診断パス制御機能用プログラム６２は、診断パス７を選択することによって、診断プロセッサ６からのアクセス先の装置（例えば、ＣＰＵ２、ＭＭＵ３、ＳＣＵ４、ＩＯＰ５の何れかなど）を切り換える機能を制御するＦＷである。
【００３４】
装置アクセス機能用プログラム６３は、診断パス制御機能用プログラム６２に従って選択された診断パス７を介して、診断プロセッサ６が各装置２，３，４，５に対してアクセスする機能を制御するＦＷである。
【００３５】
外部サーバ通信機能用プログラム６４は、診断プロセッサ６が外部サーバ８と通信する機能を制御するＦＷである。
【００３６】
次に、動作を説明する。
【００３７】
計算機システム１に電源が投入されると、診断プロセッサ６は、先ず、自身の初期化を行う。
【００３８】
診断プロセッサ６自身の初期化が正常に終了すると、診断プロセッサ６は、計算機システム１内の全装置（診断プロセッサ６を除く）の初期化を行う。
【００３９】
すなわち、診断プロセッサ６は、ＣＰＵ２、ＭＭＵ３、ＳＣＵ４及びＩＯＰ５を含む計算機システム１内の各ハードウェアの初期化を行う。
【００４０】
なお、初期化の動作は、当業者によく知られているため、その詳細な説明を省略する。
【００４１】
図３は第１の実施形態の場合におけるネットワークブートロードシステム１００の動作の流れを示すフローチャートである。
【００４２】
図３の動作は、診断プロセッサ６により、ＣＰＵ２、ＭＭＵ３、ＳＣＵ４及びＩＯＰ５を含む計算機システム１内の各ハードウェアの初期化が終了した時に開始される。
【００４３】
すなわち、診断プロセッサ６は、初期化が終了したか否かを監視し、終了したと判断すると、診断パス７を介して、ＩＯＰ５内の初期化後フラグ１０に初期化後であることを示す値（例えば、「１」）を設定する（ステップＳ１）。
【００４４】
続いて、診断プロセッサ６は、外部サーバ８に対してブートロード要求を送信する（ステップＳ２）。
【００４５】
このブートロード要求を受けた外部サーバ８は、記憶装置１２内のＯＳファイル１１のデータをＯＳ用ネットワーク１３を介してＩＯＰ５に送付する（ステップＳ３）。
【００４６】
なお、外部サーバ８は、ＯＳファイル１１を複数のデータに分割して、順次送信するように構成されており、ステップＳ３では、これら複数のデータ（以下、分割データ）を、最初の分割データから順番に、全て送信する。
【００４７】
ＯＳファイル１１の分割の仕方と、送信の順序とは、予め決められており、何番目に送信される分割データをＭＭＵ３におけるどのアドレスに記憶するのかについても、予め決められている。
【００４８】
続いて、ＩＯＰ５は、先ず、先のステップＳ２にて外部サーバ８が送付した分割データのうち、最初の分割データを受け取る（ステップＳ４）。なお、ＩＯＰ５は、外部サーバ８からデータを受け取ると、該データ受け取りの旨を外部サーバ８に通知する。
【００４９】
続いて、ＩＯＰ５は、初期化後フラグ１０を確認する（ステップＳ５）。
【００５０】
初期化後フラグ１０の設定内容が、初期化後を示す値（例えば、「１」）でなければ（ステップＳ５のＮｏ）、すなわち初期化後ではない旨を示す値（例えば、「０」）であれば、図３の処理を終了する。
【００５１】
また、初期化後フラグ１０の設定内容が、初期化後を示す値（例えば、「１」）であれば（ステップＳ５のＹｅｓ）、ＩＯＰ５は、アドレステーブル５２を参照する（ステップＳ６）。
【００５２】
ここで、アドレステーブル５２は、上記のように外部サーバ８から順次に送信されるＯＳファイル１１の各分割データと、各分割データをＭＭＵ３におけるどのアドレスの記憶領域に記憶させればよいかを指定するアドレス情報と、を対応付けて記憶したものである。
【００５３】
より詳細には、アドレステーブル５２は、分割データの数だけ、データエントリを有している。
【００５４】
例えば、ＯＳファイル１１が３つの分割データに分かれて送信されるものとすると、アドレステーブル５２は、３つのデータエントリからなる。
【００５５】
そして、各データエントリは、例えば、該当する分割データの送信順序と、該分割データをＭＭＵ３内のどのアドレスに記憶させればよいかを示すアドレス情報と、の対応付けを示す情報である。
【００５６】
従って、ＩＯＰ５は、例えば、外部サーバ８からＯＳファイル１１の分割データを受信するたびに、その分割データを受信した順番と対応するデータエントリを参照することによって、その分割データと対応するアドレス情報を抽出でき、該抽出したアドレス情報に従って、該分割データをＭＭＵ３における所定のアドレスに記憶させることができる。よって、ＩＯＰ５は、例えば、１番目の分割データを受信したときには、アドレステーブル５２における１番目のデータエントリを参照することによって、１番目の分割データと対応するアドレス情報を抽出することができる。よって、ＩＯＰ５は、当該分割データをＭＭＵ３におけるどのアドレスに記憶させればよいかを認識でき、該認識したアドレスに該分割データを記憶させることができる。
【００５７】
続いて、ＩＯＰ５は、ＭＭＵ３が有する記憶領域のうちアドレステーブル５２によって指定されているアドレスに、先のステップＳ３にて受け取った分割データを書き込む（ステップＳ７）。
【００５８】
このように、本実施形態では、初期化直後の場合は、ＣＰＵ２からの命令によってＩＯＰ５内に設定されたデータ転送先のアドレスではなく、ＩＯＰ５内のアドレステーブル５２により指定されるＭＭＵ３内の所定のアドレスに、受け取ったデータを書き込む。
【００５９】
ここで、ＩＯＰ５は、分割データをＭＭＵ３に書き込むたびに、当該分割データと対応するアドレステーブル５２内のデータエントリを処理済みと認識する。よって、ＩＯＰ５は、アドレステーブル５２に含まれる各データエントリのうち何れが「処理済み」でないかを判定することにより、ＭＭＵ３への書き込みが未了の分割データが存在するか否かを認識することができるようになっている。
【００６０】
なお、ＩＯＰ５が、アドレステーブル５２内のデータエントリを処理済みと認識する手法としては、処理済みのデータエントリに対し、「処理済み」のフラグを設定することが挙げられる。この場合、ＩＯＰ５は、アドレステーブル５２に含まれる各データエントリのうち、未だに「処理済み」のフラグが設定されていないデータエントリの有無を判定することにより、ＭＭＵ３への書き込みが未了となっているデータの有無を認識することができるようになっている。
【００６１】
すなわち、ステップＳ７に続くステップＳ８では、ＩＯＰ５は、ＭＭＵ３へのデータ書き込みが未了となっているデータエントリがアドレステーブル５２内に存在しているか否かを判定する。
【００６２】
存在していれば（ステップＳ８のＹｅｓ）、順次、外部サーバ８から送られるデータを受け取り（ステップＳ４）、該データをMMU３に書き込む処理（ステップＳ６、Ｓ７）を繰り返す。
【００６３】
この場合、外部サーバ８は、ＯＳファイル１１の全ての分割データを順次にＩＯＰ５側に送信することを、（ＩＯＰ５側で分割データを受け取ったか否かにかかわらず）一旦は行う。また、上述のように、ＩＯＰ５側では、受け取った分割データについては、受け取りの旨を外部サーバ８に対して通知する。そして、外部サーバ８は、各分割データの送付後、所定時間内にＩＯＰ５からデータ受け取りの旨の通知を受けなければ、該当する分割データの送付エラーと判断し、該当する分割データを再度ＩＯＰ５に送付する。
【００６４】
また、ＭＭＵ３へのデータ書き込みが未了となっているデータエントリがアドレステーブル５２内に存在しなければ、すなわち、ＭＭＵ３にＯＳファイル１１の全ての分割データを書き込み終えたら（ステップＳ８のＮｏ）、ＩＯＰ５は、その旨（テーブル完了の旨）を診断プロセッサ６に通知する（ステップＳ９）。
【００６５】
診断プロセッサ６は、ＩＯＰ５からテーブル完了の旨の通知を受けると、ＩＯＰ５内の初期化後フラグ１０をリセットする。すなわち、ＩＯＰ５は、初期化後フラグ１０の値を、初期化後であることを示す値から、初期化後ではないことを示す値（例えば、「０」）に書き換える（ステップＳ１０）。
【００６６】
続いて、診断プロセッサ６は、初期化後フラグ１０のリセットをもってブートロード完了と判断し、ＣＰＵ２に割込みをかける（ステップＳ１１）。
【００６７】
この割り込みを契機として、制御の主体が診断プロセッサ６からＣＰＵ２に渡り、ＣＰＵ２は、MMU３にロードされたＯＳファイル１１を起動する。これにより、通常処理が開始される。
【００６８】
すなわち、先ず、ＭＭＵ３にロードされたＯＳファイル１１に従って、ＣＰＵ２やＩＯＰ５などのハードウェアをＯＳが使用可能にするための初期設定（初期化ではない）が行われる。
【００６９】
そして、この初期設定によるメモリ空間やプロセス情報などの設定後の入出力装置の探索や組み込み処理を、複数のＣＰＵ２により実行できるようになるため、ＯＳがレディになる前から、速やかにマルチプロセッサでの動作に移行させることができるので、複数のＣＰＵ２を備えた計算機システム１の諸元を活用できる。
【００７０】
なお、ブートロード実施中ではない状態でのＩＯＰ５などの機能は、当業者によく知られており、また本実施形態とは直接関係しないので、その詳細な説明を省略する。
【００７１】
以上のような第１の実施形態によれば、計算機システム１に含まれる各ハードウェア（ＣＰＵ２、ＭＭＵ３、ＳＣＵ４、ＩＯＰ５など）の初期化後に、ＩＯＰ５が外部サーバ８からＯＳファイル１１のデータを受信し、該受信したデータをＩＯＰ５が直接ＭＭＵ３にブートロードするので、ＮＢＰが不要である。よって、「ＮＢＰ実行による処理でコンピュータの実行速度が遅く、ベンダにとって開発コストが大きくなる」という問題を解消することができる。
【００７２】
また、計算機システム１に含まれる各ハードウェア（ＣＰＵ２、ＭＭＵ３、ＳＣＵ４、ＩＯＰ５など）の初期化後に、ＩＯＰ５が外部サーバ８からＯＳファイル１１のデータを受信し、該受信したデータをＩＯＰ５が直接ＭＭＵ３にブートロードするので、一般的な構成の計算機システム１の場合に、診断プロセッサ６が診断パス７を経由して初期ブートローダを行ったりＯＳファイル１１をＭＭＵ３に格納したりするよりも高速にブートロードを完了することができる。なぜなら、診断パス７の使用目的は、計算機システム１が備えるハードウェアの初期化などの限られた処理であり、通常の運用時用ではないため、性能よりも安定性や安価であることが求められ、運用で使うアクセスパスよりも転送速度が遅いことが一般的だからである。
【００７３】
また、ＭＭＵ３上に展開したＯＳファイル１１に従って、ＣＰＵ２やＩＯＰ５を含む各ハードウェアの初期設定を完了した後は、ＩＯＰ５から先に接続されている入出力装置の探索や組み込み処理を複数のＣＰＵ２により実行できる（マルチプロセッサで実行できる）ようになる。このため、ＯＳがレディになる前から、速やかにマルチプロセッサでの実行に移行し、複数のＣＰＵ２を備えた計算機システム１の諸元を活用できるという効果が得られる。
【００７４】
〔第２の実施形態〕
上記の第１の実施形態では、アドレステーブル５２が予めＩＯＰ５内に格納されている例を説明したが、第２の実施形態では、初期化時に、アドレステーブル５２をＩＯＰ５に書き込む例を説明する。
【００７５】
図４及び図５は、第２の実施形態の場合の計算機システム１を含むネットワークブートロードシステム１００の構成を示すブロック図であり、このうち図４はＩＯＰ５に対してアドレステーブル５２を書き込む前の状態を示し、図５はＩＯＰ５に対してアドレステーブル５２を書き込んだ後の状態を示す。
【００７６】
本実施形態の場合、サーバ８の記憶装置１２に、アドレステーブル８１が記憶保持されている。
【００７７】
そして、本実施形態では、初期化後のブートロードを行うに際し、アドレステーブル８１をＩＯＰ５の第２制御メモリ５０Ｂ（上述のように、例えば、ＲＡＭからなる）にアドレステーブル５２として書き込む。
【００７８】
本実施形態では、その書き込み後、該書き込まれたアドレステーブル５２に従って、ＯＳファイル１１の各データをＭＭＵ３に記憶させるように、ネットワークブートロードシステム１００は動作する。
【００７９】
従って、本実施形態の場合、当初は、図４に示すように、ＩＯＰ５内にはアドレステーブル５２が記憶保持されていない。
【００８０】
そして、初期化後のブートロードを行うに際し、アドレステーブル８１をＩＯＰ５の第２制御メモリ５０Ｂにアドレステーブル５２として書き込むことにより、図５に示すように、第２制御メモリ５０Ｂ内にアドレステーブル５２が記憶保持された状態となる。
【００８１】
次に、本実施形態の場合の動作を説明する。
【００８２】
本実施形態の場合も、計算機システム１に電源が投入されると、診断プロセッサ６は、自身の初期化を行う。そして、診断プロセッサ６自身の初期化が正常に終了すると、診断プロセッサ６は、計算機システム１内の全装置（診断プロセッサ６を除く）の初期化を行う。
【００８３】
図６は第２の実施形態の場合におけるネットワークブートロードシステム１００の動作の流れを示すフローチャートである。
【００８４】
本実施形態の場合も、図６の動作は、診断プロセッサ６により、ＣＰＵ２、ＭＭＵ３、ＳＣＵ４及びＩＯＰ５を含む計算機システム１内の各ハードウェアの初期化が終了した時に開始される。
【００８５】
すなわち、診断プロセッサ６は、初期化が終了したか否かを監視し、終了したと判断すると、診断パス７を介してＩＯＰ５の初期化後フラグ１０に初期化後であることを示す値（例えば、「１」）を設定する（ステップＳ１）。
【００８６】
続いて、診断プロセッサ６は、外部サーバ８に対してブートロード要求を送信する（ステップＳ２）。
【００８７】
本実施形態の場合、このブートロード要求を受けた外部サーバ８は、記憶装置１２内のアドレステーブル８１のデータをＯＳ用ネットワーク１３を介してＩＯＰ５に送付する（ステップＳ２１）。
【００８８】
続いて、ＩＯＰ５は、外部サーバ８から送付されたアドレステーブル８１のデータを受信する（ステップＳ２２）。
【００８９】
続いて、ＩＯＰ５は、初期化後フラグ１０を確認する（ステップＳ２３）。
【００９０】
初期化後フラグ１０の設定内容が、初期化後を示す値（例えば、「１」）でなければ（ステップＳ２３のＮｏ）、図６の処理を終了する。
【００９１】
また、初期化後フラグ１０の設定内容が、初期化後を示す値（例えば、「１」）であれば（ステップＳ２３のＹｅｓ）、ＩＯＰ５は、先のステップＳ２２にて受信したアドレステーブル８１のデータを、アドレステーブル５２として第２制御メモリ５０Ｂに書き込む（ステップＳ２４）。
【００９２】
続いて、外部サーバ８は、上記の第１の実施形態と同様に、記憶装置１２内のＯＳファイル１１のデータをＯＳ用ネットワーク１３を介してＩＯＰ５に送付する（ステップＳ３）。
【００９３】
ステップＳ３以降の処理は、上記の第１の実施形態と同様であるので、説明を省略する。
【００９４】
以上のような第２の実施形態によれば、アドレステーブル５２を予めＩＯＰ５内に固定的に格納するのではなく、初期化後にブートロードを実行するに際し、外部サーバ８から受信して第２制御メモリ５０Ｂ内に書き込むようにしたので、外部サーバ８の記憶装置１２に記憶するアドレステーブルを適宜に変更することにより、ＩＯＰ５に書き込まれるアドレステーブルも適宜に変更することができる。
【００９５】
具体的には、例えば、アドレステーブル５２は、単に、ＭＭＵ３内におけるＯＳファイル１１の記憶領域を指定するだけでなく、試験診断プログラムなどをＭＭＵ３内におけるどの記憶領域に記憶させれば良いかを指定するようにできる。よって、多種のプログラムをＭＭＵ３にブートロードできるようになる。
【００９６】
具体的には、例えば、ＯＳファイル１１のみをブートロードする場合には、ＯＳファイル１１の記憶領域のみを指定するアドレステーブル８１を外部サーバ８の記憶装置１２に記憶しておけばよく、ＯＳファイル１１の他に試験診断プログラムをブートロードする場合には、ＯＳファイル１１とＯＳファイル１１の記憶領域のみを指定するアドレステーブル８１の他に、試験診断プログラムを格納したファイルと、試験診断プログラムの記憶領域を指定する別のアドレステーブルを外部サーバ８の記憶装置１２に記憶しておけばよい。
【００９７】
なお、上記の各実施形態では、計算機システム１が複数のＣＰＵ２を備える例を説明したが、本発明は、この例に限らず、計算機システム１がＣＰＵ２を１つだけ備える構成にも適用できる。
【００９８】
また、上記の各実施形態では、ＩＯＰ５と外部サーバ８とを接続するネットワークがイーサネットである例を説明したが、この例に限らず、診断用ネットワーク９及びＯＳネットワーク１３には、ｉｎｆｉｎｉｂａｎｄやインターコネクトを適用しても良い。
【００９９】
また、上記の第２の実施形態では、アドレステーブル５２をＩＯＰ５が自身の内部に格納する例を説明したが、診断プロセッサ６が外部サーバ８からアドレステーブル８１を受け取り、該受け取ったアドレステーブル８１を診断プロセッサ６がアドレステーブル５２としてＩＯＰ５の第２制御メモリ５０Ｂに書き込むようにしても良い。
【０１００】
また、アドレステーブル５２を初期化時に書き込む場合に、そのアドレステーブル（アドレステーブル８１）を外部サーバ８から受け取る例を説明したが、診断プロセッサ６がアドレステーブル８１を予め記憶保持しておき、該アドレステーブル８１を初期化時にアドレステーブル５２としてＩＯＰ５の第２制御メモリ５０Ｂに書き込むようにしても良い。
【０１０１】
また、上記の各実施形態では、アドレス情報をアドレステーブル５２としてＩＯＰ５に記憶させる例を説明したが、該アドレステーブル５２は、ＳＣＵ４に記憶させても良い。この場合、ＩＯＰ５は、外部サーバ８より受信したＯＳファイル１１のデータを、ＳＣＵ４に記憶されたアドレステーブル５２に従って、ＭＭＵ３における所定の記憶領域に記憶させる動作を行う。
【０１０２】
また、上記の各実施形態では、アドレス情報は、アドレステーブル５２としてＩＯＰ５に記憶させる例を説明したが、アドレス情報は、外部サーバ８から送付されるＯＳファイル１１のデータ（例えば、分割データ）のヘッダに記載しても良い。この場合、ＩＯＰ５は、外部サーバ８から送付されるＯＳファイル１１のデータのヘッダ部分に記載されたアドレス情報を参照することにより、当該データをＭＭＵ３におけるどの記憶領域に記憶させればよいかを認識でき、該認識した記憶領域にデータを書き込むことができる。また、この場合、ＩＯＰ５におけるアドレステーブル５２は不要となる。
【０１０３】
また、上記の実施形態では、計算機システム１がＳＣＵ４を備える例を説明したが、ＳＣＵ４を備えずに構成された計算機システム１の場合は、当然、その初期化も必要がない。
【０１０４】
また、上記の各実施形態では、プロセッサがＣＰＵである例を説明したが、プロセッサは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）など、その他のものであっても良い。
【０１０５】
また、上記の各実施形態では、ＯＳファイル１１を複数の分割データに分割して外部サーバ８から送付し、各分割データをそのアドレス情報に従ってＭＭＵ３に記憶させる例を説明したが、ＯＳファイル１１のデータ量が小さい、或いは、ＩＯＰ５などの処理能力が大きければ、ＯＳファイル１１の全体のデータをまとめて外部サーバ８から送付し、該データをそのアドレス情報に従ってＭＭＵ３に記憶させれば良い。
【０１０６】
また、上記の各実施形態では、記憶装置１２が外部サーバ８の外部に設けられている例を説明したが、記憶装置１２は外部サーバ８の内部構成としても良いのは勿論である。
【図面の簡単な説明】
【０１０７】
【図１】第１の実施形態に係る計算機システムを含むネットワークブートロードシステムの構成を示すブロック図である。
【図２】図１に示す各構成要素の詳細な構成を示すブロック図である。
【図３】第１の実施形態の場合におけるネットワークブートロードシステムの動作の流れを示すフローチャートである。
【図４】第２の実施形態の場合の計算機システムを含むネットワークブートロードシステムの構成のブロック図であり、特に、ＩＯＰにアドレステーブルを書き込む前の状態を示す。
【図５】第２の実施形態の場合の計算機システムを含むネットワークブートロードシステムの構成のブロック図であり、特に、ＩＯＰにアドレステーブルを書き込んだ後の状態を示す。
【図６】第２の実施形態の場合におけるネットワークブートロードシステムの動作の流れを示すフローチャートである。
【符号の説明】
【０１０８】
１  計算機システム
２  中央処理装置（ＣＰＵ）
３  主記憶装置（ＭＭＵ）
４  システム制御装置（ＳＣＵ）
５  入出力装置（ＩＯＰ）
６  診断プロセッサ
７  診断パス
８  外部サーバ
９  診断用ネットワーク
１０  IOP内部の初期化後フラグ
１１  オペレーティングシステムのファイル
１２  記憶装置
１３  計算機システムと外部サーバを接続するＯＳ用ネットワーク
５０Ａ  IOP内の第１制御メモリ
５０Ｂ  IOP内の第２制御メモリ
５１  ＩＯＰを制御するＦＷ
５２  IOPの制御メモリに保持するアドレステーブル（アドレス情報）
６０  診断プロセッサ用ＦＷを格納するための制御メモリ
６１  ＣＰＵ通信機能用プログラム
６２  診断パス制御機能用プログラム
６３  装置アクセス機能用プログラム
６４  サーバ通信機能用プログラム
８１  ブートロードする領域を指定するアドレステーブル（アドレス情報）のファイル
１００  ネットワークブートロードシステム
【図１】
0004985483.tif 000002
【図２】
0004985483.tif 000003
【図３】
0004985483.tif 000004
【図４】
0004985483.tif 000005
【図５】
0004985483.tif 000006
【図６】
0004985483.tif 000007