(57)【要約】【課題】  カスタマイズ設定を保持したまま異常の生じた周辺装置の初期化処理をスキップしてコンピュータのオペレーティング・システムを適切に起動させる。【解決手段】  初期化処理が正常に終了しなかった周辺装置Ｍ（ｉ）に対応する初期化対象特定パラメータＦ（ｉ）の値を初期化処理の非実行を示す値１に書き換え、再起動後に行われる次回の初期化処理の実行対象から除外する。異常が生じた周辺装置Ｍ（ｉ）の初期化処理をスキップすることでエラーの発生が防止され、コンピュータのオペレーティング・システムを適切に起動できるようになる。【選択図】図３
2014106772.tif 000002
【特許請求の範囲】
【請求項１】
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段と、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記コンピュータのオペレーティング・システムの起動を許容する初期化処理実行手段と、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段とを備えたことを特徴とするコンピュータ起動システム。
【請求項２】
前記パラメータ書換手段は、前記初期化処理実行手段による初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、前記初期化処理実行手段による初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えるように構成されていることを特徴とした請求項１記載のコンピュータ起動システム。
【請求項３】
前記周辺装置がＵＳＢ機器であって、前記初期化候補特定パラメータはＵＳＢ機器のポート名称であることを特徴とした請求項１または請求項２のうち何れか一項に記載のコンピュータ起動システム。
【請求項４】
前記コンピュータ起動システムがベイシック・インプット・アウトプット・システムに組み込まれ、前記パラメータ記憶手段は前記コンピュータのベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリによって構成されていることを特徴とした請求項１，請求項２または請求項３のうち何れか一項に記載のコンピュータ起動システム。
【請求項５】
コンピュータのマイクロプロセッサを、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記コンピュータのオペレーティング・システムの起動を許容する初期化処理実行手段、および、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段として機能させることを特徴とするコンピュータ起動プログラム。
【請求項６】
前記パラメータ書換手段は、前記初期化処理実行手段による初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、前記初期化処理実行手段による初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えるように構成されていることを特徴とした請求項５記載のコンピュータ起動プログラム。
【請求項７】
前記周辺装置がＵＳＢ機器であって、前記初期化候補特定パラメータはＵＳＢ機器のポート名称であることを特徴とした請求項５または請求項６のうち何れか一項に記載のコンピュータ起動プログラム。
【請求項８】
請求項５，請求項６または請求項７のうち何れか一項に記載のコンピュータ起動プログラムがベイシック・インプット・アウトプット・システムのリード・オンリー・メモリのブートブロックに格納されると共に、前記パラメータ記憶手段が前記ベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリによって構成されていることを特徴としたコンピュータ。
【請求項９】
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとをコンピュータのパラメータ記憶手段に予め不揮発的に記憶させておき、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、
その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えてからコンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行し、
初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると、前記コンピュータのオペレーティング・システムの起動を許容することを特徴としたコンピュータ起動方法。
【請求項１０】
初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えることを特徴とした請求項９記載のコンピュータ起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ起動システムおよびコンピュータ起動プログラムとコンピュータならびにコンピュータ起動方法に関する。
【背景技術】
【０００２】
予め設定された順序に従ってコンピュータの起動時に周辺装置の初期化処理を実行し、初期化処理の対象とされた全ての周辺装置の初期化処理が正常に終了した場合にはコンピュータのオペレーティング・システム（以下、ＯＳという）を起動する一方、何れかの初期化処理が正常に終了しなかった場合にはコンピュータを再起動して周辺装置の初期化処理を繰り返し実行するようにしたコンピュータ起動システムが既にベイシック・インプット・アウトプット・システム（以下、ＢＩＯＳという）として公知である。
【０００３】
また、ＢＩＯＳによる周辺装置の初期化処理の失敗に伴うコンピュータの再起動や初期化処理の無意味な繰り返しを防止するための技術としては、特許文献１に開示される起動プログラムや特許文献２に開示される起動制御方法が提案されている。
【０００４】
特許文献１に開示される起動プログラムは、ＢＩＯＳの起動時におけるチェックサムエラーが検出された場合にＢＩＯＳの設定を初期化してコンピュータを再起動することによって再度のエラーの発生を防止し、コンピュータのＯＳを正常に起動させるようにしたものである。
このような構成を適用した場合、初期化処理の対象とする周辺装置や初期化処理の実行の順序等に関連するカスタマイズ設定が全てデフォルトの状態に戻されるので、不適切なカスタマイズ設定による障害が解消され、コンピュータの再起動後に再びエラーが発生するといった問題は改善されるが、ユーザのカスタマイズ設定が完全に無視される結果、初期化処理の対象とすべき周辺装置が初期化されなくなったり初期化処理の実行順序等に変化が生じたりするといった不都合がある。
【０００５】
特許文献２に開示される起動制御方法は、初期化プログラムを格納した第一のリード・オンリー・メモリ（以下、ＲＯＭという）と障害復旧用の初期化プログラムを格納した第二のリード・オンリー・メモリとを配置し、第一のリード・オンリー・メモリに格納された初期化プログラムによる初期化処理が失敗した場合に第二のリード・オンリー・メモリに格納された障害復旧用の初期化プログラムを選択してコンピュータを再起動し、再起動の時点て障害復旧用の初期化プログラムを実行することによって再度のエラーの発生を防止し、コンピュータのＯＳを正常に起動させるようにしたものである。
ＢＩＯＳの設定をデフォルトの状態に初期化するとした前述の起動プログラムと比較すると、初期化処理が失敗した際に通常の初期化プログラムに代えて障害復旧用の初期化プログラムを利用する点で相違するが、この起動制御方法は２つのリード・オンリー・メモリを必要とすることからコンピュータの製造コストが割高となる不都合がある。
【０００６】
また、複数のマイクロプロセッサを有する情報処理差装置において、情報処理装置の稼動中に致命的なエラーを発生したマイクロプロセッサのＩＤをソフトウェアハンドラにより取得し、このＩＤに対応するフラグ（ビット）を不揮発性メモリにセットして、ＢＩＯＳとは独立して機能するソフトウェアハンドラによりシステムをシャットダウンさせて情報処理装置を再起動することにより、致命的なエラーを発生したマイクロプロセッサをシステムから切り離して縮退運転を行なうようにした情報処理装置が特許文献３として開示されている。
しかし、ソフトウェアハンドラはＯＳの配下で機能するものであるから、ＯＳが正常に起動された後の状態、つまり、情報処理装置の稼動中でなければマイクロプロセッサのエラーを検出したりフラグをセットしたりすることはできない。従って、このような技術をＯＳが立ち上がる前の初期化処理に転用することはできない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−８１６１７号公報（段落００１１，００１８，００２６）
【特許文献２】特開２００７−１７２０９６号公報（段落００１８）
【特許文献３】特開２０００−３２２３９７号公報（段落０００５，０００９，００１０〜００１８）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、オペレーティング・システムの起動前に行われる周辺装置の初期化処理の過程で異常が生じた場合であっても、再起動に際して初期化処理の対象とする周辺装置や初期化処理の実行順序等に関連したカスタマイズ設定を保持したまま異常の生じた周辺装置の初期化処理をスキップして他の周辺装置の初期化処理を実行し、コンピュータのオペレーティング・システムを適切に起動させることのできるコンピュータ起動システムおよびコンピュータ起動プログラムとコンピュータならびにコンピュータ起動方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のコンピュータ起動システムは、前記目的を達成するため、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段と、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記コンピュータのオペレーティング・システムの起動を許容する初期化処理実行手段と、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段とを備えたことを特徴とする構成を有する。
【００１０】
また、本発明のコンピュータ起動プログラムは、前記目的を達成するため、コンピュータのマイクロプロセッサを、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記コンピュータのオペレーティング・システムの起動を許容する初期化処理実行手段、および、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段として機能させることを特徴とする構成を有する。
【００１１】
また、本発明のコンピュータは、前記目的を達成するため、前記コンピュータ起動プログラムがベイシック・インプット・アウトプット・システムのリード・オンリー・メモリのブートブロックに格納されると共に、前記パラメータ記憶手段が前記ベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリによって構成されていることを特徴とする構成を有する。
【００１２】
本発明のコンピュータ起動方法は、前記目的を達成するため、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとをコンピュータのパラメータ記憶手段に予め不揮発的に記憶させておき、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、
その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えてからコンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行し、
初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると、前記コンピュータのオペレーティング・システムの起動を許容することを特徴とした構成を有する。
【発明の効果】
【００１３】
本発明のコンピュータ起動システムおよびコンピュータ起動プログラムとコンピュータならびにコンピュータ起動方法は、パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ初期化処理を実行し、初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、初期化処理が正常に終了しなかった場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換える。
従って、初期化処理が正常に終了しなかった周辺装置すなわち異常が生じた周辺装置のみがコンピュータの再起動後に行われる次回の初期化処理の実行対象から除外されることになり、他の周辺装置に関しては、初期化処理の対象とする周辺装置や初期化処理の実行順序等に関連したカスタマイズ設定を其のまま保持することができるので、再起動後に実行される初期化処理において、異常が生じた周辺装置の初期化処理をスキップして他の周辺装置の初期化処理を適切に実行し、コンピュータのオペレーティング・システムを適切に起動させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明を適用した一実施形態のコンピュータ起動システムの構成について簡略化して示した機能ブロック図である。
【図２】同実施形態のコンピュータ起動システムを備えたコンピュータの構成を簡略化して示したブロック図である。
【図３】同実施形態におけるコンピュータ起動プログラムの構成の概略を示したフローチャートである。
【図４】同実施形態のパラメータ記憶手段に設けられたパラメータ記憶テーブルの論理構造を初期状態で示した概念図である。
【図５】同実施形態のパラメータ記憶手段に設けられたパラメータ記憶テーブルの論理構造について、第２アドレスに登録された周辺装置の初期化に不都合が生じた状態で示した概念図である。
【図６】同実施形態のパラメータ記憶手段に設けられたパラメータ記憶テーブルの論理構造について、第２アドレスに登録された周辺装置と第ｎアドレスに登録された周辺装置の初期化に不都合が生じた状態で示した概念図である。
【発明を実施するための形態】
【００１５】
次に、本発明を実施するための形態について図面を参照して具体的に説明する。
【００１６】
図１は本発明を適用した一実施形態のコンピュータ起動システムの構成について簡略化して示した機能ブロック図である。
【００１７】
このコンピュータ起動システムＡは、０≦ｉ≦ｎの範囲にある整数ｉで表され、初期化処理を実行すべき周辺装置として設定されたｎ＋１個の周辺装置Ｍ（ｉ）の各々を特定する初期化候補特定パラメータ＃（ｉ）と周辺装置Ｍ（ｉ）の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータＦ（ｉ）とを不揮発的に記憶するパラメータ記憶手段Ｂを備える。
【００１８】
また、コンピュータ起動システムＡは、パラメータ記憶手段Ｂに記憶された初期化候補特定パラメータ＃（ｉ）に対応する周辺装置Ｍ（ｉ）のうち、対応する初期化対象特定パラメータＦ（ｉ）の設定が初期化処理の実行を示す値０となっている周辺装置Ｍ（ｉ）に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置Ｍ（ｉ）の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータＦ（ｉ）の設定が初期化処理の実行を示す値０となっている周辺装置Ｍ（ｉ）に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置Ｍ（ｉ）の初期化処理の完了を検知するとオペレーティング・システムの起動を許容する初期化処理実行手段Ｃを備える。
但し、初期化処理の対象とされている最後の周辺装置Ｍ（ｉ）が周辺装置Ｍ（ｎ）であるとは限らない。初期化処理の実行順序はユーザによるカスタマイズが可能であるから、周辺装置Ｍ（ｎ）の初期化処理の実行順序が最下位に設定されているという保証はなく、また、仮に周辺装置Ｍ（ｎ）の初期化処理の実行順序が最下位に設定されていたとしても、周辺装置Ｍ（ｎ）に対応する初期化対象特定パラメータＦ（ｎ）に初期化処理の非実行を示す値１が設定されていれば、周辺装置Ｍ（ｎ）は初期化処理の対象から外されるからである。
【００１９】
コンピュータ起動システムＡは、更に、初期化処理実行手段Ｃによる１つの周辺装置Ｍ（ｉ）の初期化処理が正常に終了した場合に、この周辺装置Ｍ（ｉ）に対応する初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０に保持する一方、初期化処理実行手段Ｃによる１つの周辺装置Ｍ（ｉ）の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置Ｍ（ｉ）に対応する初期化対象特定パラメータＦ（ｉ）の値を初期化処理の非実行を示す値１に書き換えるパラメータ書換手段Ｄを備える。
【００２０】
この実施形態にあっては周辺装置Ｍ（ｉ）は何れもＵＳＢ機器であり、ＵＳＢ機器Ｍ（ｉ）の各々を特定する初期化候補特定パラメータ＃（ｉ）としては、ＵＳＢ機器Ｍ（ｉ）を接続したポートのポート名称＃（ｉ）が利用されている。
【００２１】
図２はコンピュータ起動システムＡを備えたコンピュータの構成を簡略化して示したブロック図である。
【００２２】
このコンピュータ１は、演算処理用のマイクロプロセッサ２と、コンピュータ１の起動や其のＯＳの起動に必要とされるＢＩＯＳプログラム等を格納したＲＯＭ３、および、ＢＩＯＳが利用する各種のパラメータ等を不揮発的に記憶するＣＭＯＳメモリ４と、ＯＳやアプリケーション・プログラムの展開さらには演算データの一時記憶等に利用されるランダム・アクセス・メモリ５（以下、ＲＡＭ５という）、ならびに、ＯＳやアプリケーション・プログラムおよび各種のデータ等を格納する大容量記憶装置として機能するハードディスクドライブ６と、０≦ｉ≦ｎの範囲にある整数ｉで表されるｎ＋１個のＵＳＢ機器Ｍ（ｉ）を始めとする各種の周辺装置やネットワーク等に接続するための入出力インターフェイス７を備え、マイクロプロセッサ２の入出力回路８には、マン・マシン・インターフェイスとして機能するキーボード９やマウス１０およびディスプレイ１１とプリンタ１２等が接続されている。
【００２３】
ＢＩＯＳプログラムはＲＯＭ３のブートブロックに格納され、ＢＩＯＳプログラムの一部として、図３に示されるようなコンピュータ起動プログラムが書き加えられている（図３はＢＩＯＳプログラムの全貌を示すものではない）。
【００２４】
ＣＭＯＳメモリ４は図１におけるパラメータ記憶手段Ｂとして機能するもので、このＣＭＯＳメモリ４には、初期化処理を実行すべき周辺装置として設定されたｎ＋１個のＵＳＢ機器Ｍ（ｉ）の各々を特定する初期化候補特定パラメータ＃（ｉ）つまりＵＳＢ機器Ｍ（ｉ）を接続した入出力インターフェイス７のポート名称＃（ｉ）と、このポートに接続されたＵＳＢ機器Ｍ（ｉ）に対して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータＦ（ｉ）の値つまり０または１とが対応して不揮発的に記憶されている。
既に述べた通り、０は初期化処理の実行を示す値、また、１は初期化処理の非実行を示す値である。
【００２５】
これらのパラメータを保存するためにＣＭＯＳメモリ４内に設けられたパラメータ記憶テーブル１３の論理構造を図４の概念図に示す。
【００２６】
図４の例で言えば、例えば、パラメータ記憶テーブル１３のアドレス０に登録されたポート名称＃（０）のポートにＵＳＢ機器Ｍ（０）が接続され、ＵＳＢ機器Ｍ（０）に対応するポート名称＃（０）に対応した初期化対象特定パラメータＦ（０）の値として０つまり初期化処理の実行を示す値が設定されていることになる。要するに、ＵＳＢ機器Ｍ（０）が初期化処理の対象とされており、ＵＳＢ機器Ｍ（０）が最初の初期化処理の対象として選択されているということである。
【００２７】
既に述べた通り、初期化処理を実行すべき対象とするＵＳＢ機器Ｍ（ｉ）を表すポート名称＃（ｉ）を選択してパラメータ記憶テーブル１３に登録する処理、および、ポート名称＃（ｉ）のポートに接続されたＵＳＢ機器Ｍ（ｉ）に対して初期化処理の実行順序を設定する処理等に関しては、ユーザによるカスタマイズが可能であり、図４のパラメータ記憶テーブル１３の例では、テーブルの上の欄から順にテーブルのアドレスに従って初期化処理が実行されるようにしている。
図４のパラメータ記憶テーブル１３の例では最初に初期化処理の対象とされるのはアドレス０に登録されたポート名称＃（０）のポートに接続されたＵＳＢ機器Ｍ（０）、その次に初期化処理の対象とされるのがアドレス１に登録されたポート名称＃（１）のポートに接続されたＵＳＢ機器Ｍ（１）ということになるが、仮に、パラメータ記憶テーブル１３の最上位の欄すなわちアドレス０にポート名称＃（１）が登録され、その次の欄すなわちアドレス１にポート名称＃（０）が登録されていたとした場合には、最初に初期化処理の対象とされるのがポート名称＃（１）のポートに接続されたＵＳＢ機器、その次に初期化処理の対象とされるのがポート名称＃（０）のポートに接続されたＵＳＢ機器となる。
この種のカスタマイズを行なうバイオスセットアップ（ＢＩＯＳ  Ｓｅｔｕｐ）等のプログラムは既に公知である。
【００２８】
コンピュータ１におけるコンピュータ起動システムＡの主要部は、パラメータ記憶手段Ｂとして機能するＣＭＯＳメモリ４に保存されたパラメータ記憶テーブル１３と、コンピュータ１のマイクロプロセッサ２と、このマイクロプロセッサ２を初期化処理実行手段Ｃおよびパラメータ書換手段Ｄとして機能させるためにＲＯＭ３のブートブロックにＢＩＯＳプログラムの一部として書き込まれたコンピュータ起動プログラムとによって構成される。
【００２９】
次に、図３に示したコンピュータ起動プログラムのフローチャートを参照して、初期化処理実行手段Ｃおよびパラメータ書換手段Ｄとして機能するコンピュータ１のマイクロプロセッサ２の処理動作について具体的に説明する。
【００３０】
コンピュータ１に電源が投入されると、マイクロプロセッサ２は、ＲＯＭ３のブートブロックに格納されたＢＩＯＳプログラムおよびＢＩＯＳプログラムの一部としてＲＯＭ３に書き込まれたコンピュータ起動プログラムをＲＡＭ５に読み込んで処理を開始する。
【００３１】
そして、マイクロプロセッサ２は、まず、パラメータ記憶手段Ｂとして機能するＣＭＯＳメモリ４のパラメータ記憶テーブル１３から初期化処理の対象とすべきＵＳＢ機器Ｍ（ｉ）に対応するポート名称＃（ｉ）を順に選択する際に用いられるポート選択指標ｉの値を０に初期化する（ステップＳ１）。
【００３２】
次いで、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２が、ポート選択指標ｉの現在値で特定される第ｉアドレスの初期化対象特定パラメータＦ（ｉ）の値をパラメータ記憶テーブル１３から読み込み、その値が、初期化処理の実行を示す値０となっているのか初期化処理の非実行を示す値１となっているのかを判定する（ステップＳ２）。
なお、当初はｉ＝０，１，２，３，・・・，ｎのｎ＋１個のＵＳＢ機器Ｍ（ｉ）の何れにも障害がないことを前提としてパラメータ記憶テーブル１３が生成されるので、初期段階では、図４に示されるように、ｉ＝０，１，２，３，・・・，ｎの全ての初期化対象特定パラメータＦ（ｉ）に初期化処理の実行を示す値０が設定されている。
マイクロプロセッサ２とＲＯＭ３およびＣＭＯＳメモリ４は同一ボード上に設置されて相互に内部バスで接続されているので、データの入出力のための格別な初期化処理は不要であり、ハードディスクドライブ６や入出力インターフェイス７の各ポートあるいは入出力回路８等に障害が生じているような状況下でも相互間のデータの入出力が保証される。
【００３３】
ステップＳ２の判定結果が偽となって初期化対象特定パラメータＦ（ｉ）に初期化処理の実行を示す値０が設定されていることが確認された場合には、パラメータ記憶テーブル１３の第ｉアドレスに登録されているポート名称＃（ｉ）のポートに接続されたＵＳＢ機器Ｍ（ｉ）に対して初期化処理を実行する必要があることを意味するので、初期化処理の開始に先立ち、まず、パラメータ書換手段Ｄとして機能するマイクロプロセッサ２が、この時点で初期化処理の対象となるＵＳＢ機器Ｍ（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０から初期化処理の非実行を示す値１に書き換える（ステップＳ３）。
【００３４】
次いで、マイクロプロセッサ２が、図示しない分周器等の信号に基づいて初期化処理の所要時間の計測を開始すると共に（ステップＳ４）、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２が、ポート名称＃（ｉ）のポートに接続されたＵＳＢ機器Ｍ（ｉ）に対する初期化処理を開始し（ステップＳ５）、初期化処理が正常に終了するか、もしくは、初期化処理の所要時間がエラー判定値に達するのを待つ待機状態に入る（ステップＳ６〜ステップＳ７）。
【００３５】
この間にステップＳ６の判定結果が真となって初期化処理が正常に終了したことが確認された場合には、パラメータ書換手段Ｄとして機能するマイクロプロセッサ２が、初期化処理の対象となったＵＳＢ機器Ｍ（ｉ）に対応する初期化対象特定パラメータＦ（ｉ）に、初期化処理の実行を示す値０を改めて設定する（ステップＳ８）。
【００３６】
次いで、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２がポート選択指標ｉの値を１インクリメントし（ステップＳ９）、該指標ｉの現在値が、ＵＳＢ機器に対応したポート名称を記憶しているパラメータ記憶テーブル１３の最終アドレスの値ｎを超えているか否かを判定する（ステッブＳ１０）。
【００３７】
ステップＳ１０の判定結果が偽となってポート選択指標ｉの現在値がパラメータ記憶テーブル１３の最終アドレスの値ｎを超えていないことが確認された場合には、初期化処理の対象の候補とされたＵＳＢ機器を接続したポートを表すポート名称＃（ｉ）が此の他にもパラメータ記憶テーブル１３に記憶されていることを意味するので、マイクロプロセッサ２は、更新されたポート選択指標ｉの現在値に基いて、ステップＳ７もしくはステップＳ１０の判定結果が真となるまで、前記と同様にしてステップＳ２〜ステップＳ１０から成るループ処理を繰り返し実行する。
【００３８】
ステップＳ２〜ステップＳ１０のループ処理を繰り返し実行する間にステップＳ１０の判定結果が真となった場合には、ステップＳ２〜ステップＳ１０から成るループ処理が初回を含めてｎ＋１回実行され、ｉ＝０，１，２，３，・・・，ｎのポート＃（ｉ）に接続されたｉ＝０，１，２，３，・・・，ｎの全てのＵＳＢ機器Ｍ（ｉ）がエラー判定値で特定される許容時間内に適切に初期化されたことを意味する。
【００３９】
従って、この場合、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２は、ｎ＋１回のループ処理におけるステップＳ９の処理でポート選択指標ｉの値がｎからｎ＋１にインクリメントされてステップＳ１０の判定結果が真となった時点で、初期化処理の対象としてパラメータ記憶テーブル１３にポート名称＃（ｉ）を登録された最後のＵＳＢ機器Ｍ（ｉ）、つまり、この場合はＵＳＢ機器Ｍ（ｎ）の初期化処理が完了したものと見做し、ＢＩＯＳプログラムの他部たとえば他の周辺装置の初期化処理等を実行してからＯＳの起動を許容する。
【００４０】
ＯＳの起動処理に関しては既に公知であるから、ここでは特に説明しない。
【００４１】
この実施形態にあっては、パラメータ書換手段Ｄとして機能するマイクロプロセッサ２が、初期化処理の開始に先立って、其の時点で初期化処理の対象とされているＵＳＢ機器Ｍ（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０から初期化処理の非実行を示す値１に書き換える処理を実行するが、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２によるＵＳＢ機器Ｍ（ｉ）の初期化処理が成功した場合には初期化対象特定パラメータＦ（ｉ）の値は初期化処理の実行を示す値０に必ず書き戻されるので、初期化処理が失敗しない限り、図３に示すようなコンピュータ起動プログラムの実行前後で、パラメータ記憶テーブル１３の設定内容に変化が生じることはない（ステップＳ３〜ステップＳ８，図４参照）。
【００４２】
一方、ステップＳ２〜ステップＳ１０のループ処理を繰り返し実行する間にステップＳ７の判定結果が真となった場合には、その時点で初期化処理の対象とされていたＵＳＢ機器Ｍ（ｉ）の初期化処理がエラー判定値で特定される許容時間内に完了しなかったこと、つまり、ＵＳＢ機器Ｍ（ｉ）の初期化処理が失敗したことを意味する。
【００４３】
この場合、初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０に書き戻すステップＳ８の処理は非実行とされるので、ステップＳ７の判定結果が真となった時点で、初期化処理の対象のＵＳＢ機器Ｍ（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値は初期化処理の非実行を示す値１のままとなる。
【００４４】
従って、例えば、初回のループ処理でパラメータ記憶テーブル１３のアドレス０に登録されたポート名称＃（０）のポートに接続されたＵＳＢ機器Ｍ（０）の初期化に成功し、更に、２回目のループ処理でパラメータ記憶テーブル１３のアドレス１に登録されたポート名称＃（１）のポートに接続されたＵＳＢ機器Ｍ（１）の初期化に成功した後、３回目のループ処理でパラメータ記憶テーブル１３のアドレス２に登録されたポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）の初期化に失敗したとすれば、３回目のループ処理が完了してステップＳ７の判定結果が真となった時点で、パラメータ記憶テーブル１３の設定内容は図４のようなものから図５のようなものに変化する。
【００４５】
このようにしてステップＳ７の判定処理でＵＳＢ機器Ｍ（ｉ）の初期化処理の失敗が確認された場合にあっては、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２は其れ以上の初期化処理を実行することなく直ちにコンピュータ１を再起動させる（ステップＳ１１）。
【００４６】
ＵＳＢ機器Ｍ（ｉ）の初期化に失敗した場合にあってはＲＡＭ５に読み込まれたプログラムや一時的なデータに損傷が生じる場合があるが、コンピュータ１の再起動に関わる処理はＲＯＭ３のブートブロックに格納されたＢＩＯＳプログラムによって実行されるので、初期化処理の失敗による影響は受けない。
【００４７】
また、ＲＡＭ５に読み込まれたプログラムや一時的なデータに損傷が生じた場合にあっては次のＵＳＢ機器Ｍ（ｉ＋１）の初期化処理の実行はおろか初期化対象特定パラメータＦ（ｉ）の値を書き換えるといった処理が困難となることもあるが、この実施形態にあっては、初期化処理の開始に先立って其の時点で初期化処理の対象とされているＵＳＢ機器Ｍ（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０から初期化処理の非実行を示す値１に書き換え、ＵＳＢ機器Ｍ（ｉ）の初期化が成功した場合に限って初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０に書き戻すといった処理を採用しているので、ＲＡＭ５に読み込まれたプログラムや一時的なデータに初期化処理の失敗による影響があった場合でも、ＵＳＢ機器Ｍ（ｉ）の初期化処理の失敗に関連する情報すなわち初期化対象特定パラメータＦ（ｉ）＝1の内容をＣＭＯＳメモリ４内のパラメータ記憶テーブル１３に確実に保存して確保することができる。
【００４８】
コンピュータ１が再起動されると、マイクロプロセッサ２は、ＲＯＭ３のブートブロックに格納されたＢＩＯＳプログラムおよびＢＩＯＳプログラムの一部としてＲＯＭ３に書き込まれたコンピュータ起動プログラムをＲＡＭ５に読み込んで前記と同様にして図３に示したコンピュータ起動プログラムの処理を開始し、まず、最初にポート選択指標ｉの値を０に初期化して（ステップＳ１）、ステップＳ２〜ステップＳ１０から成る初回のループ処理でパラメータ記憶テーブル１３のアドレス０に登録されたポート名称＃（０）のポートに接続されたＵＳＢ機器Ｍ（０）の初期化に成功し、更に、２回目のループ処理でパラメータ記憶テーブル１３のアドレス１に登録されたポート名称＃（１）のポートに接続されたＵＳＢ機器Ｍ（１）の初期化に成功し、２回目のループ処理におけるステップＳ９の処理でポート選択指標ｉの値が１から２へ更新される。
【００４９】
そして、３回目のループ処理では、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２が、ポート選択指標ｉの現在値２に基いて第２アドレスの初期化対象特定パラメータＦ（２）の値をパラメータ記憶テーブル１３から読み込み、その値が、初期化処理の実行を示す値０となっているのか初期化処理の非実行を示す値１となっているのかを判定するが（ステップＳ２）、この場合は初期化対象特定パラメータＦ（２）の値が初期化処理の非実行を示す値１となっているので（図５参照）、ステップＳ２の判定結果は真となり、ポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）に関連するステップＳ３〜ステップＳ７の処理つまり初期化処理が非実行とされる。
【００５０】
つまり、パラメータ記憶テーブル１３にポート名称＃（ｉ）を登録されたＵＳＢ機器Ｍ（ｉ）、即ち、初期化処理の対象の候補とされたＵＳＢ機器Ｍ（ｉ）のうち、実際に初期化処理の対象とされるのは、対応する初期化対象特定パラメータＦ（ｉ）の設定が初期化処理の実行を示す値０となっているＵＳＢ機器Ｍ（ｉ）のみであり、過去に初期化に失敗したＵＳＢ機器Ｍ（ｉ）、要するに、初期化処理の失敗が再度発生する可能性のあるＵＳＢ機器Ｍ（ｉ）に対する初期化処理がスキップされるので、システム上での障害を生じることなく次のＵＳＢ機器Ｍ（ｉ＋１）の初期化を確実に実行することが可能となる。
【００５１】
次いで、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２がポート選択指標ｉの値を１インクリメントし（ステップＳ９）、該指標ｉの現在値がパラメータ記憶テーブル１３の最終アドレスの値ｎを超えているか否かを判定するが（ステッブＳ１０）、この段階ではポート選択指標ｉの現在値は３であるからステップＳ１０の判定結果は偽となり、次のループ処理つまり４回目のループ処理でパラメータ記憶テーブル１３のアドレス３に登録されたポート名称＃（３）のポートに接続されたＵＳＢ機器Ｍ（３）の初期化処理が実行されることになる。
【００５２】
以下同様にして、パラメータ記憶テーブル１３のアドレス４に登録されたポート名称＃（４）のポートに接続されたＵＳＢ機器Ｍ（４）〜パラメータ記憶テーブル１３のアドレスｎに登録されたポート名称＃（ｎ）のポートに接続されたＵＳＢ機器Ｍ（ｎ）に対して５回目〜ｎ＋１回目のループ処理が実行される。
【００５３】
そして、ｎ＋１回目のループ処理におけるステップＳ１０の判定結果が真となった時点で、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２は、初期化処理の対象としてパラメータ記憶テーブル１３にポート名称＃（ｉ）を登録された最後のＵＳＢ機器Ｍ（ｉ）、つまり、この場合はＵＳＢ機器Ｍ（ｎ）の初期化処理が完了したものと見做し、ＢＩＯＳプログラムの他部たとえば他の周辺装置の初期化処理等を実行してからＯＳの起動を許容する。
但し、この場合はポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）は作動しない。
【００５４】
以上に述べた通り、順次インクリメントされるポート選択指標ｉの現在値に基いて初期化処理の対象の候補とすべきＵＳＢ機器Ｍ（ｉ）のポート名称＃（ｉ）がパラメータ記憶テーブル１３から順に選択されることになるが、実際に初期化処理の実行対象となるのは初期化対象特定パラメータＦ（ｉ）の値として初期化処理の実行を示す値０が設定されたものに制限されるので、初期化に一旦失敗したＵＳＢ機器Ｍ（ｉ）がコンピュータ１の再起動あるいは通常の起動後に実行されるコンピュータ起動プログラムで初期化の対象とされることはなく、初期化処理におけるエラーの発生および其れに伴うシステム障害の発生が未然に防止され、コンピュータ１のＯＳを確実に起動させることができるようになる。
【００５５】
また、例えば、前述した再起動後の初期化処理において、初回のループ処理でパラメータ記憶テーブル１３のアドレス０に登録されたポート名称＃（０）のポートに接続されたＵＳＢ機器Ｍ（０）の初期化に成功し、更に、２回目のループ処理でパラメータ記憶テーブル１３のアドレス１に登録されたポート名称＃（１）のポートに接続されたＵＳＢ機器Ｍ（１）の初期化に成功し、ポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）の初期化を当初の目的とした３回目のループ処理をスキップして、４回目〜ｎ回目のループ処理でパラメータ記憶テーブル１３のアドレス３〜アドレスｎ−１に登録されたポート名称＃（３）〜ポート名称＃（ｎ−１）の各ポートに接続されたＵＳＢ機器Ｍ（３）〜ＵＳＢ機器Ｍ（ｎ−１）の初期化に成功し、最後となるｎ＋１回目のループ処理でパラメータ記憶テーブル１３のアドレスｎに登録されたポート名称＃（ｎ）のポートに接続されたＵＳＢ機器Ｍ（ｎ）の初期化に失敗したとすれば、ｎ＋１回目のループ処理が完了してステップＳ７の判定結果が真となった時点で、パラメータ記憶テーブル１３の設定内容は図５のようなものから図６のようなものに変化することになる。
【００５６】
この場合はコンピュータ１が改めて再起動され、マイクロプロセッサ２は、ＲＯＭ３のブートブロックに格納されたＢＩＯＳプログラムおよびＢＩＯＳプログラムの一部としてＲＯＭ３に書き込まれたコンピュータ起動プログラムをＲＡＭ５に読み込んで前記と同様にして図３に示したコンピュータ起動プログラムの処理を開始し、まず、最初にポート選択指標ｉの値を０に初期化して（ステップＳ１）、ステップＳ２〜ステップＳ１０から成る初回のループ処理でパラメータ記憶テーブル１３のアドレス０に登録されたポート名称＃（０）のポートに接続されたＵＳＢ機器Ｍ（０）の初期化に成功し、更に、２回目のループ処理でパラメータ記憶テーブル１３のアドレス１に登録されたポート名称＃（１）のポートに接続されたＵＳＢ機器Ｍ（１）の初期化に成功し、２回目のループ処理におけるステップＳ９の処理でポート選択指標ｉの値が１から２へ更新される。
【００５７】
そして、３回目のループ処理では、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２が、ポート選択指標ｉの現在値２に基いて第２アドレスの初期化対象特定パラメータＦ（２）の値をパラメータ記憶テーブル１３から読み込み、その値が、初期化処理の実行を示す値０となっているのか初期化処理の非実行を示す値１となっているのかを判定するが（ステップＳ２）、この場合は初期化対象特定パラメータＦ（２）の値が初期化処理の非実行を示す値１となっているので（図６参照）、ステップＳ２の判定結果は真となり、ポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）に関連するステップＳ３〜ステップＳ７の処理つまり初期化処理が非実行とされる。
【００５８】
次いで、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２がポート選択指標ｉの値を１インクリメントし（ステップＳ９）、該指標ｉの現在値がパラメータ記憶テーブル１３の最終アドレスの値ｎを超えているか否かを判定するが（ステッブＳ１０）、この段階ではポート選択指標ｉの現在値は３であるからステップＳ１０の判定結果は偽となり、次のループ処理つまり４回目のループ処理でパラメータ記憶テーブル１３のアドレス３に登録されたポート名称＃（３）のポートに接続されたＵＳＢ機器Ｍ（３）の初期化が実行されることになる。
【００５９】
以下、同様にして、パラメータ記憶テーブル１３のアドレス４に登録されたポート名称＃（４）のポートに接続されたＵＳＢ機器Ｍ（４）〜パラメータ記憶テーブル１３のアドレスｎ−１に登録されたポート名称＃（ｎ−１）のポートに接続されたＵＳＢ機器Ｍ（ｎ−１）に対して５回目〜ｎ回目のループ処理で初期化処理が実行され、ｎ回目のループ処理におけるステップＳ９の処理でポート選択指標ｉの値がｎ−１からｎへ更新される。
【００６０】
そして、ｎ＋１回目のループ処理では、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２が、ポート選択指標ｉの現在値ｎに基いて第ｎアドレスの初期化対象特定パラメータＦ（ｎ）の値をパラメータ記憶テーブル１３から読み込み、その値が、初期化処理の実行を示す値０となっているのか初期化処理の非実行を示す値１となっているのかを判定するが（ステップＳ２）、この場合は初期化対象特定パラメータＦ（ｎ）の値が初期化処理の非実行を示す値１となっているので（図６参照）、ステップＳ２の判定結果は真となり、ポート名称＃（ｎ）のポートに接続されたＵＳＢ機器Ｍ（ｎ）に関連するステップＳ３〜ステップＳ７の処理つまり初期化処理が非実行とされる。
【００６１】
次いで、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２がポート選択指標ｉの値をｎからｎ＋１にインクリメントし（ステップＳ９）、該指標ｉの現在値がパラメータ記憶テーブル１３の最終アドレスの値ｎを超えているか否かを判定するが（ステッブＳ１０）、この段階ではポート選択指標ｉの現在値がｎ＋１となっているからステップＳ１０の判定結果は真となり、初期化処理実行手段Ｃとして機能するマイクロプロセッサ２は、ＢＩＯＳプログラムの他部たとえば他の周辺装置の初期化処理等を実行してからＯＳの起動を許容する。
【００６２】
この場合、ポート名称＃（ｎ）のポートに接続されたＵＳＢ機器Ｍ（ｎ）に関連する初期化処理は非実行とされているので、ステップＳ１０の判定処理は、初期化処理の対象の候補としてパラメータ記憶テーブル１３にポート名称＃（ｉ）を登録されたＵＳＢ機器のうち、初期化対象特定パラメータＦ（ｉ）に初期化処理の非実行を示す値１を設定された最後のＵＳＢ機器Ｍ（ｉ）、つまり、ＵＳＢ機器Ｍ（ｎ−１）の初期化処理の完了を判定するための処理として機能することになる。
なお、この場合はポート名称＃（２）のポートに接続されたＵＳＢ機器Ｍ（２）とポート名称＃（ｎ）のポートに接続されたＵＳＢ機器Ｍ（ｎ）が作動しないことになる。
【００６３】
以上に述べた通り、この実施形態のコンピュータ起動システムＡは、予め設定された順序、つまり、パラメータ記憶テーブル１３にポート名称＃（ｉ）を登録された順序に従ってコンピュータ１の起動時にＵＳＢ機器Ｍ（ｉ）の初期化処理を実行し、初期化処理の対象とされた全てのＵＳＢ機器Ｍ（ｉ）、即ち、対応する初期化対象特定パラメータＦ（ｉ）に初期化処理の実行を示す値０を設定された全てのＵＳＢ機器Ｍ（ｉ）の初期化処理が正常に終了した場合に限ってコンピュータ１のＯＳを起動する。
また、初期化処理の対象とされたＵＳＢ機器Ｍ（ｉ）の何れかの初期化処理が正常に終了しなかった場合には、初期化処理が正常に終了しなかったＵＳＢ機器Ｍ（ｉ）のポート名称＃（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値を初期化処理の非実行を示す値１に書き換えてコンピュータ１を再起動し、パラメータ記憶テーブル１３に登録された順序に従って再びＵＳＢ機器Ｍ（ｉ）の初期化処理を繰り返し実行する。
この結果、再起動後に実行される初期化処理では初期化処理の失敗が再度発生する可能性のあるＵＳＢ機器Ｍ（ｉ）の初期化処理がスキップされて自動的に非実行となり、初期化処理におけるエラーの発生および其れに起因したシステム上の障害発生が未然に防止されるので、他のＵＳＢ機器の初期化処理を確実に実行してコンピュータ１のＯＳを起動することができる。
【００６４】
従って、障害の生じたＵＳＢ機器Ｍ（ｉ）やポート＃（ｉ）を再起動の度に初期化しようとして初期化に失敗し、再起動が無意味に繰り返されるといった不都合も解消される。
【００６５】
特に、この実施形態にあっては、初期化処理の開始に先立って其の時点で初期化処理の対象とされているＵＳＢ機器Ｍ（ｉ）に対応した初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０から初期化処理の非実行を示す値１に一旦書き換え、ＵＳＢ機器Ｍ（ｉ）の初期化が成功した場合に限って初期化対象特定パラメータＦ（ｉ）の値を初期化処理の実行を示す値０に書き戻すといった処理を採用しているので、ＲＡＭ５に読み込まれたプログラムや一時的なデータに初期化処理の失敗による影響があった場合でも、ＵＳＢ機器Ｍ（ｉ）の初期化処理の失敗に関連する情報すなわち初期化対象特定パラメータＦ（ｉ）＝1の内容をＣＭＯＳメモリ４内のパラメータ記憶テーブル１３に確実に保存して再起動の際の初期化処理に役立てることができる。
【００６６】
しかも、パラメータ記憶テーブル１３はパラメータ記憶手段Ｂとして機能するＣＭＯＳメモリ４内に配置されており、システム障害の発生やコンピュータ１の再起動によって不用意に内容が損傷することないので、初期化処理の対象の候補とされたＵＳＢ機器Ｍ（ｉ）を特定するためのポート名称＃（ｉ）の登録情報やポート名称＃（ｉ）の各々に対応して設定された初期化処理の実行順序（パラメータ記憶テーブル１３内のアドレス）といったユーザ設定によるカスタマイズ情報が失われてデフォルトの状態に戻ってしまうといった不都合が解消され、また、障害復旧専用の初期化プログラムと通常の初期化プログラムを異なるＲＯＭに分散して配置する必要もないので、ＲＯＭの複数化による製造コストの問題も発生しない。
【００６７】
図３に示されるようなコンピュータ起動プログラムはＢＩＯＳプログラムの一部としてＲＯＭ３のブートブロックに格納されており、コンピュータ１のＯＳが起動されていない状態つまりシステムコールが利用できない状態でも機能するので、ＯＳ起動前の初期化処理においてＵＳＢ機器Ｍ（ｉ）やポート＃（ｉ）の異常を検知してコンピュータ１を再起動させることができる。
【００６８】
ここでは、初期化処理開始後の経過時間や初期化処理の所要時間をエラー判定値と比較することでＵＳＢ機器Ｍ（ｉ）やポート＃（ｉ）の初期化が適切に行なわれたか否かを判定する例について述べているが、初期化処理におけるエラー検知の技術は各種のものが公知であり、その方法は特に問わない。
【００６９】
以上に開示した実施形態の一部または全部は、以下の付記に示す記載によって適切に表現され得るが、発明を実施するための形態や発明の技術思想は、これらのものに制限されるものではない。
【００７０】
〔付記１〕
予め設定された順序に従ってコンピュータの起動時に周辺装置の初期化処理を実行し、初期化処理の対象とされた全ての周辺装置の初期化処理が正常に終了した場合にはコンピュータのオペレーティング・システムを起動する一方、何れかの初期化処理が正常に終了しなかった場合にはコンピュータを再起動して前記予め設定された順序に従って周辺装置の初期化処理を繰り返し実行するコンピュータ起動システムにおいて、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段と、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記オペレーティング・システムの起動を許容する初期化処理実行手段と、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段とを備えたことを特徴とするコンピュータ起動システム。
【００７１】
〔付記２〕
前記パラメータ書換手段は、前記初期化処理実行手段による初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、前記初期化処理実行手段による初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えるように構成されていることを特徴とした付記１記載のコンピュータ起動システム。
【００７２】
〔付記３〕
前記周辺装置がＵＳＢ機器であって、前記初期化候補特定パラメータはＵＳＢ機器のポート名称であることを特徴とした付記１または付記２のうち何れか一項に記載のコンピュータ起動システム。
【００７３】
〔付記４〕
前記コンピュータ起動システムがベイシック・インプット・アウトプット・システムに組み込まれ、前記パラメータ記憶手段は前記コンピュータのベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリによって構成されていることを特徴とした付記１，付記２または付記３のうち何れか一項に記載のコンピュータ起動システム。
【００７４】
〔付記５〕
予め設定された順序に従ってコンピュータの起動時に周辺装置の初期化処理を実行し、初期化処理の対象とされた全ての周辺装置の初期化処理が正常に終了した場合にはコンピュータのオペレーティング・システムを起動する一方、何れかの初期化処理が正常に終了しなかった場合にはコンピュータを再起動して前記予め設定された順序に従って周辺装置の初期化処理を繰り返し実行するコンピュータ起動システムに配備されたマイクロプロセッサを、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを不揮発的に記憶するパラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、コンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行する一方、初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると前記オペレーティング・システムの起動を許容する初期化処理実行手段、および、
前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、前記初期化処理実行手段による１つの周辺装置の初期化処理が正常に終了しなかった場合には、少なくともコンピュータの再起動前に、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えるパラメータ書換手段として機能させることを特徴とするコンピュータ起動プログラム。
【００７５】
〔付記６〕
前記パラメータ書換手段は、前記初期化処理実行手段による初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、前記初期化処理実行手段による初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えるように構成されていることを特徴とした付記５記載のコンピュータ起動プログラム。
【００７６】
〔付記７〕
前記周辺装置がＵＳＢ機器であって、前記初期化候補特定パラメータはＵＳＢ機器のポート名称であることを特徴とした付記５または付記６のうち何れか一項に記載のコンピュータ起動プログラム。
【００７７】
〔付記８〕
付記５，付記６または付記７のうち何れか一項に記載のコンピュータ起動プログラムがベイシック・インプット・アウトプット・システムのリード・オンリー・メモリのブートブロックに格納されると共に、前記パラメータ記憶手段が前記ベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリによって構成されていることを特徴としたコンピュータ。
【００７８】
〔付記９〕
予め設定された順序に従ってコンピュータの起動時に周辺装置の初期化処理を実行し、初期化処理の対象とされた全ての周辺装置の初期化処理が正常に終了した場合にはコンピュータのオペレーティング・システムを起動する一方、何れかの初期化処理が正常に終了しなかった場合にはコンピュータを再起動して前記予め設定された順序に従って周辺装置の初期化処理を繰り返し実行するコンピュータ起動方法において、
初期化処理を実行すべき周辺装置として設定された周辺装置の各々を特定する初期化候補特定パラメータと前記設定された周辺装置の各々に対応して実際に初期化処理を実行するか否かを特定する初期化対象特定パラメータとを前記コンピュータのパラメータ記憶手段に予め不揮発的に記憶させておき、
前記パラメータ記憶手段に記憶された初期化候補特定パラメータに対応する周辺装置のうち、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対してのみ順に初期化処理を実行し、その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了した場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに保持する一方、
その時点で初期化処理の対象とされている周辺装置の初期化処理が正常に終了しなかった場合には、この周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換えてからコンピュータを再起動し、対応する初期化対象特定パラメータの設定が初期化処理の実行を示すものとなっている周辺装置に対して改めて最初から順に初期化処理を実行し、
初期化処理の対象とされている最後の周辺装置の初期化処理の完了を検知すると、前記オペレーティング・システムの起動を許容することを特徴としたコンピュータ起動方法。
【００７９】
〔付記１０〕
初期化処理の開始に際し、その時点で初期化処理の対象となる周辺装置に対応する初期化対象特定パラメータの値を初期化処理の非実行を示すものに書き換え、初期化処理が正常に終了した場合に限って初期化処理の対象となった周辺装置に対応する初期化対象特定パラメータの値を初期化処理の実行を示すものに書き換えることを特徴とした付記９記載のコンピュータ起動方法。
【００８０】
〔付記１１〕
前記周辺装置がＵＳＢ機器であって、前記初期化候補特定パラメータはＵＳＢ機器のポート名称であることを特徴とした付記９または付記１０のうち何れか一項に記載のコンピュータ起動方法。
【００８１】
〔付記１２〕
前記パラメータ記憶手段として前記コンピュータのベイシック・インプット・アウトプット・システム用のＣＭＯＳメモリを利用することを特徴とした付記９，付記１０または付記１１のうち何れか一項に記載のコンピュータ起動方法。
【産業上の利用可能性】
【００８２】
この発明は、各種のコンピュータ、特に、周辺装置の初期化の失敗をリカバリーするための再起動の所要時間がロスタイムとして問題となるような組込み系のコンピュータおよび機器に適する。
【符号の説明】
【００８３】
１  コンピュータ
２  マイクロプロセッサ（初期化処理実行手段，パラメータ書換手段）
３  リード・オンリー・メモリ（ＲＯＭ）
４  ＣＭＯＳメモリ（パラメータ記憶手段）
５  ランダム・アクセス・メモリ（ＲＡＭ）
６  ハードディスクドライブ
７  入出力インターフェイス
８  入出力回路
９  キーボード
１０  マウス
１１  ディスプレイ
１２  プリンタ
１３  パラメータ記憶テーブル
Ａ  コンピュータ起動システム
Ｂ  パラメータ記憶手段
Ｃ  初期化処理実行手段
Ｄ  パラメータ書換手段
Ｍ（ｉ）  周辺装置（ＵＳＢ機器）
＃（ｉ）  初期化候補特定パラメータ（ポート名称）
Ｆ（ｉ）  初期化対象特定パラメータ
ｉ  ポート選択指標
【図１】
2014106772.tif 000003
【図２】
2014106772.tif 000004
【図３】
2014106772.tif 000005
【図４】
2014106772.tif 000006
【図５】
2014106772.tif 000007
【図６】
2014106772.tif 000008