(57)【要約】【課題】リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスやロードアドレスを柔軟に変更することができるコンピュータシステムを得ること。【解決手段】スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態を監視して両スイッチの状態の組み合わせに応じたステータスをＣＰＵ１６に通知する。ローダプログラム１４１を実行することでローダ部として動作するＣＰＵ１６は、ステータスに基づいてリムーバブルメディア２に格納されたＯＷＯＮ．ＢＴＦ２１に登録されたＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、ＨＷＭＯＮ．ＢＴＦ２２−３、ＯＳ２．ＢＴＦ２２−４の何れかのファイル名を選択し、選択したファイルに登録されたプログラムファイルをリムーバブルメディア２からＲＡＭ１５にロードする。【選択図】        図１
2009175792.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを前記上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、
前記スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項２】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記上位階層制御ファイルの登録内容を表示する表示手段と、
外部から入力された識別子をステータス情報としてローダ手段に通知する選択情報入力手段と、
前記上位階層制御ファイルに登録された識別子および前記下位階層制御ファイルのファイル名を前記表示手段に表示させるとともに、前記選択情報入力手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項３】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、
前記制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、
前記制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理手段と、
を備え、
前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、
を特徴とするコンピュータシステム。
【請求項４】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層ファイルと、前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記揮発性の記憶手段に前記プログラムファイルをロードするプログラムロード方法であって、
前記下位階層制御ファイルを選択するための選択情報の入力を受け付ける選択情報受付ステップと、
前記選択情報受付ステップによって受け付けた選択情報および前記上位階層制御ファイルに基づいて前記下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを前記リムーバブルメディアから前記記憶手段にロードするローダステップと、
を含むことを特徴とするプログラムロード方法。
【請求項５】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、前記制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記プログラムファイルを前記記憶手段にロードするプログラムロード方法であって、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析ステップと、
前記制御ファイル解析ステップによって制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理ステップと、
前記コンピュータが前記プログラムロード処理ステップによって前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーした後にコピーしたプログラムを実行する実行処理ステップと、
を含むことを特徴とするプログラムロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータと、該コンピュータに着脱可能なリムーバブルメディアとで構成されるコンピュータシステムに関するものであり、特に、リムーバブルメディアから必要なプログラムファイルを選択してコンピュータにロードするブート処理に関するものである。
【背景技術】
【０００２】
従来から、メディアに格納されたプログラムをコンピュータ内のメモリにロードするブート処理に関する種々の技術が考えられている。たとえば、特許文献１に記載の従来技術には、複数の起動モードの中の何れか一つを選択してシステムを起動させる際に、システムが起動するための必要な時間を起動モード応じて最小化させるコンピュータシステムに関する技術が開示されている。
【０００３】
具体的には、特許文献１に記載の従来技術では、ユーザによって操作されたジョグレバーユニットがそれぞれ異なる機能を遂行する複数の起動モードの中の何れか１つを選択するための複数の制御信号をマイクロコンピュータに出力する。マイクロコンピュータは、ＢＩＯＳ  ＲＯＭに格納されているスタートアップルーチン（プログラム）の中から、ジョグレバーユニットからの制御信号に対応する起動モードに必要なプログラムを選択し、選択したプログラムを実行することによって対応するオペレーティングシステムを起動するようにしている。
【０００４】
また、特許文献２に記載の従来技術には、装置に着脱可能な不揮発性記憶媒体から装置内のＲＡＭ（Random  Access  Memory）にプログラムをブートする方式であって、プログラムの起動をより高速に行う画像処理装置に関する技術が開示されている。
【０００５】
具体的には、特許文献２に記載の従来技術では、最初に不揮発性記憶媒体からＲＡＭにプログラムを読み込む際に不揮発性記憶媒体からＲＡＭへの読み込み履歴情報として、転送元である不揮発性記憶媒体のセクタＮｏと、転送先であるＲＡＭのアドレスと、機器の構成情報を登録し、ＣＰＵを介して不揮発性記憶媒体からＲＡＭにプログラムを読み込む通常起動を実行するのか、ＣＰＵを介することなく読み込み履歴情報を用いて不揮発性記憶媒体からＲＡＭにプログラムを読み込む高速起動を実行するのかが登録される起動フラグに、高速起動を実行することを示す情報を設定する。これにより、つぎに不揮発性記憶媒体からＲＡＭにプログラムを読み込む際には、起動フラグに高速起動を実行することを示す情報が設定されているので、現在の機器の構成が読み込み履歴情報に登録された機器の構成情報と同じであれば、当該機器の構成情報に関連付けられたセクタＮｏおよびアドレスを用いてプロセッサを介することなく不揮発性記憶媒体からＲＡＭにプログラムを読み込むことができる。
【０００６】
しかしながら、上記特許文献１に記載の従来技術では、ジョグレバーユニットによって選択した起動モードに対応するプログラム実行するため、プログラムを選択することはできるが、起動モードに対する必要なプログラムを変更することはできないという問題があった。そのため、ブートシーケンス自体を修正したり、拡張したりすることは困難となる。この問題は、たとえば、プログラムを選択してロードするローダプログラムをリムーバブルメディアに備えることで若干改善されるが、それでも、ローダプログラムを修正、拡張する度に、コンパイルしてリムーバブルメディアに書き込む作業が必要で、効率がよいとはいえない。
【０００７】
また、上記特許文献２に記載の従来技術では、１回不揮発性記憶媒体からＲＡＭにプログラムを読み込んだ後は、当該機器の構成情報に関連付けられたセクタＮｏおよびアドレスを用いて不揮発性記憶媒体からＲＡＭにプログラムを読み込むことができるが、起動時に使用するプログラムファイルの構成や、ＲＡＭのロード先であるロードアドレスを変更することはできないという問題があった。
【０００８】
このように、上記特許文献１および特許文献２に記載の従来技術では、ブート時にリムーバブルメディアからコンピュータ内の揮発性の記憶手段にプログラムファイルをロードする際の柔軟性に乏しいという問題があった。
【０００９】
【特許文献１】特開２００５−３３２４０５号公報
【特許文献２】特開２００６−１２６９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、上記に鑑みてなされたものであって、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスやロードアドレスを柔軟に変更することができるコンピュータシステムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、前記リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから記憶手段にロードするローダ手段と、を備えることを特徴とする。
【００１２】
また、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードするプログラムロード処理手段と、を備え、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、を特徴とする。
【発明の効果】
【００１３】
本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、外部から入力された選択情報および上位階層制御ファイルに基づいて下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディアからコンピュータ内の不揮発性の記憶手段にロードするようにしているため、上位および下位階層制御ファイルを変更するだけで、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスを柔軟に変更することができるコンピュータシステムを得ることができるという効果を奏する。
【００１４】
また、本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータは、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードし、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することができるコンピュータシステムを得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかるコンピュータシステムの最良な実施の形態を詳細に説明する。
【００１６】
（第１の実施の形態）
図１〜図６を用いてこの発明の第１の実施の形態を説明する。図１は、この発明におけるコンピュータシステムの第１の実施の形態の構成を示す図である。なお、図１に示したコンピュータシステムの構成は、この発明における第１の実施の形態のコンピュータシステムに必要な機能のみを示している。
【００１７】
図１において、コンピュータシステムは、コンピュータ１と、このコンピュータ１と着脱可能であってブート処理によってコンピュータ１にロードされる各種制御ファイル（ＰＯＷＯＮ．ＢＴＦ２１、ＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、ＨＷＭＯＮ．ＢＴＦ２２−３、およびＯＳ２．ＢＴＦ２２−４）、および各種プログラムファイル（ＳＹＳＲＯＭ０．ＢＩＮ２３−１、ＳＹＳＲＯＭ２．ＢＩＮ２３−２、ＬＤＳＹＳ．ＳＲＥ２３−３、ＩＮＩＴＳＹＳ．ＳＲＥ２３−４、およびＨＷＭＯＮ．ＳＲＥ２３−５）を格納するリムーバブルメディア２とを備えている。
【００１８】
リムーバブルメディア２は、ブート処理によってコンピュータ１にロードされる制御ファイル（上位階層制御ファイルおよび下位階層制御ファイル）と、各種プログラムファイルを格納する。図１においては、リムーバブルメディア２は、ＰＯＷＯＮ．ＢＴＦ２１、ＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、ＨＷＭＯＮ．ＢＴＦ２２−３、ＯＳ２．ＢＴＦ２２−４、ＳＹＳＲＯＭ０．ＢＩＮ２３−１、ＳＹＳＲＯＭ２．ＢＩＮ２３−２、ＬＤＳＹＳ．ＳＲＥ２３−３、ＩＮＩＴＳＹＳ．ＳＲＥ２３−４、およびＨＷＭＯＮ．ＳＲＥ２３−５を格納している。なお、ここでは、以下の説明に必要なファイルのみを記載しており、実際には、その他のプログラムファイルも格納している。
【００１９】
ＰＯＷＯＮ．ＢＴＦ２１は、上位階層制御ファイルであって、ブート処理によってコンピュータ１に最初にロードされる制御ファイルである。ＰＯＷＯＮ．ＢＴＦ２１には、ＩＤに関連付けて下位階層制御ファイルのファイル名が登録される。図２は、ＰＯＷＯＮ．ＢＴＦ２１の一例を示す図である。図２において、ＰＯＷＯＮ．ＢＴＦ２１には、「＃」で始まるコメント行と、ファイルの最終行を示す「ＥＮＤ」との間に、ＩＤ（識別子）とＩＤに関連付けられた下位階層制御ファイルのファイル名として、「ＢＴＦ＿００：ＯＳ１．ＢＴＦ」、「ＢＴＦ＿０１：ＤＩＡＧ．ＢＴＦ」、「ＢＴＦ＿０２：ＨＷＭＯＮ．ＢＴＦ」、および「ＢＴＦ＿０３：ＯＳ２．ＢＴＦ」が登録されている。ここでは、「ＢＴＦ＿」に続く「００」、「０１」、「０２」、「０３」がＩＤであり、「ＯＳ１．ＢＴＦ」、「ＤＩＡＧ．ＢＴＦ」、「ＨＷＭＯＮ．ＢＴＦ」、「ＯＳ２．ＢＴＦ」が下位階層制御ファイルのファイル名である。「ＯＳ１．ＢＴＦ」は、第１のＯＳ（オーベレー寝具システム）としてのＯＳ１を起動するための下位階層制御ファイルのファイル名であり、「ＤＩＡＧ．ＢＴＦ」は、自己診断モードを起動するための下位階層制御ファイルのファイル名であり、「ＨＷＭＯＮ．ＢＴＦ」は、Ｈ／Ｗモニタ（ハードウェアモニタ）を起動するための下位階層制御ファイルのファイル名であり、「ＯＳ２．ＢＴＦ」は、第２のＯＳとしてのＯＳ２を起動するための下位階層制御ファイルのファイル名である。
【００２０】
図１に戻って、リムーバブルメディア２に格納されるＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、ＨＷＭＯＮ．ＢＴＦ２２−３、およびＯＳ２．ＢＴＦ２２−４は、下位階層制御ファイルであって、コンピュータ１にロードすべきプログラムファイルのプログラム名と当該プログラム名が示すプログラムファイルのオプション情報（制御情報、ロードアドレス、およびスタートアドレス）が登録される。図３は、ＨＷＭＯＮ．ＢＴＦ２２−３の一例を示す図である。図３において、ＨＷＭＯＮ．ＢＴＦ２２−３には、「＃」で始まるコメント行と、ファイルの最終行を示す「ＥＮＤ」との間に、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」、制御情報「０００００００３」、ロードアドレス「ａ００８００００」、およびスタートアドレス「ａ００８０１００」と、プログラム名「ＳＹＳＲＯＭ２．ＢＩＮ」、制御情報「０００００００２」、ロードアドレス「ａ００ｃ００００」、およびスタートアドレス「ａ００ｃ０１００」と、プログラム名「ＬＤＳＹＳ．ＳＲＥ」、制御情報「０００００００２」、ロードアドレス「ａ００f００００」、およびスタートアドレス「ａ００ｆ０１００」と、プログラム名「ＩＮＩＴＳＹＳ．ＳＲＥ」、制御情報「０００００００２」、ロードアドレス「ａ０１０００００」、およびスタートアドレス「ａ０１００１００」と、プログラム名「ＨＷＭＯＮ．ＳＲＥ」、制御情報「０００００００２」、ロードアドレス「ａ０１３００００」、およびスタートアドレス「ａ０１３０１００」とが登録されている。
【００２１】
図３において、制御情報、ロードアドレス、およびスタートアドレスがオプション情報である。このオプション情報はコンピュータ１にプログラムを読み込む際に用いられる情報であるが、詳細は後述する第３の実施の形態で説明する。なお、ここでは、ＨＷＭＯＮ．ＢＴＦ２２−３を一例として説明したが、ＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、およびＯＳ２．ＢＴＦ２２−４も登録フォーマットは同様で、コンピュータ１にロードすべきプログラム名とオプション情報とが登録される。
【００２２】
図１に戻って、リムーバブルメディア２に格納されたＳＹＳＲＯＭ０．ＢＩＮ２３−１、ＳＹＳＲＯＭ２．ＢＩＮ２３−２、ＬＤＳＹＳ．ＳＲＥ２３−３、ＩＮＩＴＳＹＳ．ＳＲＥ２３−４、およびＨＷＭＯＮ．ＳＲＥ２３−５は、コンピュータ１にロードされて実行されるプログラムファイルである。
【００２３】
コンピュータ１は、Ｐｏｗｅｒスイッチ１１、Ｒｅｓｅｔスイッチ１２、スイッチ監視回路１３、ＲＯＭ（Read  Only  Memory）１４、ＲＡＭ（Random  Access  Memory）１５、ＣＰＵ（Central  Processing  Unit）１６、およびリムーバブルメディアインタフェース部（以下、リムーバブルメディアＩ／Ｆ部という）１７を備えている。Ｐｏｗｅｒスイッチ１１は、コンピュータ１の電源スイッチであって、ユーザによって操作されその操作によってコンピュータ１に電源を供給するか否かを制御する。Ｒｅｓｅｔスイッチ１２は、ユーザによって操作され、その操作によってコンピュータ１をリセットするか否かを制御する。また、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２は、コンピュータシステムのブートシーケンスを選択するブートシーケンス入力手段として用いられる。
【００２４】
スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態を監視して、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２がブートシーケンス入力手段として用いられた際のユーザの操作の状態（入力動作）からブートシーケンスを選択するためのステータスを認識する。スイッチ監視回路１３は、認識したステータスをＣＰＵ１６に通知する。
【００２５】
図４は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２を選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図である。図１においては、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２は、押しボタンのスイッチとしている。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１が押された時間が予め定められた閾値以下の場合には、入力動作はＰｏｗｅｒ短押しでありステータスは「００」であると認識する。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１が押された時間が予め定められた閾値より長い場合には、入力動作はＰｏｗｅｒ長押しでありステータスは「０１」であると認識する。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２が両方押された時間が予め定められた閾値以下の場合には、入力動作はＰｏｗｅｒ＋Ｒｅｓｅｔ短押しでありステータスは「０２」であると認識する。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２が両方押された時間が予め定められた閾値より長い場合には、入力動作はＰｏｗｅｒ＋Ｒｅｓｅｔ長押しでありステータスは「０３」であると認識する。
【００２６】
なお、ここでは、入力動作を「Ｐｏｗｅｒ短押し」、「Ｐｏｗｅｒ長押し」、「Ｐｏｗｅｒ＋Ｒｅｓｅｔ短押し」、および「Ｐｏｗｅｒ＋Ｒｅｓｅｔ長押し」として４種類のステータスを割り当てたが、入力動作はこれに限るものではなく、ステータスの数もこれに限るものではない。
【００２７】
図１に戻って、リムーバブルメディアＩ／Ｆ部１７は、リムーバブルメディア２とコンピュータ１とのインタフェース機能を備えている。ＲＯＭ１４はローダプログラム１４１を格納する。ローダプログラム１４１は、ブート時にＣＰＵ１６に最初に実行されるプログラムである。ＣＰＵ１６は、ローダプログラム１４１を実行することで、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２に格納された各種プログラムを読み込んでＲＡＭ１５に格納するロード処理を実行するローダ部として動作する。
【００２８】
ローダ部として動作するＣＰＵ１６は、スイッチ監視回路１３から通知されるステータスに基づいて、ＰＯＷＯＮ．ＢＴＦ２１に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをＲＡＭ１５に格納する。
【００２９】
つぎに、この第１の実施の形態のコンピュータシステムの動作について説明する。ユーザは、コンピュータ１をブートするためにＰｏｗｅｒスイッチ１１、またはＰｏｗｅｒスイッチ１１とＲｅｓｅｔスイッチ１２とを押す。Ｐｏｗｅｒスイッチ１１が押されたことにより、コンピュータ１の各構成要素に電源が供給され、ＣＰＵ１６は、ＲＯＭ１４に格納されたローダプログラム１４１の実行を開始し、スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態の監視を開始する。
【００３０】
まず、図５のフローチャートを参照して、スイッチ監視回路１３のステータス認識処理の動作を説明する。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１が押されたことを検出すると（ステップＳ１００，Ｙｅｓ）、Ｒｅｓｅｔスイッチ１２が押されているか否かを判定する（ステップＳ１０１）。Ｒｅｓｅｔスイッチ１２が押されていると判定した場合（ステップＳ１０１，Ｙｅｓ）、スイッチ監視回路１３は、コンピュータ１内の計時機能を用いて押し時間の計測を開始する（ステップＳ１０２）。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２が押されているか否かを判定する（ステップＳ１０３）。Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２が押されていないと判定した場合（ステップＳ１０３，Ｎｏ）、スイッチ監視回路１３は、押し時間の計測を終了する（ステップＳ１０４）。
【００３１】
スイッチ監視回路１３は、計測した押し時間と予め定められた閾値Ａとを比較する（ステップＳ１０５）。計測した押し時間が閾値Ａ以上の場合（ステップＳ１０５，Ｙｅｓ）、スイッチ監視回路１３は、先の図４に示した入力動作「Ｐｏｗｅｒ＋Ｒｅｓｅｔ長押し」であると認識し、ＯＳ２を起動するステータス「０３」をＣＰＵ１６に通知する（ステップＳ１０６）。計測した押し時間が閾値Ａより小さい場合（ステップＳ１０５，Ｎｏ）、スイッチ監視回路１３は、先の図４に示した入力動作「Ｐｏｗｅｒ＋Ｒｅｓｅｔ短押し」であると認識し、Ｈ／Ｗモニタを起動するステータス「０２」をＣＰＵ１６に通知する（ステップＳ１０７）。
【００３２】
一方、Ｒｅｓｅｔスイッチ１２が押されていないと判定した場合（ステップＳ１０１，Ｎｏ）、スイッチ監視回路１３は、コンピュータ１内の計時機能を用いて押し時間の計測を開始する（ステップＳ１０８）。スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１が押されているか否かを判定する（ステップＳ１０９）。Ｐｏｗｅｒスイッチ１１が押されていないと判定した場合（ステップＳ１０９，Ｎｏ）、スイッチ監視回路１３は、押し時間の計測を終了する（ステップＳ１１０）。
【００３３】
スイッチ監視回路１３は、計測した押し時間と予め定められた閾値Ｂとを比較する（ステップＳ１１１）。計測した押し時間が閾値Ｂ以上の場合（ステップＳ１１１，Ｙｅｓ）、スイッチ監視回路１３は、先の図４に示した入力動作「Ｐｏｗｅｒ長押し」であると認識し、自己診断モードを起動するステータス「０１」をＣＰＵ１６に通知する（ステップＳ１１２）。計測した押し時間が閾値Ｂより小さい場合（ステップＳ１１１，Ｎｏ）、スイッチ監視回路１３は、先の図４に示した入力動作「Ｐｏｗｅｒ短押し」であると認識し、ＯＳ１を起動するステータス「００」をＣＰＵ１６に通知する（ステップＳ１１３）。
【００３４】
つぎに、図６のフローチャートを参照して、ロード処理の動作について説明する。Ｐｏｗｅｒスイッチ１１が押されたことにより、コンピュータ１の各構成要素に電源が供給され、ＣＰＵ１６は、ＲＯＭ１４に格納されたローダプログラム１４１の実行を開始して、ローダ部として動作する。ローダ部として動作するＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２にアクセスしてＰＯＷＯＮ．ＢＴＦ２１をＲＡＭ１５にロードする（ステップＳ２００）。この動作は、スイッチ監視回路１３がステータスを認識する動作と同時に行なわれてもよい。
【００３５】
スイッチ監視回路１３からステータスが通知されると、ローダ部として動作するＣＰＵ１６は、通知されたステータス、およびＰＯＷＯＮ．ＢＴＦ２１に基づいて下位階層制御ファイルを選択する（ステップＳ２０１）。具体的には、ＣＰＵ１６は、ＰＯＷＯＮ．ＢＴＦ２１に登録されたＩＤの中から、通知されたステータスと一致するＩＤを抽出する。ＣＰＵ１６は、抽出したＩＤに関連付けられた下位階層制御ファイルのファイル名を取得する。先の図２に示したＰＯＷＯＮ．ＢＴＦ２１の場合は、通知されたステータスが「００」であれば、ＯＳ１を起動するファイル名「ＯＳ１．ＢＴＦ」を取得し、通知されたステータスが「０１」であれば、自己診断モードを起動するファイル名「ＤＩＡＧ．ＢＴＦ」を取得し、通知されたステータスが「０２」であれば、Ｈ／Ｗモニタを起動するファイル名「ＨＷＭＯＮ．ＢＴＦ」を取得し、通知されたステータスが「０３」であれば、ＯＳ２を起動するファイル名「ＯＳ２．ＢＴＦ」を取得する。ここでは、通知されたステータスが「０２」であり、ＣＰＵ１６は、Ｈ／Ｗモニタを起動するファイル名「ＨＷＭＯＮ．ＢＴＦ」を取得したものとする。
【００３６】
ローダ部として動作するＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介して、選択（取得）した下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードする（ステップＳ２０２）。ここでは、ファイル名「ＨＷＭＯＮ．ＢＴＦ」が選択されているので、ＣＰＵ１６は、リムーバブルメディア２に格納されたＨＷＭＯＮ．ＢＴＦ２２−３をＲＡＭ１５にロードする。
【００３７】
ローダ部として動作するＣＰＵ１６は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア２からＲＡＭ１５にロードする（ステップＳ２０３）。ここでは、下位階層制御ファイルとしてＨＷＭＯＮ．ＢＴＦ２２−３をＲＡＭ１５にロードしている。ＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介して、ＨＷＭＯＮ．ＢＴＦ２２−３に登録されたプログラム名が示すプログラムファイルをＲＡＭ１５にロードする。たとえば、図３に示したＨＷＭＯＮ．ＢＴＦ２２−３の場合、ＳＹＳＲＯＭ０．ＢＩＮ２３−１、ＳＹＳＲＯＭ２．ＢＩＮ２３−２、ＬＤＳＹＳ．ＳＲＥ２３−３、ＩＮＩＴＳＹＳ．ＳＲＥ２３−４、およびＨＷＭＯＮ．ＳＲＥ２３−５をＲＡＭ１５にロードする。ＨＷＭＯＮ．ＢＴＦ２２−３に登録されたプログラム名が示すプログラムファイルをすべてＲＡＭ１５にロードした後、ＣＰＵ１６は、Ｈ／Ｗモニタとしての機能を実行する。
【００３８】
以上説明したように、この第１の実施の形態においては、リムーバブルメディア２に、コンピュータ１にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子（ＩＤ）に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態を監視して、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態の組合せを示すステータスと一致するＩＤに関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア２からコンピュータ１内の不揮発性の記憶手段であるＲＡＭ１５にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態の組合せによって、コンピュータ１内の不揮発性記憶手段であるＲＯＭ１４に格納されたローダプログラム１４１を変更することなく、リムーバブルメディア２からコンピュータ１のＲＡＭ１５にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【００３９】
（第２の実施の形態）
図７〜図９を用いてこの発明の第２の実施の形態を説明する。先の第１の実施の形態では、ブートシーケンスの入力手段としてＰｏｗｅｒスイッチおよびＲｅｓｅｔスイッチを用いた場合について説明した。この第２の実施の形態では、入力手段としてキーボードやマウスなど通常コンピュータ１の入力手段をブートシーケンスの入力手段として用いる場合について説明する。
【００４０】
図７は、この発明におけるコンピュータシステムの第２の実施の形態の構成を示す図である。図７に示した第２の実施の形態のコンピュータシステムは、先の図１に示した第１の実施の形態のコンピュータシステムのＲＯＭ１４が格納するローダプログラム１４１の代わりに、ＲＯＭ１４にはローダプログラム１４１ａが格納され、ブートシーケンスの入力手段であるＰｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２と、スイッチ監視回路１３とが削除され、キーボード１８と表示部１９とが追加されている。先の図１に示した第１の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。なお、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２は、この第２の実施の形態のブートシーケンスの入力手段としての機能として必要がないので構成要件から削除したが、通常のコンピュータ１に電源を供給するスイッチとしての機能、コンピュータ１をリセットするスイッチしての機能としては存在している。
【００４１】
表示部１９は、文字や画像などを表示するディスプレイである。キーボード１８は、ユーザからに操作されるコンピュータ１の入力手段である。ここでは、キーボード１８としたが、マウスなどの入力手段であってもよい。
【００４２】
ローダプログラム１４１ａは、ブート時にＣＰＵ１６に最初に実行されるプログラムである。ＣＰＵ１６は、ローダプログラム１４１ａを実行することで、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２に格納された各種プログラムを読み込んでＲＡＭ１５に格納するロード処理を実行するローダ部として動作する。
【００４３】
ローダ部として動作するＣＰＵ１６は、上位階層制御ファイルであるＰＯＷＯＮ．ＢＴＦ２１に登録されたＩＤおよび下位階層制御ファイルのファイル名を表示部１９に表示させる。また、ＣＰＵ１６は、ユーザがキーボード１８を用いて選択したＩＤに基づいて、ＰＯＷＯＮ．ＢＴＦ２１に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをＲＡＭ１５に格納する。
【００４４】
つぎに、図８のフローチャートを参照して、この第２の実施の形態のコンピュータシステムの動作について説明する。なお、先の図６を用いて説明したロード処理と同じ動作については、その詳細な説明を省略する。コンピュータ１に電源が供給されると、ＣＰＵ１６は、ＲＯＭ１４に格納されたローダプログラム１４１ａの実行を開始して、ローダ部としての動作を開始する。
【００４５】
ローダ部として動作するＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２にアクセスしてＰＯＷＯＮ．ＢＴＦ２１をＲＡＭ１５にロードする（ステップＳ３００）。ＣＰＵ１６は、ロードしたＰＯＷＯＮ．ＢＴＦ２１に基づいて下位階層制御ファイルの選択画面を表示部１９に表示する（ステップＳ３０１）。たとえば、図９に示すように、ＰＯＷＯＮ．ＢＴＦ２１に登録されたＩＤと下位階層制御ファイルのファイル名とを関連付けた選択画面を表示部１９に表示する。
【００４６】
ユーザは、表示部１９に表示された選択画面に基づいて、実行したいブートシーケンスの下位階層制御ファイルを選択して入力する。たとえば、ユーザは、Ｈ／Ｗモニタを起動する下位階層制御ファイルであるＨＷＭＯＮ．ＢＴＦを選択する場合、キーボード１８を用いて「０２」を入力する。
【００４７】
キーボード１８は、入力された値をステータスとしてＣＰＵ１６に通知する。キーボード１８からの通知、すなわちユーザからの入力があると（ステップＳ３０２，Ｙｅｓ）、ＣＰＵ１６は、通知されたステータス、およびＰＯＷＯＮ．ＢＴＦ２１に基づいて、下位階層制御ファイルを選択する（ステップＳ３０３）。ここでは、通知されたステータスが「０２」であり、ＣＰＵ１６は、Ｈ／Ｗモニタを起動するファイル名「ＨＷＭＯＮ．ＢＴＦ」を取得したものとする。
【００４８】
ローダ部として動作するＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介して、選択（取得）した下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードする（ステップＳ３０４）。ここでは、ファイル名「ＨＷＭＯＮ．ＢＴＦ」が選択されているので、ＣＰＵ１６は、リムーバブルメディア２に格納されたＨＷＭＯＮ．ＢＴＦ２２−３をＲＡＭ１５にロードする。
【００４９】
ローダ部として動作するＣＰＵ１６は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア２からＲＡＭ１５にロードする（ステップＳ３０５）。ここでは、下位階層制御ファイルとしてＨＷＭＯＮ．ＢＴＦ２２−３をＲＡＭ１５にロードしている。ＣＰＵ１６は、リムーバブルメディアＩ／Ｆ部１７を介して、ＨＷＭＯＮ．ＢＴＦ２２−３に登録されたプログラム名が示すプログラムファイルをＲＡＭ１５にロードする。たとえば、図３に示したＨＷＭＯＮ．ＢＴＦ２２−３の場合、ＳＹＳＲＯＭ０．ＢＩＮ２３−１、ＳＹＳＲＯＭ２．ＢＩＮ２３−２、ＬＤＳＹＳ．ＳＲＥ２３−３、ＩＮＩＴＳＹＳ．ＳＲＥ２３−４、およびＨＷＭＯＮ．ＳＲＥ２３−５をＲＡＭ１５にロードする。ＨＷＭＯＮ．ＢＴＦ２２−３に登録されたプログラム名が示すプログラムファイルをすべてＲＡＭ１５にロードした後、ＣＰＵ１６は、Ｈ／Ｗモニタとしての機能を実行する。
【００５０】
以上説明したように、この第２の実施の形態においては、リムーバブルメディア２に、コンピュータ１にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子（ＩＤ）に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、上位階層制御ファイルの登録内容をメニューとして表示してユーザに選択させ、ユーザが選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア２からコンピュータ１内の不揮発性の記憶手段であるＲＡＭ１５にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、コンピュータ１内の不揮発性記憶手段であるＲＯＭ１４に格納されたローダプログラム１４１を変更することなく、リムーバブルメディア２からコンピュータ１のＲＡＭ１５にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【００５１】
（第３の実施の形態）
図１０〜図１７を用いてこの発明の第３の実施の形態を説明する。この第３の実施の形態では、先の第１および第２の実施の形態の下位階層制御ファイルのオプション情報を用いて、リムーバブルメディア２からＲＡＭ１５にプログラムファイルをロードする詳細な動作について説明する。
【００５２】
図１０は、この発明のコンピュータシステムの第３の実施の形態の構成を示す図である。図１０に示したこの第３の実施の形態のコンピュータシステムは、先の図１に示した第１の実施の形態のコンピュータシステムのＲＯＭ１４に格納されるローダプログラム１４１の代わりにローダプログラム１４１ｂが格納されている。先の図１に示した第１の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００５３】
まず、先の図３に示したＨＷＭＯＮ．ＢＴＦ２２−３のオプション情報について説明する。オプション情報は、制御情報、ロードアドレス、およびスタートアドレスで構成される。制御情報には、関連付けられたプログラム名が示すプログラムファイルの起動情報やプログラムロード情報、プログラム種別情報、動作モード情報、エラー処理情報、メッセージレベル情報など、当該プログラムファイルのロード処理および実行時の処理の各種情報が登録される。
【００５４】
図３においては、制御情報は３２ビットの各ビットに各種情報が割り当てられ、１６進数で記載されている。ビット０は起動情報が割り当てられ、各種プログラムファイルをリムーバブルメディア２からＲＡＭ１５にロードした後の起動ファイルであるか否かが登録される。ここでは、「１」が起動ファイルであることを示し、「０」が起動ファイルではないことを示している。
【００５５】
ビット１はプログラムロード情報が割り当てられ、ロードすべきプログラムファイルであるか否かが登録される。ここでは、「１」がロードすべきプログラムファイルであることを示し、「０」がロードすべきプログラムファイルではないことを示している。ビット２〜１０はプログラム種別情報が割り当てられ、ブートやＯＳ、テストなどのプログラム種別を示す情報が登録される。ここでは、ビット３が「１」であればブートに関するプログラムファイルであることを示し、ビット４が「１」であればＯＳに関するプログラムファイルであることを示し、ビット５が「１」であればテストに関するプログラムファイルであることを示し、ビット２、６〜１０は予備とする。
【００５６】
ビット１６〜１９は動作モード情報が割り当てられている。ビット２０〜２５はエラー処理情報が割り当てられ、エラー発生時の処理に関する情報（実行停止、メッセージを出力など）が登録される。ビット２６〜３１はメッセージレベル情報が割り当てられ、プログラムファイルのメッセージ表示のレベルを示す情報が登録される。動作モード情報、エラー処理情報、およびメッセージレベル情報は、プログラムファイルを起動した実行時に用いられる情報で、ロード処理時には参照することはない。また、ビット１１〜１５は、予備のビットであり、必要に応じて情報を割り当てればよい。
【００５７】
ロードアドレスには、関連付けられたプログラム名が示すプログラムファイルをロードするＲＡＭ１５の先頭アドレスが登録される。スタートアドレスには、関連付けられたプログラム名が示すプログラムファイルを起動する際に実行する最初の命令が格納されたＲＡＭ１５のアドレスが登録される。
【００５８】
ＲＡＭ１５にロードした下位階層制御ファイル（この場合はＨＷＭＯＮ．ＢＴＦ２２−３）は、ロード処理によってリムーバブルメディア２からＲＡＭ１５にロードされる各種プログラムファイルやアプリケーションプログラムからも参照可能であり、各種プログラムファイルやアプリケーションプログラムからＨＷＭＯＮ．ＢＴＦ２２−３に登録されたプログラム名のプログラムファイルを起動する際には、プログラム名に関連付けられたスタートアドレスに登録されたアドレスが示すＲＡＭ１５の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【００５９】
ローダプログラム１４１ｂは、起動処理プログラム１４１１と、制御ファイル解析プログラム１４１２と、プログラムロード処理プログラム１４１３とで構成される。起動処理プログラム１４１１は、ブート時にＣＰＵ１６に最初に起動されるプログラムで、ＲＯＭ１４に格納されたローダプログラム１４１ｂ内の制御ファイル解析プログラム１４１２およびプログラムロード処理プログラム１４１３をＲＡＭ１５にロードさせるプログラムである。
【００６０】
制御ファイル解析プログラム１４１２は、上位階層制御ファイル（ここではＰＯＷＯＮ．ＢＴＦ２１）および下位階層制御ファイル（ここではＯＳ１．ＢＴＦ２２−１、ＤＩＡＧ．ＢＴＦ２２−２、ＨＷＭＯＮ．ＢＴＦ２２−３、およびＯＳ２．ＢＴＦ２２−４）の登録内容を解析するプログラムである。プログラムロード処理プログラム１４１３は、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２からＲＡＭ１５に各種プログラムをロードするプログラムである。
【００６１】
ＣＰＵ１６は、起動処理プログラム１４１１、制御ファイル解析プログラム１４１２、およびプログラムロード処理プログラム１４１３を実行することで、図１１に示すように起動処理部１６１、制御ファイル解析部１６２、およびプログラムロード処理部１６３として動作する。起動処理部１６１は、ＲＯＭ１４に格納されるローダプログラム１４１ｂ内の制御ファイル解析プログラム１４１２およびプログラムロード処理プログラム１４１３をＲＡＭ１５にロードする。
【００６２】
制御ファイル解析部１６２は、スイッチ監視回路１３から通知されたステータスに基づいて、ＰＯＷＯＮ．ＢＴＦ２１に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルを解析してプログラムファイルのロードに必要な情報（ロード情報）をプログラムロード処理部１６３に通知する。プログラムロード処理部１６３は、制御ファイル解析部１６２から通知されたロード情報に基づいて、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２からＲＡＭ１５にプログラムファイルをロードする。
【００６３】
つぎに、この第３の実施の形態のコンピュータシステムのロード処理の動作について説明する。この第３の実施の形態のコンピュータシステムのロード処理の動作は、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合と、テストに関するプログラムではないことが登録されている場合と
で異なる。まず、図１２のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムではないことが登録されている場合のロード処理の動作について説明する。
【００６４】
ユーザは、コンピュータ１をブートするためにＰｏｗｅｒスイッチ１１、またはＰｏｗｅｒスイッチ１１とＲｅｓｅｔスイッチ１２とを押す。Ｐｏｗｅｒスイッチ１１が押されたことにより、コンピュータ１の各構成要素に電源が供給され、ＣＰＵ１６は、ＲＯＭ１４に格納されたローダプログラム１４１ｂの実行を開始し、スイッチ監視回路１３は、Ｐｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２の状態の監視を開始する。スイッチ監視回路１３は、先の図５のフローチャートを参照して説明したステータス認識処理によって、認識したステータスをＣＰＵ１６に通知する。
【００６５】
一方、ＣＰＵ１６は、ＲＯＭ１４に格納されたローダプログラム１４１ｂ内の起動処理プログラム１４１１を実行することで起動処理部１６１として動作する。起動処理部１６１は、ＲＯＭ１４に格納されたローダプログラム１４１ｂ内の制御ファイル解析プログラム１４１２およびプログラムロード処理プログラム１４１３をＲＡＭ１５にロードする（ステップＳ４００）。
【００６６】
起動処理部１６１は、制御ファイル解析プログラム１４１２およびプログラムロード処理プログラム１４１３をＲＡＭ１５にロードした後に、ＲＡＭ１５にロードした制御ファイル解析プログラムを起動する（ステップＳ４０１）。これにより、ＣＰＵ１６は、制御ファイル解析部１６２として動作する。制御ファイル解析部１６２は、リムーバブルメディアＩ／Ｆ部１７を介して、ＰＯＷＯＮ．ＢＴＦ２１をＲＡＭ１５にロードする（ステップＳ４０２）。
【００６７】
制御ファイル解析部１６２は、スイッチ監視回路１３から通知されたステータス、およびＰＯＷＯＮ．ＢＴＦ２１に基づいて下位階層制御ファイルを選択する（ステップＳ４０３）。具体的には、制御ファイル解析部１６２は、ＰＯＷＯＮ．ＢＴＦ２１に登録されたＩＤの中から、通知されたステータスと一致するＩＤを抽出する。ここでは、ステータスとして「０２」が通知され、制御ファイル解析部１６２、Ｈ／Ｗモニタを起動するファイル名「ＨＷＭＯＮ．ＢＴＦ」を取得したものとする。
【００６８】
制御ファイル解析部１６２は、リムーバブルメディアＩ／Ｆ部１７を介して、選択（取得）した下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードする（ステップＳ４０４）。ここでは、ファイル名「ＨＷＭＯＮ．ＢＴＦ」が選択されているので、制御ファイル解析部１６２は、リムーバブルメディア２に格納されたＨＷＭＯＮ．ＢＴＦ２２−３をＲＡＭ１５にロードする。
【００６９】
制御ファイル解析部１６２は、ロードした下位階層制御ファイルをリードしてファイル名およびオプション情報（制御情報、ロードアドレス、およびスタートアドレス）を取得する（ステップＳ４０５）。先の図３に示したＨＷＭＯＮ．ＢＴＦ２２−３の場合、制御ファイル解析部１６２は、まず、コメント行を除く最初の行のプログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」、制御情報「０００００００３」、ロードアドレス「ａ００８００００」、およびスタートアドレス「a００８０１００」を取得する。
【００７０】
制御ファイル解析部１６２は、取得した制御情報に基づいてロードの必要があるか否かを判定する（ステップＳ４０６）。上述したように、制御情報のプログラムロード情報（制御情報のビット１）にロードすべきプログラムファイルであるか否かの情報が登録されている。したがって、制御ファイル解析部１６２は、制御情報のビット１が「１」であればロードの必要があるファイルであると判定し、制御情報のビット１が「０」であればロードの必要がないファイルであると判定する。ロードの必要がないと判定した場合（ステップＳ４０６，Ｎｏ）、制御ファイル解析部１６２は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップＳ４０５の処理に戻る。ここでは、制御情報は「０００００００３」でありビット１は「１」である。よって、制御ファイル解析部１６２は、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」はロードすべきプログラムファイルであると判定する。
【００７１】
ロードの必要があると判定した場合（ステップＳ４０６、Ｙｅｓ）、制御ファイル解析部１６２は、制御情報のビット０（起動ビット）が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部１６２は、取得したプログラム名およびロードアドレスをロード情報としてプログラムロード処理プログラム１４１３を起動する（ステップＳ４０７）。これにより、ＣＰＵ１６は、プログラムロード処理部１６３として動作する。ここでは、ロード情報は、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」、およびロードアドレス「ａ００８００００」となる。
【００７２】
プログラムロード処理部１６３は、制御ファイル解析部１６２からのロード情報に基づいて、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２からＲＡＭ１５にプログラムファイルをロードする（ステップＳ４０８）。ここでは、ロード情報は、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」、およびロードアドレス「ａ００８００００」、であるので、プログラムロード処理部１６３は、リムーバブルメディアＩ／Ｆ部１７を介して、リムーバブルメディア２に格納されたＳＹＳＲＯＭ０．ＢＩＮ２３−１を、ＲＡＭ１５のアドレス「ａ００８００００」が示す領域にロードする。
【００７３】
ＲＡＭ１５にプログラムファイル（ここでは、ＳＹＳＲＯＭ０．ＢＩＮ２３−１）をロードした後、プログラムロード処理部１６３は、制御ファイル解析プログラム１４１２を起動する。これにより、ＣＰＵ１６は、制御ファイル解析部１６２として動作する。
【００７４】
制御ファイル解析部１６２は、下位階層制御ファイルの最終行（図３においては「ＥＮＤ」）を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かを判定し、ロードの必要があると判定した場合には、プログラムロード処理部１６３が、プログラム名およびロードアドレスに基づいてリムーバブルメディア２からＲＡＭ１５にプログラムファイルをロードする処理を繰り返し、下位階層制御ファイルに登録されたロードすべきプログラムファイルをＲＡＭ１５にロードする（ステップＳ４０５〜Ｓ４０９）。
【００７５】
先の図３に示したＨＷＭＯＮ．ＢＴＦ２２−３の場合、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」、「ＳＹＳＲＯＭ２．ＢＩＮ」、「ＬＤＳＹＳ．ＳＲＥ」、「ＩＮＩＴＳＹＳ．ＳＲＥ」、「ＨＷＭＯＮ．ＳＲＥ」の各制御情報のロード情報（ビット１）が「１」であるので、リムーバブルメディア２に格納されたＳＹＳＲＯＭ０．ＢＩＮ２３−１がＲＡＭ１５のアドレス「ａ００８０００」から格納され、リムーバブルメディア２に格納されたＳＹＳＲＯＭ２．ＢＩＮ２３−２がＲＡＭ１５のアドレス「ａ００ｃ０００」から格納され、リムーバブルメディア２に格納されたＬＤＳＹＳ．ＳＲＥ２３−３がＲＡＭ１５のアドレス「ａ００ｆ０００」から格納され、リムーバブルメディア２に格納されたＩＮＩＴＳＹＳ．ＳＲＥ２３−４がＲＡＭ１５のアドレス「ａ０１００００」から格納され、リムーバブルメディア２に格納されたＨＷＭＯＮ．ＳＲＥ２３−５がＲＡＭ１５のアドレス「ａ０１３０００」から格納される。また、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」に関連付けられた制御情報の起動情報（ビット０）が「１」であるので、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」に関連付けられたスタートアドレス「ａ００８０１００」が保持される。
【００７６】
下位階層制御ファイルの終了（最終行）まで解析した後（ステップＳ４０９，Ｙｅｓ）、制御ファイル解析部１６２は、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する（ステップＳ４１０）。具体的には、制御ファイル解析部１６２は、下位階層制御ファイルの解析の際に保持したスタートアドレス、すなわち、起動ビットに「１」が登録されていた制御情報に関連付けられたプログラム名のスタートアドレスに登録されたアドレスが示すＲＡＭ１５の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。ここでは、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」に関連付けられたスタートアドレス「ａ００８０１００」が保持されているので、アドレス「ａ００８０１００」が示すＲＡＭ１５の領域に格納された命令に制御を移行してプログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」のプログラムファイルを起動する。
【００７７】
また、プログラム名「ＳＹＳＲＯＭ０．ＢＩＮ」のプログラムファイルから下位階層制御ファイルの制御情報の起動情報に起動プログラムではないことが登録されたプログラム名のプログラムファイルを起動する場合には、下位階層制御ファイルを参照して、起動すべきプログラムファイルのプログラム名に関連付けられたスタートアドレスを取得し、取得したスタートアドレスに登録されたアドレスが示すＲＡＭ１５の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【００７８】
つぎに、図１３〜図１５を用いて、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合について説明する。図１３は、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図である。図１３においては、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けて制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」が登録され、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」に関連付けて制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」が登録され、プログラム名「ＢＯＯＴＦＷ．ＢＩＮ」に関連付けて制御情報「０００００００３」、ロードアドレス「ａ００８００００」、スタートアドレス「ａ００８００００」が登録され、プログラム名「ＯＳ．ＢＩＮ」に関連付けて制御情報「０００００００２」、ロードアドレス「ａ００ｃ００００」、スタートアドレス「ａ００ｃ０１００」が登録され、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」に関連付けて制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」が登録され、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」に関連付けて制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」が登録されている。すなわち、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている（制御情報のビット５が「１」）プログラム名（ＴＥＳＴ１．ＢＩＮ、ＴＥＳＴ２．ＢＩＮ、ＴＥＳＴ９．ＢＩＮ、ＴＥＳＴ１０．ＢＩＮ）に関連付けられたロードアドレスおよびスタートアドレスには、それぞれ同一のアドレス「ａ００３００００」および「ａ００３０１００」が登録されている。このように、デバッグモニタ上（非ＯＳ下）で動作させるテストプログラムなどは、固定の同じ物理アドレスで動作させることが多い。
【００７９】
図１４のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合のコンピュータシステムのロード処理の動作について説明する。なお、電源が投入されてＣＰＵ１６がローダプログラム１４１ｂ内の起動処理プログラム１４１１を実行することで起動処理部１６１として動作してＲＡＭ１５に制御ファイル解析プログラム１４１２およびプログラムロード処理プログラム１４１３をロードし、ＣＰＵ１６が、制御ファイル解析プログラム１４１２を実行することで制御ファイル解析部１６２として動作してＰＯＷＯＮ．ＢＴＦ２１をリムーバブルメディア２からＲＡＭ１５にロードし、スイッチ監視回路１３から通知されたステータスおよびＰＯＷＯＮ．ＢＴＦ２１に基づいて下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードする動作は、先の図１２のフローチャートを参照して説明したステップＳ４００〜Ｓ４０４と同様の動作であるので、ここではその説明を省略する。なお、ここでは、先の図１３に示した下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードしたものとする。
【００８０】
制御ファイル解析部１６２は、ロードした下位階層制御ファイルをリードしてプログラム名およびオプション情報（制御情報、ロードアドレス、およびスタートアドレス）を取得する（ステップＳ５００）。制御ファイル解析部１６２は、取得した制御情報に基づいてロードの必要があるか否かを判定する（ステップＳ５０１）。ロードの必要がないと判定した場合（ステップＳ５０１，Ｎｏ）、制御ファイル解析部１６２は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップＳ５００の処理に戻る。
【００８１】
ロードの必要があると判定した場合（ステップＳ５０１，Ｙｅｓ）、制御ファイル解析部１６２は、取得した制御情報に基づいてプログラム退避を行なうか否かを判定する（ステップＳ５０２）。具体的には、制御ファイル解析部１６２は、制御情報のプログラム種別情報がテストに関するプログラムであることを示しているか否か、（ここでは、制御情報のビット５が「１」であるか否か）を判定し、制御情報のビット５が「１」である場合にはプログラム退避を行なうと判定し、制御情報のビット５が「０」である場合にはプログラム退避を行なわないと判定する。プログラム退避とは、一旦プログラムをＲＡＭ１５のテンポラリー領域に記憶し、プログラム実行の際に当該プログラムをＲＡＭ１５の所定の領域にコピーして実行させることをいう。
【００８２】
プログラム退避を行なわないと判定した場合（ステップＳ５０２，Ｎｏ）、制御情報のビット０（起動ビット）が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部１６２は、取得したプログラム名およびロードアドレスをロード情報とし、プログラムロード処理プログラム１４１３を起動する（ステップＳ５０３）。これにより、ＣＰＵ１６は、プログラムロード処理部１６３として動作する。
【００８３】
プログラムロード処理部１６３は、制御ファイル解析部１６２からのロード情報に基づいて、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２からＲＡＭ１５にプログラムファイルをロードする（ステップＳ５０４）。すなわち、プログラムロード処理部１６３は、下位階層制御ファイルのロードアドレスに示されたＲＡＭ１５のアドレスに下位階層制御ファイルのプログラム名に登録されたプログラム名が示すリムーバブルメディア２内のプログラムファイルをロードする。
【００８４】
一方、プログラム退避を行なうと判定した場合（ステップＳ５０２，Ｙｅｓ）、制御ファイル解析部１６２は、下位階層制御ファイルから取得したプログラム名とテンポラリーアドレスとをロード情報とする。テンポラリーアドレスとは、下位階層制御ファイルから取得したロードアドレスで指定された領域とは異なるＲＡＭ１５のテンポラリー領域を示すアドレスであり、実際にプログラム名が示すプログラムファイルがロードされるＲＡＭ１５のアドレスのことである。
【００８５】
制御ファイル解析部１６２は、下位階層制御ファイルから取得したプログラム名、制御情報、ロードアドレス、およびスタートアドレスと、テンポラリーアドレスとを関連付けたプログラムロード情報をＲＡＭ１５の所定の領域に格納する（ステップＳ５０５）。制御ファイル解析部１６２は、取得したプログラム名およびテンポラリーアドレスをロード情報としてプログラムロード処理プログラム１４１３を起動する（ステップＳ５０６）。これにより、ＣＰＵ１６は、プログラムロード処理部１６３として動作する。
【００８６】
プログラムロード処理部１６３は、制御ファイル解析部１６２からのロード情報に基づいて、リムーバブルメディアＩ／Ｆ部１７を介してリムーバブルメディア２からＲＡＭ１５にプログラムファイルをテンポラリー領域にロードする（ステップＳ５０７）。
【００８７】
制御ファイル解析部１６２は、下位階層制御ファイルの最終行（図１３においては「ＥＮＤ」）を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かおよびプログラム退避が必要であるか否かを判定し、ロードの必要がありかつプログラム退避が必要でないと判定された場合には、プログラムロード処理部１６３が下位階層制御ファイルのプログラム名が示すリムーバブルメディア２内のプログラムファイルを下位階層制御ファイルのロードアドレスが示すＲＡＭ１５の領域にロードし、ロードの必要がありかつプログラム退避が必要である判定された場合には、プログラムロード処理部１６３が下位階層制御ファイルのプログラム名が示すリムーバブルメディア２内のプログラムファイルを下位階層制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示すＲＡＭ１５の領域にロードする動作を繰り返す（ステップＳ５０２〜Ｓ５０８）。
【００８８】
制御ファイル解析部１６２は、下位階層制御ファイルの終了（最終行）まで解析した後（ステップＳ５０８，Ｙｅｓ）、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する（ステップＳ５０９）。
【００８９】
図１５は、先の図１３に示した下位階層制御ファイルに基づいてリムーバブルメディア２に格納されたプログラムファイルをＲＡＭ１５にロードした際のロード状態を示す図である。先の図１３に示した下位階層制御ファイルにおいては、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」、「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」、「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」、「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」の制御情報のプログラム種別情報にはテストに関するプログラムであること（制御情報のビット５に「１」）が登録され、プログラム名「ＢＯＯＴＦＷ．ＢＩＮ」、「ＯＳ．ＢＩＮ」の制御情報のプログラム種別情報にはテストに関するプログラムではないこと（制御情報のビット５に「０」）が登録されている。したがって、リムーバブルメディア２に格納されたプログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」のプログラムファイルは、テンポラリーアドレス「ｂ０００００００」が示すＲＡＭ１５の領域にロードされ、リムーバブルメディア２に格納されたプログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」のプログラムファイルは、テンポラリーアドレス「ｂ００５００００」が示すＲＡＭ１５の領域にロードされ、リムーバブルメディア２に格納されたプログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」は、テンポラリーアドレス「ｂ０１０００００」が示すＲＡＭ１５の領域にロードされ、リムーバブルメディア２に格納されたプログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」のプログラムファイルは、テンポラリーアドレス「ｂ０１ｆ００００」が示すＲＡＭ１５の領域にロードされている。また、リムーバブルメディア２に格納されたプログラム名「ＢＯＯＴＦＷ．ＢＩＮ」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「ａ００８００００」が示すＲＡＭ１５の領域にロードされ、ムーバブルメディア２に格納されたプログラム名「ＯＳ．ＢＩＮ」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「ａ００ｃ００００」が示すＲＡＭ１５の領域にロードされている。
【００９０】
また、ＲＡＭ１５のデータ領域には、制御ファイル解析部１６２が図１４のステップＳ５０５の処理によって生成したプログラムロード情報が格納されている。図１６は、プログラムロード情報の一例を示す図である。図１６において、プログラムロード情報には、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けた制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」、およびテンポラリーアドレスとしてのＲＡＭアドレス「ｂ０００００００」と、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」に関連付けた制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」、およびテンポラリーアドレスとしてのＲＡＭアドレス「ｂ００５００００」と、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」に関連付けた制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」、およびテンポラリーアドレスとしてのＲＡＭアドレス「ｂ０１０００００」と、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」に関連付けた制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」、およびテンポラリーアドレスとしてのＲＡＭアドレス「ｂ０１ｆ００００」とが登録されたプログラムロード情報が格納されている。
【００９１】
つぎに、図１７のフローチャートを参照して、テンポラリー領域に格納されたプログラムファイルを起動するテストプログラム起動処理の動作について説明する。先の図１４を参照して説明したロード処理において、制御ファイル解析部１６２として動作するＣＰＵ１６は、下位階層制御ファイルの終了（最終行）まで解析した後、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行し、その後、ＲＡＭ１５に格納されたアプリケーションプログラムを実行して、テストに関するプログラムファイルを起動する。アプリケーションプログラムを実行することによってアプリケーション処理部として動作するＣＰＵ１６は、プログラムファイルを起動する際に、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されているか否かを判定する（ステップＳ６００）。
【００９２】
起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されている場合（ステップＳ６００，Ｙｅｓ）、アプリケーション処理部は、プログラムロード情報に基づいて、起動すべきプログラムファイルをテンポラリー領域からテストプログラム格納領域にコピーする（ステップＳ６０１）。たとえば、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」を起動する場合、アプリケーション処理部は、プログラムロード情報のプログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けられた制御情報「００００００２２」、ロードアドレス「ａ００３００００」、スタートアドレス「ａ００３０１００」、およびＲＡＭアドレス「ｂ０００００００」を取得する。
【００９３】
アプリケーション処理部は、取得したＲＡＭアドレス「ｂ０００００００」を先頭アドレスとするＲＡＭ１５の領域に格納されているプログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」のプログラムファイルを、取得したロードアドレス「ａ００３００００」を先頭アドレスとするＲＡＭ１５のテストプログラム格納領域にコピーする。
【００９４】
アプリケーション処理部は、プログラムロード情報に基づいて起動すべきプログラムを起動する（ステップＳ６０２）。具体的には、プログラムロード情報から取得したスタートアドレス（この場合は、スタートアドレス「ａ００３０１００」）が示すＲＡＭ１５のプログラムファイルの命令を実行することで起動すべきプログラムを起動してテストに関するプログラムファイルに処理を移行する。
【００９５】
一方、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されていない場合（ステップＳ６００，Ｎｏ）、アプリケーション処理部は、下位階層制御ファイルに基づいて起動すべきプログラムを起動する（ステップＳ６０３）。具体的には、アプリケーション処理部は、起動すべきプログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのプログラム名に関連付けて登録されたスタートアドレスを取得する。アプリケーション処理部は、取得したスタートアドレスが示すＲＡＭ１５のプログラムファイルの命令を実行することで起動すべきプログラムを起動して処理を移行する。
【００９６】
つぎに、テンポラリー領域に格納された複数のプログラムファイルをアプリケーションプログラムを順番に起動する動作について説明する。なお、ここでは、先の図１４のフローチャートを参照して説明したロード処理によって、ＲＡＭ１５のデータ領域に先の図１６に示したプログラムロード情報が格納されているものとする。また、アプリケーションプログラムは、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」の順にプログラムファイルを起動するものとする。
【００９７】
アプリケーションプログラムを実行することでＣＰＵ１６はアプリケーション処理部として動作する。アプリケーション処理部は、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」を起動する際に、先の図１７のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けられてプログラムロード情報に登録されたＲＡＭアドレス「ｂ０００００００」を先頭アドレスとするＲＡＭ１５のテンポラリー領域に格納されているプログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」のプログラムファイルは、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けられてプログラムロード情報に登録されたロードアドレス「ａ００３００００」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」に関連付けられてプログラムロード情報に登録されたスタートアドレス「ａ００３０１００」が示すＲＡＭ１５のプログラムファイルの命令を実行することでプログラム名「ＴＥＳＴ１．ＢＩＮ：ＴＥＳＴ１」のプログラムファイルに処理を移行する。これにより、ＣＰＵ１６は、第１のテスト処理部として第１のテスト処理を実行する。第１のテスト処理部は第１のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、ＣＰＵ１６は、アプリケーション処理部として動作する。
【００９８】
アプリケーション処理部は、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」を起動する際に、先の図１７のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」に関連付けられてプログラムロード情報に登録されたＲＡＭアドレス「ｂ００５００００」を先頭アドレスとするＲＡＭ１５のテンポラリー領域に格納されているプログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」のプログラムファイルは、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」に関連付けられてプログラムロード情報に登録されたロードアドレス「ａ００３００００」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」に関連付けられてプログラムロード情報に登録されたスタートアドレス「ａ００３０１００」が示すＲＡＭ１５のプログラムファイルの命令を実行することでプログラム名「ＴＥＳＴ２．ＢＩＮ：ＴＥＳＴ２」のプログラムファイルに処理を移行する。これにより、ＣＰＵ１６は、第２のテスト処理部として第２のテスト処理を実行する。第２のテスト処理部は第２のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、ＣＰＵ１６は、アプリケーション処理部として動作する。
【００９９】
アプリケーション処理部は、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」を起動する際に、先の図１７のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」に関連付けられてプログラムロード情報に登録されたＲＡＭアドレス「ｂ０１０００００」を先頭アドレスとするＲＡＭ１５のテンポラリー領域に格納されているプログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」のプログラムファイルは、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」に関連付けられてプログラムロード情報に登録されたロードアドレス「ａ００３００００」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」に関連付けられてプログラムロード情報に登録されたスタートアドレス「ａ００３０１００」が示すＲＡＭ１５のプログラムファイルの命令を実行することでプログラム名「ＴＥＳＴ９＿ＢＩＮ：ＴＥＳＴ３」のプログラムファイルに処理を移行する。これにより、ＣＰＵ１６は、第３のテスト処理部として第３のテスト処理を実行する。第３のテスト処理部は第３のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、ＣＰＵ１６は、アプリケーション処理部として動作する。
【０１００】
アプリケーション処理部は、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」を起動する際に、先の図１７のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」に関連付けられてプログラムロード情報に登録されたＲＡＭアドレス「ｂ０１ｆ００００」を先頭アドレスとするＲＡＭ１５のテンポラリー領域に格納されているプログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」のプログラムファイルは、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」に関連付けられてプログラムロード情報に登録されたロードアドレス「ａ００３００００」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」に関連付けられてプログラムロード情報に登録されたスタートアドレス「ａ００３０１００」が示すＲＡＭ１５のプログラムファイルの命令を実行することでプログラム名「ＴＥＳＴ１０＿ＢＩＮ：ＴＥＳＴ４」のプログラムファイルに処理を移行する。これにより、ＣＰＵ１６は、第４のテスト処理部として第４のテスト処理を実行する。第４のテスト処理部は第４のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、ＣＰＵ１６は、アプリケーション処理部として動作する。
【０１０１】
以上説明したように、この第３の実施の形態においては、リムーバブルメディア２は、コンピュータ１にロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルである下位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータ１は、下位階層制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す揮発性の記憶手段であるＲＡＭ１５の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示すＲＡＭ１５の領域にロードし、ＲＡＭ１５のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのロードアドレスが示すＲＡＭ１５の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することが可能となる。
【０１０２】
また、デバッグモニタ上（非ＯＳ下）で動作させるテストプログラムなどは、固定の物理アドレスで動作させることが多く、テストプログラムが多数存在するとき、プログラム１つのみを１回のシステム起動でロードすることは非効率である。しかし、この第３の実施の形態においては、下位階層制御ファイルに、プログラム種別情報が所定のプログラム種別であることを示し、ＲＡＭ１６への当該プログラムファイルのロードアドレスに同一のアドレスが登録された複数のプログラム名を登録しておくことで、プログラム種別情報に所定のプログラム種別であることを示す複数のプログラムファイルをＲＡＭ１５のテンポラリーアドレスが示す領域にロードしておき、各プログラムファイルの実行の際にテンポラリーアドレスが示すＲＡＭ１５の領域にロードされた各プログラムファイルを、制御ファイルのロードアドレスに登録された同一のアドレスが示すＲＡＭ１５の領域にコピーしてから各プログラムファイルを実行するようにしているため、コンピュータ１を再起動することなく、ロードアドレスが同一アドレスのプログラムファイルを順次実行することを可能としている。
【０１０３】
また、この第３の実施の形態においては、リムーバブルメディア２からＲＡＭ１５に下位階層制御ファイルに登録されたすべてのプログラムファイルをロードした後に、起動情報に起動プログラムであることを示す情報が登録されたプログラム名に関連付けられて下位階層制御ファイルのスタートアドレスに登録されたスタートアドレスが示すＲＡＭ１５の領域の命令に制御を移行してプログラムファイルを起動するようにしているため、起動時に使用するプログラムファイルの構成や、ローダから制御を移行するプログラムファイルのスタートアドレスに変更があった場合でも、下位階層制御ファイルを変更するだけで、ローダを変更することなく対応することが可能となる。
【０１０４】
さらに、この第３の実施の形態においては、下位階層制御ファイルの制御情報のプログラムロード情報に基づいて、当該プログラム名が示すプログラムファイルをリムーバブルメディア２からＲＡＭ１５にロードするか否かを判定するようにしているため、リムーバブルメディア２内のプログラムファイルを変更することなく、下位階層制御ファイルを変更するだけで、ロードするプログラムファイルを変更することが可能となる。
【０１０５】
なお、この第３の実施の形態においては、ブートシーケンスを選択する入力手段としてＰｏｗｅｒスイッチ１１およびＲｅｓｅｔスイッチ１２を用いた第１の実施の形態のコンピュータシステムを例に挙げて説明したが、ブートシーケンスを選択する入力手段としてキーボード１８を用いる第２の実施の形態のコンピュータシステムであってもかまわない。
【０１０６】
また、第１〜第３の実施の形態においては、上位および下位階層制御ファイルをリムーバブルメディア２からＲＡＭ１５にロードして解析するようにしたが、ＲＡＭ１５にロードすることなく、直接リムーバブルメディア２内の上位および下位階層制御ファイルを解析し、プログラムファイルのみをリムーバブルメディア２からＲＡＭ１５にロードするようにしてもよい。
【図面の簡単な説明】
【０１０７】
【図１】この発明におけるコンピュータシステムの第１の実施の形態の構成を示す図。
【図２】図１に示したＰＯＷＯＮ．ＢＴＦの一例を示す図。
【図３】図１に示したＨＷＭＯＮ．ＢＴＦの一例を示す図。
【図４】ＰｏｗｅｒスイッチおよびＲｅｓｅｔスイッチを選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図。
【図５】図１に示したスイッチ監視回路のステータス認識処理の動作を説明するためのフローチャート。
【図６】第１の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図７】この発明におけるコンピュータシステムの第２の実施の形態の構成を示す図。
【図８】第２の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図９】図７に示した表示部に表示される選択画面の一例を示す図。
【図１０】この発明におけるコンピュータシステムの第３の実施の形態の構成を示す図。
【図１１】この発明におけるコンピュータシステムの第３の実施の形態の構成を示す図。
【図１２】第３の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図１３】制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図。
【図１４】第３の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図１５】リムーバブルメディアに格納されたプログラムファイルをＲＡＭにロードした際のロード状態を示す図。
【図１６】プログラムロード情報の一例を示す図。
【図１７】テンポラリーアドレスに格納されたプログラムファイルの起動の動作を説明するためのフローチャート。
【符号の説明】
【０１０８】
１    コンピュータ
２    リムーバブルメディア
１１  Ｐｏｗｅｒスイッチ
１２  Ｒｅｓｅｔスイッチ
１３  スイッチ監視回路
１４  ＲＯＭ
１５  ＲＡＭ
１６  ＣＰＵ
１８  キーボード
１９  表示部
２１  ＰＯＷＯＮ．ＢＴＦ
２２−１  ＯＳ１．ＢＴＦ
２２−２  ＤＩＡＧ．ＢＴＦ
２２−３  ＨＷＭＯＮ．ＢＴＦ
２２−４  ＯＳ２．ＢＴＦ
２３−１  ＳＹＳＲＯＭ０．ＢＩＮ
２３−２  ＳＹＳＲＯＭ２．ＢＩＮ
２３−３  ＬＤＳＹＳ．ＳＲＥ
２３−４  ＩＮＩＴＳＹＳ．ＳＲＥ
２３−５  ＨＷＭＯＮ．ＳＲＥ
１４１、１４１ａ、１４１ｂ  ローダプログラム
１６１    起動処理部
１６２    制御ファイル解析部
１６３    プログラムロード処理部
１４１１  起動処理プログラム
１４１２  制御ファイル解析プログラム
１４１３  プログラムロード処理プログラム
【図１】
2009175792.tif 000003
【図２】
2009175792.tif 000004
【図３】
2009175792.tif 000005
【図４】
2009175792.tif 000006
【図５】
2009175792.tif 000007
【図６】
2009175792.tif 000008
【図７】
2009175792.tif 000009
【図８】
2009175792.tif 000010
【図９】
2009175792.tif 000011
【図１０】
2009175792.tif 000012
【図１１】
2009175792.tif 000013
【図１２】
2009175792.tif 000014
【図１３】
2009175792.tif 000015
【図１４】
2009175792.tif 000016
【図１５】
2009175792.tif 000017
【図１６】
2009175792.tif 000018
【図１７】
2009175792.tif 000019