コンピュータシステムおよびプログラムロード方法
【課題】リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスやロードアドレスを柔軟に変更することができるコンピュータシステムを得ること。
【解決手段】スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態を監視して両スイッチの状態の組み合わせに応じたステータスをCPU16に通知する。ローダプログラム141を実行することでローダ部として動作するCPU16は、ステータスに基づいてリムーバブルメディア2に格納されたOWON.BTF21に登録されたOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、OS2.BTF22−4の何れかのファイル名を選択し、選択したファイルに登録されたプログラムファイルをリムーバブルメディア2からRAM15にロードする。
【解決手段】スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態を監視して両スイッチの状態の組み合わせに応じたステータスをCPU16に通知する。ローダプログラム141を実行することでローダ部として動作するCPU16は、ステータスに基づいてリムーバブルメディア2に格納されたOWON.BTF21に登録されたOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、OS2.BTF22−4の何れかのファイル名を選択し、選択したファイルに登録されたプログラムファイルをリムーバブルメディア2からRAM15にロードする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータと、該コンピュータに着脱可能なリムーバブルメディアとで構成されるコンピュータシステムに関するものであり、特に、リムーバブルメディアから必要なプログラムファイルを選択してコンピュータにロードするブート処理に関するものである。
【背景技術】
【0002】
従来から、メディアに格納されたプログラムをコンピュータ内のメモリにロードするブート処理に関する種々の技術が考えられている。たとえば、特許文献1に記載の従来技術には、複数の起動モードの中の何れか一つを選択してシステムを起動させる際に、システムが起動するための必要な時間を起動モード応じて最小化させるコンピュータシステムに関する技術が開示されている。
【0003】
具体的には、特許文献1に記載の従来技術では、ユーザによって操作されたジョグレバーユニットがそれぞれ異なる機能を遂行する複数の起動モードの中の何れか1つを選択するための複数の制御信号をマイクロコンピュータに出力する。マイクロコンピュータは、BIOS ROMに格納されているスタートアップルーチン(プログラム)の中から、ジョグレバーユニットからの制御信号に対応する起動モードに必要なプログラムを選択し、選択したプログラムを実行することによって対応するオペレーティングシステムを起動するようにしている。
【0004】
また、特許文献2に記載の従来技術には、装置に着脱可能な不揮発性記憶媒体から装置内のRAM(Random Access Memory)にプログラムをブートする方式であって、プログラムの起動をより高速に行う画像処理装置に関する技術が開示されている。
【0005】
具体的には、特許文献2に記載の従来技術では、最初に不揮発性記憶媒体からRAMにプログラムを読み込む際に不揮発性記憶媒体からRAMへの読み込み履歴情報として、転送元である不揮発性記憶媒体のセクタNoと、転送先であるRAMのアドレスと、機器の構成情報を登録し、CPUを介して不揮発性記憶媒体からRAMにプログラムを読み込む通常起動を実行するのか、CPUを介することなく読み込み履歴情報を用いて不揮発性記憶媒体からRAMにプログラムを読み込む高速起動を実行するのかが登録される起動フラグに、高速起動を実行することを示す情報を設定する。これにより、つぎに不揮発性記憶媒体からRAMにプログラムを読み込む際には、起動フラグに高速起動を実行することを示す情報が設定されているので、現在の機器の構成が読み込み履歴情報に登録された機器の構成情報と同じであれば、当該機器の構成情報に関連付けられたセクタNoおよびアドレスを用いてプロセッサを介することなく不揮発性記憶媒体からRAMにプログラムを読み込むことができる。
【0006】
しかしながら、上記特許文献1に記載の従来技術では、ジョグレバーユニットによって選択した起動モードに対応するプログラム実行するため、プログラムを選択することはできるが、起動モードに対する必要なプログラムを変更することはできないという問題があった。そのため、ブートシーケンス自体を修正したり、拡張したりすることは困難となる。この問題は、たとえば、プログラムを選択してロードするローダプログラムをリムーバブルメディアに備えることで若干改善されるが、それでも、ローダプログラムを修正、拡張する度に、コンパイルしてリムーバブルメディアに書き込む作業が必要で、効率がよいとはいえない。
【0007】
また、上記特許文献2に記載の従来技術では、1回不揮発性記憶媒体からRAMにプログラムを読み込んだ後は、当該機器の構成情報に関連付けられたセクタNoおよびアドレスを用いて不揮発性記憶媒体からRAMにプログラムを読み込むことができるが、起動時に使用するプログラムファイルの構成や、RAMのロード先であるロードアドレスを変更することはできないという問題があった。
【0008】
このように、上記特許文献1および特許文献2に記載の従来技術では、ブート時にリムーバブルメディアからコンピュータ内の揮発性の記憶手段にプログラムファイルをロードする際の柔軟性に乏しいという問題があった。
【0009】
【特許文献1】特開2005−332405号公報
【特許文献2】特開2006−126987号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、上記に鑑みてなされたものであって、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスやロードアドレスを柔軟に変更することができるコンピュータシステムを得ることを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、前記リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから記憶手段にロードするローダ手段と、を備えることを特徴とする。
【0012】
また、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードするプログラムロード処理手段と、を備え、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、を特徴とする。
【発明の効果】
【0013】
本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、外部から入力された選択情報および上位階層制御ファイルに基づいて下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディアからコンピュータ内の不揮発性の記憶手段にロードするようにしているため、上位および下位階層制御ファイルを変更するだけで、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスを柔軟に変更することができるコンピュータシステムを得ることができるという効果を奏する。
【0014】
また、本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータは、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードし、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することができるコンピュータシステムを得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかるコンピュータシステムの最良な実施の形態を詳細に説明する。
【0016】
(第1の実施の形態)
図1〜図6を用いてこの発明の第1の実施の形態を説明する。図1は、この発明におけるコンピュータシステムの第1の実施の形態の構成を示す図である。なお、図1に示したコンピュータシステムの構成は、この発明における第1の実施の形態のコンピュータシステムに必要な機能のみを示している。
【0017】
図1において、コンピュータシステムは、コンピュータ1と、このコンピュータ1と着脱可能であってブート処理によってコンピュータ1にロードされる各種制御ファイル(POWON.BTF21、OS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4)、および各種プログラムファイル(SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5)を格納するリムーバブルメディア2とを備えている。
【0018】
リムーバブルメディア2は、ブート処理によってコンピュータ1にロードされる制御ファイル(上位階層制御ファイルおよび下位階層制御ファイル)と、各種プログラムファイルを格納する。図1においては、リムーバブルメディア2は、POWON.BTF21、OS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、OS2.BTF22−4、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5を格納している。なお、ここでは、以下の説明に必要なファイルのみを記載しており、実際には、その他のプログラムファイルも格納している。
【0019】
POWON.BTF21は、上位階層制御ファイルであって、ブート処理によってコンピュータ1に最初にロードされる制御ファイルである。POWON.BTF21には、IDに関連付けて下位階層制御ファイルのファイル名が登録される。図2は、POWON.BTF21の一例を示す図である。図2において、POWON.BTF21には、「#」で始まるコメント行と、ファイルの最終行を示す「END」との間に、ID(識別子)とIDに関連付けられた下位階層制御ファイルのファイル名として、「BTF_00:OS1.BTF」、「BTF_01:DIAG.BTF」、「BTF_02:HWMON.BTF」、および「BTF_03:OS2.BTF」が登録されている。ここでは、「BTF_」に続く「00」、「01」、「02」、「03」がIDであり、「OS1.BTF」、「DIAG.BTF」、「HWMON.BTF」、「OS2.BTF」が下位階層制御ファイルのファイル名である。「OS1.BTF」は、第1のOS(オーベレー寝具システム)としてのOS1を起動するための下位階層制御ファイルのファイル名であり、「DIAG.BTF」は、自己診断モードを起動するための下位階層制御ファイルのファイル名であり、「HWMON.BTF」は、H/Wモニタ(ハードウェアモニタ)を起動するための下位階層制御ファイルのファイル名であり、「OS2.BTF」は、第2のOSとしてのOS2を起動するための下位階層制御ファイルのファイル名である。
【0020】
図1に戻って、リムーバブルメディア2に格納されるOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4は、下位階層制御ファイルであって、コンピュータ1にロードすべきプログラムファイルのプログラム名と当該プログラム名が示すプログラムファイルのオプション情報(制御情報、ロードアドレス、およびスタートアドレス)が登録される。図3は、HWMON.BTF22−3の一例を示す図である。図3において、HWMON.BTF22−3には、「#」で始まるコメント行と、ファイルの最終行を示す「END」との間に、プログラム名「SYSROM0.BIN」、制御情報「00000003」、ロードアドレス「a0080000」、およびスタートアドレス「a0080100」と、プログラム名「SYSROM2.BIN」、制御情報「00000002」、ロードアドレス「a00c0000」、およびスタートアドレス「a00c0100」と、プログラム名「LDSYS.SRE」、制御情報「00000002」、ロードアドレス「a00f0000」、およびスタートアドレス「a00f0100」と、プログラム名「INITSYS.SRE」、制御情報「00000002」、ロードアドレス「a0100000」、およびスタートアドレス「a0100100」と、プログラム名「HWMON.SRE」、制御情報「00000002」、ロードアドレス「a0130000」、およびスタートアドレス「a0130100」とが登録されている。
【0021】
図3において、制御情報、ロードアドレス、およびスタートアドレスがオプション情報である。このオプション情報はコンピュータ1にプログラムを読み込む際に用いられる情報であるが、詳細は後述する第3の実施の形態で説明する。なお、ここでは、HWMON.BTF22−3を一例として説明したが、OS1.BTF22−1、DIAG.BTF22−2、およびOS2.BTF22−4も登録フォーマットは同様で、コンピュータ1にロードすべきプログラム名とオプション情報とが登録される。
【0022】
図1に戻って、リムーバブルメディア2に格納されたSYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5は、コンピュータ1にロードされて実行されるプログラムファイルである。
【0023】
コンピュータ1は、Powerスイッチ11、Resetスイッチ12、スイッチ監視回路13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、CPU(Central Processing Unit)16、およびリムーバブルメディアインタフェース部(以下、リムーバブルメディアI/F部という)17を備えている。Powerスイッチ11は、コンピュータ1の電源スイッチであって、ユーザによって操作されその操作によってコンピュータ1に電源を供給するか否かを制御する。Resetスイッチ12は、ユーザによって操作され、その操作によってコンピュータ1をリセットするか否かを制御する。また、Powerスイッチ11およびResetスイッチ12は、コンピュータシステムのブートシーケンスを選択するブートシーケンス入力手段として用いられる。
【0024】
スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態を監視して、Powerスイッチ11およびResetスイッチ12がブートシーケンス入力手段として用いられた際のユーザの操作の状態(入力動作)からブートシーケンスを選択するためのステータスを認識する。スイッチ監視回路13は、認識したステータスをCPU16に通知する。
【0025】
図4は、Powerスイッチ11およびResetスイッチ12を選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図である。図1においては、Powerスイッチ11およびResetスイッチ12は、押しボタンのスイッチとしている。スイッチ監視回路13は、Powerスイッチ11が押された時間が予め定められた閾値以下の場合には、入力動作はPower短押しでありステータスは「00」であると認識する。スイッチ監視回路13は、Powerスイッチ11が押された時間が予め定められた閾値より長い場合には、入力動作はPower長押しでありステータスは「01」であると認識する。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が両方押された時間が予め定められた閾値以下の場合には、入力動作はPower+Reset短押しでありステータスは「02」であると認識する。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が両方押された時間が予め定められた閾値より長い場合には、入力動作はPower+Reset長押しでありステータスは「03」であると認識する。
【0026】
なお、ここでは、入力動作を「Power短押し」、「Power長押し」、「Power+Reset短押し」、および「Power+Reset長押し」として4種類のステータスを割り当てたが、入力動作はこれに限るものではなく、ステータスの数もこれに限るものではない。
【0027】
図1に戻って、リムーバブルメディアI/F部17は、リムーバブルメディア2とコンピュータ1とのインタフェース機能を備えている。ROM14はローダプログラム141を格納する。ローダプログラム141は、ブート時にCPU16に最初に実行されるプログラムである。CPU16は、ローダプログラム141を実行することで、リムーバブルメディアI/F部17を介してリムーバブルメディア2に格納された各種プログラムを読み込んでRAM15に格納するロード処理を実行するローダ部として動作する。
【0028】
ローダ部として動作するCPU16は、スイッチ監視回路13から通知されるステータスに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをRAM15に格納する。
【0029】
つぎに、この第1の実施の形態のコンピュータシステムの動作について説明する。ユーザは、コンピュータ1をブートするためにPowerスイッチ11、またはPowerスイッチ11とResetスイッチ12とを押す。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141の実行を開始し、スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態の監視を開始する。
【0030】
まず、図5のフローチャートを参照して、スイッチ監視回路13のステータス認識処理の動作を説明する。スイッチ監視回路13は、Powerスイッチ11が押されたことを検出すると(ステップS100,Yes)、Resetスイッチ12が押されているか否かを判定する(ステップS101)。Resetスイッチ12が押されていると判定した場合(ステップS101,Yes)、スイッチ監視回路13は、コンピュータ1内の計時機能を用いて押し時間の計測を開始する(ステップS102)。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が押されているか否かを判定する(ステップS103)。Powerスイッチ11およびResetスイッチ12が押されていないと判定した場合(ステップS103,No)、スイッチ監視回路13は、押し時間の計測を終了する(ステップS104)。
【0031】
スイッチ監視回路13は、計測した押し時間と予め定められた閾値Aとを比較する(ステップS105)。計測した押し時間が閾値A以上の場合(ステップS105,Yes)、スイッチ監視回路13は、先の図4に示した入力動作「Power+Reset長押し」であると認識し、OS2を起動するステータス「03」をCPU16に通知する(ステップS106)。計測した押し時間が閾値Aより小さい場合(ステップS105,No)、スイッチ監視回路13は、先の図4に示した入力動作「Power+Reset短押し」であると認識し、H/Wモニタを起動するステータス「02」をCPU16に通知する(ステップS107)。
【0032】
一方、Resetスイッチ12が押されていないと判定した場合(ステップS101,No)、スイッチ監視回路13は、コンピュータ1内の計時機能を用いて押し時間の計測を開始する(ステップS108)。スイッチ監視回路13は、Powerスイッチ11が押されているか否かを判定する(ステップS109)。Powerスイッチ11が押されていないと判定した場合(ステップS109,No)、スイッチ監視回路13は、押し時間の計測を終了する(ステップS110)。
【0033】
スイッチ監視回路13は、計測した押し時間と予め定められた閾値Bとを比較する(ステップS111)。計測した押し時間が閾値B以上の場合(ステップS111,Yes)、スイッチ監視回路13は、先の図4に示した入力動作「Power長押し」であると認識し、自己診断モードを起動するステータス「01」をCPU16に通知する(ステップS112)。計測した押し時間が閾値Bより小さい場合(ステップS111,No)、スイッチ監視回路13は、先の図4に示した入力動作「Power短押し」であると認識し、OS1を起動するステータス「00」をCPU16に通知する(ステップS113)。
【0034】
つぎに、図6のフローチャートを参照して、ロード処理の動作について説明する。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141の実行を開始して、ローダ部として動作する。ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介してリムーバブルメディア2にアクセスしてPOWON.BTF21をRAM15にロードする(ステップS200)。この動作は、スイッチ監視回路13がステータスを認識する動作と同時に行なわれてもよい。
【0035】
スイッチ監視回路13からステータスが通知されると、ローダ部として動作するCPU16は、通知されたステータス、およびPOWON.BTF21に基づいて下位階層制御ファイルを選択する(ステップS201)。具体的には、CPU16は、POWON.BTF21に登録されたIDの中から、通知されたステータスと一致するIDを抽出する。CPU16は、抽出したIDに関連付けられた下位階層制御ファイルのファイル名を取得する。先の図2に示したPOWON.BTF21の場合は、通知されたステータスが「00」であれば、OS1を起動するファイル名「OS1.BTF」を取得し、通知されたステータスが「01」であれば、自己診断モードを起動するファイル名「DIAG.BTF」を取得し、通知されたステータスが「02」であれば、H/Wモニタを起動するファイル名「HWMON.BTF」を取得し、通知されたステータスが「03」であれば、OS2を起動するファイル名「OS2.BTF」を取得する。ここでは、通知されたステータスが「02」であり、CPU16は、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0036】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS202)。ここでは、ファイル名「HWMON.BTF」が選択されているので、CPU16は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0037】
ローダ部として動作するCPU16は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア2からRAM15にロードする(ステップS203)。ここでは、下位階層制御ファイルとしてHWMON.BTF22−3をRAM15にロードしている。CPU16は、リムーバブルメディアI/F部17を介して、HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをRAM15にロードする。たとえば、図3に示したHWMON.BTF22−3の場合、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5をRAM15にロードする。HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをすべてRAM15にロードした後、CPU16は、H/Wモニタとしての機能を実行する。
【0038】
以上説明したように、この第1の実施の形態においては、リムーバブルメディア2に、コンピュータ1にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子(ID)に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、Powerスイッチ11およびResetスイッチ12の状態を監視して、Powerスイッチ11およびResetスイッチ12の状態の組合せを示すステータスと一致するIDに関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア2からコンピュータ1内の不揮発性の記憶手段であるRAM15にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、Powerスイッチ11およびResetスイッチ12の状態の組合せによって、コンピュータ1内の不揮発性記憶手段であるROM14に格納されたローダプログラム141を変更することなく、リムーバブルメディア2からコンピュータ1のRAM15にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【0039】
(第2の実施の形態)
図7〜図9を用いてこの発明の第2の実施の形態を説明する。先の第1の実施の形態では、ブートシーケンスの入力手段としてPowerスイッチおよびResetスイッチを用いた場合について説明した。この第2の実施の形態では、入力手段としてキーボードやマウスなど通常コンピュータ1の入力手段をブートシーケンスの入力手段として用いる場合について説明する。
【0040】
図7は、この発明におけるコンピュータシステムの第2の実施の形態の構成を示す図である。図7に示した第2の実施の形態のコンピュータシステムは、先の図1に示した第1の実施の形態のコンピュータシステムのROM14が格納するローダプログラム141の代わりに、ROM14にはローダプログラム141aが格納され、ブートシーケンスの入力手段であるPowerスイッチ11およびResetスイッチ12と、スイッチ監視回路13とが削除され、キーボード18と表示部19とが追加されている。先の図1に示した第1の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。なお、Powerスイッチ11およびResetスイッチ12は、この第2の実施の形態のブートシーケンスの入力手段としての機能として必要がないので構成要件から削除したが、通常のコンピュータ1に電源を供給するスイッチとしての機能、コンピュータ1をリセットするスイッチしての機能としては存在している。
【0041】
表示部19は、文字や画像などを表示するディスプレイである。キーボード18は、ユーザからに操作されるコンピュータ1の入力手段である。ここでは、キーボード18としたが、マウスなどの入力手段であってもよい。
【0042】
ローダプログラム141aは、ブート時にCPU16に最初に実行されるプログラムである。CPU16は、ローダプログラム141aを実行することで、リムーバブルメディアI/F部17を介してリムーバブルメディア2に格納された各種プログラムを読み込んでRAM15に格納するロード処理を実行するローダ部として動作する。
【0043】
ローダ部として動作するCPU16は、上位階層制御ファイルであるPOWON.BTF21に登録されたIDおよび下位階層制御ファイルのファイル名を表示部19に表示させる。また、CPU16は、ユーザがキーボード18を用いて選択したIDに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをRAM15に格納する。
【0044】
つぎに、図8のフローチャートを参照して、この第2の実施の形態のコンピュータシステムの動作について説明する。なお、先の図6を用いて説明したロード処理と同じ動作については、その詳細な説明を省略する。コンピュータ1に電源が供給されると、CPU16は、ROM14に格納されたローダプログラム141aの実行を開始して、ローダ部としての動作を開始する。
【0045】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介してリムーバブルメディア2にアクセスしてPOWON.BTF21をRAM15にロードする(ステップS300)。CPU16は、ロードしたPOWON.BTF21に基づいて下位階層制御ファイルの選択画面を表示部19に表示する(ステップS301)。たとえば、図9に示すように、POWON.BTF21に登録されたIDと下位階層制御ファイルのファイル名とを関連付けた選択画面を表示部19に表示する。
【0046】
ユーザは、表示部19に表示された選択画面に基づいて、実行したいブートシーケンスの下位階層制御ファイルを選択して入力する。たとえば、ユーザは、H/Wモニタを起動する下位階層制御ファイルであるHWMON.BTFを選択する場合、キーボード18を用いて「02」を入力する。
【0047】
キーボード18は、入力された値をステータスとしてCPU16に通知する。キーボード18からの通知、すなわちユーザからの入力があると(ステップS302,Yes)、CPU16は、通知されたステータス、およびPOWON.BTF21に基づいて、下位階層制御ファイルを選択する(ステップS303)。ここでは、通知されたステータスが「02」であり、CPU16は、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0048】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS304)。ここでは、ファイル名「HWMON.BTF」が選択されているので、CPU16は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0049】
ローダ部として動作するCPU16は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア2からRAM15にロードする(ステップS305)。ここでは、下位階層制御ファイルとしてHWMON.BTF22−3をRAM15にロードしている。CPU16は、リムーバブルメディアI/F部17を介して、HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをRAM15にロードする。たとえば、図3に示したHWMON.BTF22−3の場合、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5をRAM15にロードする。HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをすべてRAM15にロードした後、CPU16は、H/Wモニタとしての機能を実行する。
【0050】
以上説明したように、この第2の実施の形態においては、リムーバブルメディア2に、コンピュータ1にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子(ID)に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、上位階層制御ファイルの登録内容をメニューとして表示してユーザに選択させ、ユーザが選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア2からコンピュータ1内の不揮発性の記憶手段であるRAM15にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、コンピュータ1内の不揮発性記憶手段であるROM14に格納されたローダプログラム141を変更することなく、リムーバブルメディア2からコンピュータ1のRAM15にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【0051】
(第3の実施の形態)
図10〜図17を用いてこの発明の第3の実施の形態を説明する。この第3の実施の形態では、先の第1および第2の実施の形態の下位階層制御ファイルのオプション情報を用いて、リムーバブルメディア2からRAM15にプログラムファイルをロードする詳細な動作について説明する。
【0052】
図10は、この発明のコンピュータシステムの第3の実施の形態の構成を示す図である。図10に示したこの第3の実施の形態のコンピュータシステムは、先の図1に示した第1の実施の形態のコンピュータシステムのROM14に格納されるローダプログラム141の代わりにローダプログラム141bが格納されている。先の図1に示した第1の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0053】
まず、先の図3に示したHWMON.BTF22−3のオプション情報について説明する。オプション情報は、制御情報、ロードアドレス、およびスタートアドレスで構成される。制御情報には、関連付けられたプログラム名が示すプログラムファイルの起動情報やプログラムロード情報、プログラム種別情報、動作モード情報、エラー処理情報、メッセージレベル情報など、当該プログラムファイルのロード処理および実行時の処理の各種情報が登録される。
【0054】
図3においては、制御情報は32ビットの各ビットに各種情報が割り当てられ、16進数で記載されている。ビット0は起動情報が割り当てられ、各種プログラムファイルをリムーバブルメディア2からRAM15にロードした後の起動ファイルであるか否かが登録される。ここでは、「1」が起動ファイルであることを示し、「0」が起動ファイルではないことを示している。
【0055】
ビット1はプログラムロード情報が割り当てられ、ロードすべきプログラムファイルであるか否かが登録される。ここでは、「1」がロードすべきプログラムファイルであることを示し、「0」がロードすべきプログラムファイルではないことを示している。ビット2〜10はプログラム種別情報が割り当てられ、ブートやOS、テストなどのプログラム種別を示す情報が登録される。ここでは、ビット3が「1」であればブートに関するプログラムファイルであることを示し、ビット4が「1」であればOSに関するプログラムファイルであることを示し、ビット5が「1」であればテストに関するプログラムファイルであることを示し、ビット2、6〜10は予備とする。
【0056】
ビット16〜19は動作モード情報が割り当てられている。ビット20〜25はエラー処理情報が割り当てられ、エラー発生時の処理に関する情報(実行停止、メッセージを出力など)が登録される。ビット26〜31はメッセージレベル情報が割り当てられ、プログラムファイルのメッセージ表示のレベルを示す情報が登録される。動作モード情報、エラー処理情報、およびメッセージレベル情報は、プログラムファイルを起動した実行時に用いられる情報で、ロード処理時には参照することはない。また、ビット11〜15は、予備のビットであり、必要に応じて情報を割り当てればよい。
【0057】
ロードアドレスには、関連付けられたプログラム名が示すプログラムファイルをロードするRAM15の先頭アドレスが登録される。スタートアドレスには、関連付けられたプログラム名が示すプログラムファイルを起動する際に実行する最初の命令が格納されたRAM15のアドレスが登録される。
【0058】
RAM15にロードした下位階層制御ファイル(この場合はHWMON.BTF22−3)は、ロード処理によってリムーバブルメディア2からRAM15にロードされる各種プログラムファイルやアプリケーションプログラムからも参照可能であり、各種プログラムファイルやアプリケーションプログラムからHWMON.BTF22−3に登録されたプログラム名のプログラムファイルを起動する際には、プログラム名に関連付けられたスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【0059】
ローダプログラム141bは、起動処理プログラム1411と、制御ファイル解析プログラム1412と、プログラムロード処理プログラム1413とで構成される。起動処理プログラム1411は、ブート時にCPU16に最初に起動されるプログラムで、ROM14に格納されたローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードさせるプログラムである。
【0060】
制御ファイル解析プログラム1412は、上位階層制御ファイル(ここではPOWON.BTF21)および下位階層制御ファイル(ここではOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4)の登録内容を解析するプログラムである。プログラムロード処理プログラム1413は、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15に各種プログラムをロードするプログラムである。
【0061】
CPU16は、起動処理プログラム1411、制御ファイル解析プログラム1412、およびプログラムロード処理プログラム1413を実行することで、図11に示すように起動処理部161、制御ファイル解析部162、およびプログラムロード処理部163として動作する。起動処理部161は、ROM14に格納されるローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードする。
【0062】
制御ファイル解析部162は、スイッチ監視回路13から通知されたステータスに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルを解析してプログラムファイルのロードに必要な情報(ロード情報)をプログラムロード処理部163に通知する。プログラムロード処理部163は、制御ファイル解析部162から通知されたロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする。
【0063】
つぎに、この第3の実施の形態のコンピュータシステムのロード処理の動作について説明する。この第3の実施の形態のコンピュータシステムのロード処理の動作は、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合と、テストに関するプログラムではないことが登録されている場合と
で異なる。まず、図12のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムではないことが登録されている場合のロード処理の動作について説明する。
【0064】
ユーザは、コンピュータ1をブートするためにPowerスイッチ11、またはPowerスイッチ11とResetスイッチ12とを押す。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141bの実行を開始し、スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態の監視を開始する。スイッチ監視回路13は、先の図5のフローチャートを参照して説明したステータス認識処理によって、認識したステータスをCPU16に通知する。
【0065】
一方、CPU16は、ROM14に格納されたローダプログラム141b内の起動処理プログラム1411を実行することで起動処理部161として動作する。起動処理部161は、ROM14に格納されたローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードする(ステップS400)。
【0066】
起動処理部161は、制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードした後に、RAM15にロードした制御ファイル解析プログラムを起動する(ステップS401)。これにより、CPU16は、制御ファイル解析部162として動作する。制御ファイル解析部162は、リムーバブルメディアI/F部17を介して、POWON.BTF21をRAM15にロードする(ステップS402)。
【0067】
制御ファイル解析部162は、スイッチ監視回路13から通知されたステータス、およびPOWON.BTF21に基づいて下位階層制御ファイルを選択する(ステップS403)。具体的には、制御ファイル解析部162は、POWON.BTF21に登録されたIDの中から、通知されたステータスと一致するIDを抽出する。ここでは、ステータスとして「02」が通知され、制御ファイル解析部162、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0068】
制御ファイル解析部162は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS404)。ここでは、ファイル名「HWMON.BTF」が選択されているので、制御ファイル解析部162は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0069】
制御ファイル解析部162は、ロードした下位階層制御ファイルをリードしてファイル名およびオプション情報(制御情報、ロードアドレス、およびスタートアドレス)を取得する(ステップS405)。先の図3に示したHWMON.BTF22−3の場合、制御ファイル解析部162は、まず、コメント行を除く最初の行のプログラム名「SYSROM0.BIN」、制御情報「00000003」、ロードアドレス「a0080000」、およびスタートアドレス「a0080100」を取得する。
【0070】
制御ファイル解析部162は、取得した制御情報に基づいてロードの必要があるか否かを判定する(ステップS406)。上述したように、制御情報のプログラムロード情報(制御情報のビット1)にロードすべきプログラムファイルであるか否かの情報が登録されている。したがって、制御ファイル解析部162は、制御情報のビット1が「1」であればロードの必要があるファイルであると判定し、制御情報のビット1が「0」であればロードの必要がないファイルであると判定する。ロードの必要がないと判定した場合(ステップS406,No)、制御ファイル解析部162は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップS405の処理に戻る。ここでは、制御情報は「00000003」でありビット1は「1」である。よって、制御ファイル解析部162は、プログラム名「SYSROM0.BIN」はロードすべきプログラムファイルであると判定する。
【0071】
ロードの必要があると判定した場合(ステップS406、Yes)、制御ファイル解析部162は、制御情報のビット0(起動ビット)が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部162は、取得したプログラム名およびロードアドレスをロード情報としてプログラムロード処理プログラム1413を起動する(ステップS407)。これにより、CPU16は、プログラムロード処理部163として動作する。ここでは、ロード情報は、プログラム名「SYSROM0.BIN」、およびロードアドレス「a0080000」となる。
【0072】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする(ステップS408)。ここでは、ロード情報は、プログラム名「SYSROM0.BIN」、およびロードアドレス「a0080000」、であるので、プログラムロード処理部163は、リムーバブルメディアI/F部17を介して、リムーバブルメディア2に格納されたSYSROM0.BIN23−1を、RAM15のアドレス「a0080000」が示す領域にロードする。
【0073】
RAM15にプログラムファイル(ここでは、SYSROM0.BIN23−1)をロードした後、プログラムロード処理部163は、制御ファイル解析プログラム1412を起動する。これにより、CPU16は、制御ファイル解析部162として動作する。
【0074】
制御ファイル解析部162は、下位階層制御ファイルの最終行(図3においては「END」)を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かを判定し、ロードの必要があると判定した場合には、プログラムロード処理部163が、プログラム名およびロードアドレスに基づいてリムーバブルメディア2からRAM15にプログラムファイルをロードする処理を繰り返し、下位階層制御ファイルに登録されたロードすべきプログラムファイルをRAM15にロードする(ステップS405〜S409)。
【0075】
先の図3に示したHWMON.BTF22−3の場合、プログラム名「SYSROM0.BIN」、「SYSROM2.BIN」、「LDSYS.SRE」、「INITSYS.SRE」、「HWMON.SRE」の各制御情報のロード情報(ビット1)が「1」であるので、リムーバブルメディア2に格納されたSYSROM0.BIN23−1がRAM15のアドレス「a008000」から格納され、リムーバブルメディア2に格納されたSYSROM2.BIN23−2がRAM15のアドレス「a00c000」から格納され、リムーバブルメディア2に格納されたLDSYS.SRE23−3がRAM15のアドレス「a00f000」から格納され、リムーバブルメディア2に格納されたINITSYS.SRE23−4がRAM15のアドレス「a010000」から格納され、リムーバブルメディア2に格納されたHWMON.SRE23−5がRAM15のアドレス「a013000」から格納される。また、プログラム名「SYSROM0.BIN」に関連付けられた制御情報の起動情報(ビット0)が「1」であるので、プログラム名「SYSROM0.BIN」に関連付けられたスタートアドレス「a0080100」が保持される。
【0076】
下位階層制御ファイルの終了(最終行)まで解析した後(ステップS409,Yes)、制御ファイル解析部162は、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する(ステップS410)。具体的には、制御ファイル解析部162は、下位階層制御ファイルの解析の際に保持したスタートアドレス、すなわち、起動ビットに「1」が登録されていた制御情報に関連付けられたプログラム名のスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。ここでは、プログラム名「SYSROM0.BIN」に関連付けられたスタートアドレス「a0080100」が保持されているので、アドレス「a0080100」が示すRAM15の領域に格納された命令に制御を移行してプログラム名「SYSROM0.BIN」のプログラムファイルを起動する。
【0077】
また、プログラム名「SYSROM0.BIN」のプログラムファイルから下位階層制御ファイルの制御情報の起動情報に起動プログラムではないことが登録されたプログラム名のプログラムファイルを起動する場合には、下位階層制御ファイルを参照して、起動すべきプログラムファイルのプログラム名に関連付けられたスタートアドレスを取得し、取得したスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【0078】
つぎに、図13〜図15を用いて、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合について説明する。図13は、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図である。図13においては、プログラム名「TEST1.BIN:TEST1」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「TEST2.BIN:TEST2」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「BOOTFW.BIN」に関連付けて制御情報「00000003」、ロードアドレス「a0080000」、スタートアドレス「a0080000」が登録され、プログラム名「OS.BIN」に関連付けて制御情報「00000002」、ロードアドレス「a00c0000」、スタートアドレス「a00c0100」が登録され、プログラム名「TEST9_BIN:TEST3」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「TEST10_BIN:TEST4」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録されている。すなわち、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている(制御情報のビット5が「1」)プログラム名(TEST1.BIN、TEST2.BIN、TEST9.BIN、TEST10.BIN)に関連付けられたロードアドレスおよびスタートアドレスには、それぞれ同一のアドレス「a0030000」および「a0030100」が登録されている。このように、デバッグモニタ上(非OS下)で動作させるテストプログラムなどは、固定の同じ物理アドレスで動作させることが多い。
【0079】
図14のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合のコンピュータシステムのロード処理の動作について説明する。なお、電源が投入されてCPU16がローダプログラム141b内の起動処理プログラム1411を実行することで起動処理部161として動作してRAM15に制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をロードし、CPU16が、制御ファイル解析プログラム1412を実行することで制御ファイル解析部162として動作してPOWON.BTF21をリムーバブルメディア2からRAM15にロードし、スイッチ監視回路13から通知されたステータスおよびPOWON.BTF21に基づいて下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする動作は、先の図12のフローチャートを参照して説明したステップS400〜S404と同様の動作であるので、ここではその説明を省略する。なお、ここでは、先の図13に示した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードしたものとする。
【0080】
制御ファイル解析部162は、ロードした下位階層制御ファイルをリードしてプログラム名およびオプション情報(制御情報、ロードアドレス、およびスタートアドレス)を取得する(ステップS500)。制御ファイル解析部162は、取得した制御情報に基づいてロードの必要があるか否かを判定する(ステップS501)。ロードの必要がないと判定した場合(ステップS501,No)、制御ファイル解析部162は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップS500の処理に戻る。
【0081】
ロードの必要があると判定した場合(ステップS501,Yes)、制御ファイル解析部162は、取得した制御情報に基づいてプログラム退避を行なうか否かを判定する(ステップS502)。具体的には、制御ファイル解析部162は、制御情報のプログラム種別情報がテストに関するプログラムであることを示しているか否か、(ここでは、制御情報のビット5が「1」であるか否か)を判定し、制御情報のビット5が「1」である場合にはプログラム退避を行なうと判定し、制御情報のビット5が「0」である場合にはプログラム退避を行なわないと判定する。プログラム退避とは、一旦プログラムをRAM15のテンポラリー領域に記憶し、プログラム実行の際に当該プログラムをRAM15の所定の領域にコピーして実行させることをいう。
【0082】
プログラム退避を行なわないと判定した場合(ステップS502,No)、制御情報のビット0(起動ビット)が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部162は、取得したプログラム名およびロードアドレスをロード情報とし、プログラムロード処理プログラム1413を起動する(ステップS503)。これにより、CPU16は、プログラムロード処理部163として動作する。
【0083】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする(ステップS504)。すなわち、プログラムロード処理部163は、下位階層制御ファイルのロードアドレスに示されたRAM15のアドレスに下位階層制御ファイルのプログラム名に登録されたプログラム名が示すリムーバブルメディア2内のプログラムファイルをロードする。
【0084】
一方、プログラム退避を行なうと判定した場合(ステップS502,Yes)、制御ファイル解析部162は、下位階層制御ファイルから取得したプログラム名とテンポラリーアドレスとをロード情報とする。テンポラリーアドレスとは、下位階層制御ファイルから取得したロードアドレスで指定された領域とは異なるRAM15のテンポラリー領域を示すアドレスであり、実際にプログラム名が示すプログラムファイルがロードされるRAM15のアドレスのことである。
【0085】
制御ファイル解析部162は、下位階層制御ファイルから取得したプログラム名、制御情報、ロードアドレス、およびスタートアドレスと、テンポラリーアドレスとを関連付けたプログラムロード情報をRAM15の所定の領域に格納する(ステップS505)。制御ファイル解析部162は、取得したプログラム名およびテンポラリーアドレスをロード情報としてプログラムロード処理プログラム1413を起動する(ステップS506)。これにより、CPU16は、プログラムロード処理部163として動作する。
【0086】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをテンポラリー領域にロードする(ステップS507)。
【0087】
制御ファイル解析部162は、下位階層制御ファイルの最終行(図13においては「END」)を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かおよびプログラム退避が必要であるか否かを判定し、ロードの必要がありかつプログラム退避が必要でないと判定された場合には、プログラムロード処理部163が下位階層制御ファイルのプログラム名が示すリムーバブルメディア2内のプログラムファイルを下位階層制御ファイルのロードアドレスが示すRAM15の領域にロードし、ロードの必要がありかつプログラム退避が必要である判定された場合には、プログラムロード処理部163が下位階層制御ファイルのプログラム名が示すリムーバブルメディア2内のプログラムファイルを下位階層制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示すRAM15の領域にロードする動作を繰り返す(ステップS502〜S508)。
【0088】
制御ファイル解析部162は、下位階層制御ファイルの終了(最終行)まで解析した後(ステップS508,Yes)、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する(ステップS509)。
【0089】
図15は、先の図13に示した下位階層制御ファイルに基づいてリムーバブルメディア2に格納されたプログラムファイルをRAM15にロードした際のロード状態を示す図である。先の図13に示した下位階層制御ファイルにおいては、プログラム名「TEST1.BIN:TEST1」、「TEST2.BIN:TEST2」、「TEST9_BIN:TEST3」、「TEST10_BIN:TEST4」の制御情報のプログラム種別情報にはテストに関するプログラムであること(制御情報のビット5に「1」)が登録され、プログラム名「BOOTFW.BIN」、「OS.BIN」の制御情報のプログラム種別情報にはテストに関するプログラムではないこと(制御情報のビット5に「0」)が登録されている。したがって、リムーバブルメディア2に格納されたプログラム名「TEST1.BIN:TEST1」のプログラムファイルは、テンポラリーアドレス「b0000000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST2.BIN:TEST2」のプログラムファイルは、テンポラリーアドレス「b0050000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST9_BIN:TEST3」は、テンポラリーアドレス「b0100000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST10_BIN:TEST4」のプログラムファイルは、テンポラリーアドレス「b01f0000」が示すRAM15の領域にロードされている。また、リムーバブルメディア2に格納されたプログラム名「BOOTFW.BIN」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「a0080000」が示すRAM15の領域にロードされ、ムーバブルメディア2に格納されたプログラム名「OS.BIN」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「a00c0000」が示すRAM15の領域にロードされている。
【0090】
また、RAM15のデータ領域には、制御ファイル解析部162が図14のステップS505の処理によって生成したプログラムロード情報が格納されている。図16は、プログラムロード情報の一例を示す図である。図16において、プログラムロード情報には、プログラム名「TEST1.BIN:TEST1」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0000000」と、プログラム名「TEST2.BIN:TEST2」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0050000」と、プログラム名「TEST9_BIN:TEST3」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0100000」と、プログラム名「TEST10_BIN:TEST4」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b01f0000」とが登録されたプログラムロード情報が格納されている。
【0091】
つぎに、図17のフローチャートを参照して、テンポラリー領域に格納されたプログラムファイルを起動するテストプログラム起動処理の動作について説明する。先の図14を参照して説明したロード処理において、制御ファイル解析部162として動作するCPU16は、下位階層制御ファイルの終了(最終行)まで解析した後、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行し、その後、RAM15に格納されたアプリケーションプログラムを実行して、テストに関するプログラムファイルを起動する。アプリケーションプログラムを実行することによってアプリケーション処理部として動作するCPU16は、プログラムファイルを起動する際に、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されているか否かを判定する(ステップS600)。
【0092】
起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されている場合(ステップS600,Yes)、アプリケーション処理部は、プログラムロード情報に基づいて、起動すべきプログラムファイルをテンポラリー領域からテストプログラム格納領域にコピーする(ステップS601)。たとえば、プログラム名「TEST1.BIN:TEST1」を起動する場合、アプリケーション処理部は、プログラムロード情報のプログラム名「TEST1.BIN:TEST1」に関連付けられた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびRAMアドレス「b0000000」を取得する。
【0093】
アプリケーション処理部は、取得したRAMアドレス「b0000000」を先頭アドレスとするRAM15の領域に格納されているプログラム名「TEST1.BIN:TEST1」のプログラムファイルを、取得したロードアドレス「a0030000」を先頭アドレスとするRAM15のテストプログラム格納領域にコピーする。
【0094】
アプリケーション処理部は、プログラムロード情報に基づいて起動すべきプログラムを起動する(ステップS602)。具体的には、プログラムロード情報から取得したスタートアドレス(この場合は、スタートアドレス「a0030100」)が示すRAM15のプログラムファイルの命令を実行することで起動すべきプログラムを起動してテストに関するプログラムファイルに処理を移行する。
【0095】
一方、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されていない場合(ステップS600,No)、アプリケーション処理部は、下位階層制御ファイルに基づいて起動すべきプログラムを起動する(ステップS603)。具体的には、アプリケーション処理部は、起動すべきプログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのプログラム名に関連付けて登録されたスタートアドレスを取得する。アプリケーション処理部は、取得したスタートアドレスが示すRAM15のプログラムファイルの命令を実行することで起動すべきプログラムを起動して処理を移行する。
【0096】
つぎに、テンポラリー領域に格納された複数のプログラムファイルをアプリケーションプログラムを順番に起動する動作について説明する。なお、ここでは、先の図14のフローチャートを参照して説明したロード処理によって、RAM15のデータ領域に先の図16に示したプログラムロード情報が格納されているものとする。また、アプリケーションプログラムは、プログラム名「TEST1.BIN:TEST1」、プログラム名「TEST2.BIN:TEST2」、プログラム名「TEST9_BIN:TEST3」、プログラム名「TEST10_BIN:TEST4」の順にプログラムファイルを起動するものとする。
【0097】
アプリケーションプログラムを実行することでCPU16はアプリケーション処理部として動作する。アプリケーション処理部は、プログラム名「TEST1.BIN:TEST1」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0000000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST1.BIN:TEST1」のプログラムファイルは、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST1.BIN:TEST1」のプログラムファイルに処理を移行する。これにより、CPU16は、第1のテスト処理部として第1のテスト処理を実行する。第1のテスト処理部は第1のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0098】
アプリケーション処理部は、プログラム名「TEST2.BIN:TEST2」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0050000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST2.BIN:TEST2」のプログラムファイルは、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST2.BIN:TEST2」のプログラムファイルに処理を移行する。これにより、CPU16は、第2のテスト処理部として第2のテスト処理を実行する。第2のテスト処理部は第2のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0099】
アプリケーション処理部は、プログラム名「TEST9_BIN:TEST3」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0100000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST9_BIN:TEST3」のプログラムファイルは、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST9_BIN:TEST3」のプログラムファイルに処理を移行する。これにより、CPU16は、第3のテスト処理部として第3のテスト処理を実行する。第3のテスト処理部は第3のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0100】
アプリケーション処理部は、プログラム名「TEST10_BIN:TEST4」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b01f0000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST10_BIN:TEST4」のプログラムファイルは、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST10_BIN:TEST4」のプログラムファイルに処理を移行する。これにより、CPU16は、第4のテスト処理部として第4のテスト処理を実行する。第4のテスト処理部は第4のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0101】
以上説明したように、この第3の実施の形態においては、リムーバブルメディア2は、コンピュータ1にロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルである下位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータ1は、下位階層制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す揮発性の記憶手段であるRAM15の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示すRAM15の領域にロードし、RAM15のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのロードアドレスが示すRAM15の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することが可能となる。
【0102】
また、デバッグモニタ上(非OS下)で動作させるテストプログラムなどは、固定の物理アドレスで動作させることが多く、テストプログラムが多数存在するとき、プログラム1つのみを1回のシステム起動でロードすることは非効率である。しかし、この第3の実施の形態においては、下位階層制御ファイルに、プログラム種別情報が所定のプログラム種別であることを示し、RAM16への当該プログラムファイルのロードアドレスに同一のアドレスが登録された複数のプログラム名を登録しておくことで、プログラム種別情報に所定のプログラム種別であることを示す複数のプログラムファイルをRAM15のテンポラリーアドレスが示す領域にロードしておき、各プログラムファイルの実行の際にテンポラリーアドレスが示すRAM15の領域にロードされた各プログラムファイルを、制御ファイルのロードアドレスに登録された同一のアドレスが示すRAM15の領域にコピーしてから各プログラムファイルを実行するようにしているため、コンピュータ1を再起動することなく、ロードアドレスが同一アドレスのプログラムファイルを順次実行することを可能としている。
【0103】
また、この第3の実施の形態においては、リムーバブルメディア2からRAM15に下位階層制御ファイルに登録されたすべてのプログラムファイルをロードした後に、起動情報に起動プログラムであることを示す情報が登録されたプログラム名に関連付けられて下位階層制御ファイルのスタートアドレスに登録されたスタートアドレスが示すRAM15の領域の命令に制御を移行してプログラムファイルを起動するようにしているため、起動時に使用するプログラムファイルの構成や、ローダから制御を移行するプログラムファイルのスタートアドレスに変更があった場合でも、下位階層制御ファイルを変更するだけで、ローダを変更することなく対応することが可能となる。
【0104】
さらに、この第3の実施の形態においては、下位階層制御ファイルの制御情報のプログラムロード情報に基づいて、当該プログラム名が示すプログラムファイルをリムーバブルメディア2からRAM15にロードするか否かを判定するようにしているため、リムーバブルメディア2内のプログラムファイルを変更することなく、下位階層制御ファイルを変更するだけで、ロードするプログラムファイルを変更することが可能となる。
【0105】
なお、この第3の実施の形態においては、ブートシーケンスを選択する入力手段としてPowerスイッチ11およびResetスイッチ12を用いた第1の実施の形態のコンピュータシステムを例に挙げて説明したが、ブートシーケンスを選択する入力手段としてキーボード18を用いる第2の実施の形態のコンピュータシステムであってもかまわない。
【0106】
また、第1〜第3の実施の形態においては、上位および下位階層制御ファイルをリムーバブルメディア2からRAM15にロードして解析するようにしたが、RAM15にロードすることなく、直接リムーバブルメディア2内の上位および下位階層制御ファイルを解析し、プログラムファイルのみをリムーバブルメディア2からRAM15にロードするようにしてもよい。
【図面の簡単な説明】
【0107】
【図1】この発明におけるコンピュータシステムの第1の実施の形態の構成を示す図。
【図2】図1に示したPOWON.BTFの一例を示す図。
【図3】図1に示したHWMON.BTFの一例を示す図。
【図4】PowerスイッチおよびResetスイッチを選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図。
【図5】図1に示したスイッチ監視回路のステータス認識処理の動作を説明するためのフローチャート。
【図6】第1の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図7】この発明におけるコンピュータシステムの第2の実施の形態の構成を示す図。
【図8】第2の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図9】図7に示した表示部に表示される選択画面の一例を示す図。
【図10】この発明におけるコンピュータシステムの第3の実施の形態の構成を示す図。
【図11】この発明におけるコンピュータシステムの第3の実施の形態の構成を示す図。
【図12】第3の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図13】制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図。
【図14】第3の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図15】リムーバブルメディアに格納されたプログラムファイルをRAMにロードした際のロード状態を示す図。
【図16】プログラムロード情報の一例を示す図。
【図17】テンポラリーアドレスに格納されたプログラムファイルの起動の動作を説明するためのフローチャート。
【符号の説明】
【0108】
1 コンピュータ
2 リムーバブルメディア
11 Powerスイッチ
12 Resetスイッチ
13 スイッチ監視回路
14 ROM
15 RAM
16 CPU
18 キーボード
19 表示部
21 POWON.BTF
22−1 OS1.BTF
22−2 DIAG.BTF
22−3 HWMON.BTF
22−4 OS2.BTF
23−1 SYSROM0.BIN
23−2 SYSROM2.BIN
23−3 LDSYS.SRE
23−4 INITSYS.SRE
23−5 HWMON.SRE
141、141a、141b ローダプログラム
161 起動処理部
162 制御ファイル解析部
163 プログラムロード処理部
1411 起動処理プログラム
1412 制御ファイル解析プログラム
1413 プログラムロード処理プログラム
【技術分野】
【0001】
本発明は、コンピュータと、該コンピュータに着脱可能なリムーバブルメディアとで構成されるコンピュータシステムに関するものであり、特に、リムーバブルメディアから必要なプログラムファイルを選択してコンピュータにロードするブート処理に関するものである。
【背景技術】
【0002】
従来から、メディアに格納されたプログラムをコンピュータ内のメモリにロードするブート処理に関する種々の技術が考えられている。たとえば、特許文献1に記載の従来技術には、複数の起動モードの中の何れか一つを選択してシステムを起動させる際に、システムが起動するための必要な時間を起動モード応じて最小化させるコンピュータシステムに関する技術が開示されている。
【0003】
具体的には、特許文献1に記載の従来技術では、ユーザによって操作されたジョグレバーユニットがそれぞれ異なる機能を遂行する複数の起動モードの中の何れか1つを選択するための複数の制御信号をマイクロコンピュータに出力する。マイクロコンピュータは、BIOS ROMに格納されているスタートアップルーチン(プログラム)の中から、ジョグレバーユニットからの制御信号に対応する起動モードに必要なプログラムを選択し、選択したプログラムを実行することによって対応するオペレーティングシステムを起動するようにしている。
【0004】
また、特許文献2に記載の従来技術には、装置に着脱可能な不揮発性記憶媒体から装置内のRAM(Random Access Memory)にプログラムをブートする方式であって、プログラムの起動をより高速に行う画像処理装置に関する技術が開示されている。
【0005】
具体的には、特許文献2に記載の従来技術では、最初に不揮発性記憶媒体からRAMにプログラムを読み込む際に不揮発性記憶媒体からRAMへの読み込み履歴情報として、転送元である不揮発性記憶媒体のセクタNoと、転送先であるRAMのアドレスと、機器の構成情報を登録し、CPUを介して不揮発性記憶媒体からRAMにプログラムを読み込む通常起動を実行するのか、CPUを介することなく読み込み履歴情報を用いて不揮発性記憶媒体からRAMにプログラムを読み込む高速起動を実行するのかが登録される起動フラグに、高速起動を実行することを示す情報を設定する。これにより、つぎに不揮発性記憶媒体からRAMにプログラムを読み込む際には、起動フラグに高速起動を実行することを示す情報が設定されているので、現在の機器の構成が読み込み履歴情報に登録された機器の構成情報と同じであれば、当該機器の構成情報に関連付けられたセクタNoおよびアドレスを用いてプロセッサを介することなく不揮発性記憶媒体からRAMにプログラムを読み込むことができる。
【0006】
しかしながら、上記特許文献1に記載の従来技術では、ジョグレバーユニットによって選択した起動モードに対応するプログラム実行するため、プログラムを選択することはできるが、起動モードに対する必要なプログラムを変更することはできないという問題があった。そのため、ブートシーケンス自体を修正したり、拡張したりすることは困難となる。この問題は、たとえば、プログラムを選択してロードするローダプログラムをリムーバブルメディアに備えることで若干改善されるが、それでも、ローダプログラムを修正、拡張する度に、コンパイルしてリムーバブルメディアに書き込む作業が必要で、効率がよいとはいえない。
【0007】
また、上記特許文献2に記載の従来技術では、1回不揮発性記憶媒体からRAMにプログラムを読み込んだ後は、当該機器の構成情報に関連付けられたセクタNoおよびアドレスを用いて不揮発性記憶媒体からRAMにプログラムを読み込むことができるが、起動時に使用するプログラムファイルの構成や、RAMのロード先であるロードアドレスを変更することはできないという問題があった。
【0008】
このように、上記特許文献1および特許文献2に記載の従来技術では、ブート時にリムーバブルメディアからコンピュータ内の揮発性の記憶手段にプログラムファイルをロードする際の柔軟性に乏しいという問題があった。
【0009】
【特許文献1】特開2005−332405号公報
【特許文献2】特開2006−126987号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、上記に鑑みてなされたものであって、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスやロードアドレスを柔軟に変更することができるコンピュータシステムを得ることを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、前記リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから記憶手段にロードするローダ手段と、を備えることを特徴とする。
【0012】
また、本発明は、コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、リムーバブルメディアは、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルと、を格納し、コンピュータは、揮発性の記憶手段と、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードするプログラムロード処理手段と、を備え、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、を特徴とする。
【発明の効果】
【0013】
本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、外部から入力された選択情報および上位階層制御ファイルに基づいて下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディアからコンピュータ内の不揮発性の記憶手段にロードするようにしているため、上位および下位階層制御ファイルを変更するだけで、ローダを変更することなく、リムーバブルメディアからコンピュータの揮発性の記憶手段にプログラムをロードする際のブートシーケンスを柔軟に変更することができるコンピュータシステムを得ることができるという効果を奏する。
【0014】
また、本発明によれば、リムーバブルメディアに、コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータは、制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す記憶手段の領域にロードし、記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することができるコンピュータシステムを得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかるコンピュータシステムの最良な実施の形態を詳細に説明する。
【0016】
(第1の実施の形態)
図1〜図6を用いてこの発明の第1の実施の形態を説明する。図1は、この発明におけるコンピュータシステムの第1の実施の形態の構成を示す図である。なお、図1に示したコンピュータシステムの構成は、この発明における第1の実施の形態のコンピュータシステムに必要な機能のみを示している。
【0017】
図1において、コンピュータシステムは、コンピュータ1と、このコンピュータ1と着脱可能であってブート処理によってコンピュータ1にロードされる各種制御ファイル(POWON.BTF21、OS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4)、および各種プログラムファイル(SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5)を格納するリムーバブルメディア2とを備えている。
【0018】
リムーバブルメディア2は、ブート処理によってコンピュータ1にロードされる制御ファイル(上位階層制御ファイルおよび下位階層制御ファイル)と、各種プログラムファイルを格納する。図1においては、リムーバブルメディア2は、POWON.BTF21、OS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、OS2.BTF22−4、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5を格納している。なお、ここでは、以下の説明に必要なファイルのみを記載しており、実際には、その他のプログラムファイルも格納している。
【0019】
POWON.BTF21は、上位階層制御ファイルであって、ブート処理によってコンピュータ1に最初にロードされる制御ファイルである。POWON.BTF21には、IDに関連付けて下位階層制御ファイルのファイル名が登録される。図2は、POWON.BTF21の一例を示す図である。図2において、POWON.BTF21には、「#」で始まるコメント行と、ファイルの最終行を示す「END」との間に、ID(識別子)とIDに関連付けられた下位階層制御ファイルのファイル名として、「BTF_00:OS1.BTF」、「BTF_01:DIAG.BTF」、「BTF_02:HWMON.BTF」、および「BTF_03:OS2.BTF」が登録されている。ここでは、「BTF_」に続く「00」、「01」、「02」、「03」がIDであり、「OS1.BTF」、「DIAG.BTF」、「HWMON.BTF」、「OS2.BTF」が下位階層制御ファイルのファイル名である。「OS1.BTF」は、第1のOS(オーベレー寝具システム)としてのOS1を起動するための下位階層制御ファイルのファイル名であり、「DIAG.BTF」は、自己診断モードを起動するための下位階層制御ファイルのファイル名であり、「HWMON.BTF」は、H/Wモニタ(ハードウェアモニタ)を起動するための下位階層制御ファイルのファイル名であり、「OS2.BTF」は、第2のOSとしてのOS2を起動するための下位階層制御ファイルのファイル名である。
【0020】
図1に戻って、リムーバブルメディア2に格納されるOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4は、下位階層制御ファイルであって、コンピュータ1にロードすべきプログラムファイルのプログラム名と当該プログラム名が示すプログラムファイルのオプション情報(制御情報、ロードアドレス、およびスタートアドレス)が登録される。図3は、HWMON.BTF22−3の一例を示す図である。図3において、HWMON.BTF22−3には、「#」で始まるコメント行と、ファイルの最終行を示す「END」との間に、プログラム名「SYSROM0.BIN」、制御情報「00000003」、ロードアドレス「a0080000」、およびスタートアドレス「a0080100」と、プログラム名「SYSROM2.BIN」、制御情報「00000002」、ロードアドレス「a00c0000」、およびスタートアドレス「a00c0100」と、プログラム名「LDSYS.SRE」、制御情報「00000002」、ロードアドレス「a00f0000」、およびスタートアドレス「a00f0100」と、プログラム名「INITSYS.SRE」、制御情報「00000002」、ロードアドレス「a0100000」、およびスタートアドレス「a0100100」と、プログラム名「HWMON.SRE」、制御情報「00000002」、ロードアドレス「a0130000」、およびスタートアドレス「a0130100」とが登録されている。
【0021】
図3において、制御情報、ロードアドレス、およびスタートアドレスがオプション情報である。このオプション情報はコンピュータ1にプログラムを読み込む際に用いられる情報であるが、詳細は後述する第3の実施の形態で説明する。なお、ここでは、HWMON.BTF22−3を一例として説明したが、OS1.BTF22−1、DIAG.BTF22−2、およびOS2.BTF22−4も登録フォーマットは同様で、コンピュータ1にロードすべきプログラム名とオプション情報とが登録される。
【0022】
図1に戻って、リムーバブルメディア2に格納されたSYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5は、コンピュータ1にロードされて実行されるプログラムファイルである。
【0023】
コンピュータ1は、Powerスイッチ11、Resetスイッチ12、スイッチ監視回路13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、CPU(Central Processing Unit)16、およびリムーバブルメディアインタフェース部(以下、リムーバブルメディアI/F部という)17を備えている。Powerスイッチ11は、コンピュータ1の電源スイッチであって、ユーザによって操作されその操作によってコンピュータ1に電源を供給するか否かを制御する。Resetスイッチ12は、ユーザによって操作され、その操作によってコンピュータ1をリセットするか否かを制御する。また、Powerスイッチ11およびResetスイッチ12は、コンピュータシステムのブートシーケンスを選択するブートシーケンス入力手段として用いられる。
【0024】
スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態を監視して、Powerスイッチ11およびResetスイッチ12がブートシーケンス入力手段として用いられた際のユーザの操作の状態(入力動作)からブートシーケンスを選択するためのステータスを認識する。スイッチ監視回路13は、認識したステータスをCPU16に通知する。
【0025】
図4は、Powerスイッチ11およびResetスイッチ12を選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図である。図1においては、Powerスイッチ11およびResetスイッチ12は、押しボタンのスイッチとしている。スイッチ監視回路13は、Powerスイッチ11が押された時間が予め定められた閾値以下の場合には、入力動作はPower短押しでありステータスは「00」であると認識する。スイッチ監視回路13は、Powerスイッチ11が押された時間が予め定められた閾値より長い場合には、入力動作はPower長押しでありステータスは「01」であると認識する。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が両方押された時間が予め定められた閾値以下の場合には、入力動作はPower+Reset短押しでありステータスは「02」であると認識する。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が両方押された時間が予め定められた閾値より長い場合には、入力動作はPower+Reset長押しでありステータスは「03」であると認識する。
【0026】
なお、ここでは、入力動作を「Power短押し」、「Power長押し」、「Power+Reset短押し」、および「Power+Reset長押し」として4種類のステータスを割り当てたが、入力動作はこれに限るものではなく、ステータスの数もこれに限るものではない。
【0027】
図1に戻って、リムーバブルメディアI/F部17は、リムーバブルメディア2とコンピュータ1とのインタフェース機能を備えている。ROM14はローダプログラム141を格納する。ローダプログラム141は、ブート時にCPU16に最初に実行されるプログラムである。CPU16は、ローダプログラム141を実行することで、リムーバブルメディアI/F部17を介してリムーバブルメディア2に格納された各種プログラムを読み込んでRAM15に格納するロード処理を実行するローダ部として動作する。
【0028】
ローダ部として動作するCPU16は、スイッチ監視回路13から通知されるステータスに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをRAM15に格納する。
【0029】
つぎに、この第1の実施の形態のコンピュータシステムの動作について説明する。ユーザは、コンピュータ1をブートするためにPowerスイッチ11、またはPowerスイッチ11とResetスイッチ12とを押す。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141の実行を開始し、スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態の監視を開始する。
【0030】
まず、図5のフローチャートを参照して、スイッチ監視回路13のステータス認識処理の動作を説明する。スイッチ監視回路13は、Powerスイッチ11が押されたことを検出すると(ステップS100,Yes)、Resetスイッチ12が押されているか否かを判定する(ステップS101)。Resetスイッチ12が押されていると判定した場合(ステップS101,Yes)、スイッチ監視回路13は、コンピュータ1内の計時機能を用いて押し時間の計測を開始する(ステップS102)。スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12が押されているか否かを判定する(ステップS103)。Powerスイッチ11およびResetスイッチ12が押されていないと判定した場合(ステップS103,No)、スイッチ監視回路13は、押し時間の計測を終了する(ステップS104)。
【0031】
スイッチ監視回路13は、計測した押し時間と予め定められた閾値Aとを比較する(ステップS105)。計測した押し時間が閾値A以上の場合(ステップS105,Yes)、スイッチ監視回路13は、先の図4に示した入力動作「Power+Reset長押し」であると認識し、OS2を起動するステータス「03」をCPU16に通知する(ステップS106)。計測した押し時間が閾値Aより小さい場合(ステップS105,No)、スイッチ監視回路13は、先の図4に示した入力動作「Power+Reset短押し」であると認識し、H/Wモニタを起動するステータス「02」をCPU16に通知する(ステップS107)。
【0032】
一方、Resetスイッチ12が押されていないと判定した場合(ステップS101,No)、スイッチ監視回路13は、コンピュータ1内の計時機能を用いて押し時間の計測を開始する(ステップS108)。スイッチ監視回路13は、Powerスイッチ11が押されているか否かを判定する(ステップS109)。Powerスイッチ11が押されていないと判定した場合(ステップS109,No)、スイッチ監視回路13は、押し時間の計測を終了する(ステップS110)。
【0033】
スイッチ監視回路13は、計測した押し時間と予め定められた閾値Bとを比較する(ステップS111)。計測した押し時間が閾値B以上の場合(ステップS111,Yes)、スイッチ監視回路13は、先の図4に示した入力動作「Power長押し」であると認識し、自己診断モードを起動するステータス「01」をCPU16に通知する(ステップS112)。計測した押し時間が閾値Bより小さい場合(ステップS111,No)、スイッチ監視回路13は、先の図4に示した入力動作「Power短押し」であると認識し、OS1を起動するステータス「00」をCPU16に通知する(ステップS113)。
【0034】
つぎに、図6のフローチャートを参照して、ロード処理の動作について説明する。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141の実行を開始して、ローダ部として動作する。ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介してリムーバブルメディア2にアクセスしてPOWON.BTF21をRAM15にロードする(ステップS200)。この動作は、スイッチ監視回路13がステータスを認識する動作と同時に行なわれてもよい。
【0035】
スイッチ監視回路13からステータスが通知されると、ローダ部として動作するCPU16は、通知されたステータス、およびPOWON.BTF21に基づいて下位階層制御ファイルを選択する(ステップS201)。具体的には、CPU16は、POWON.BTF21に登録されたIDの中から、通知されたステータスと一致するIDを抽出する。CPU16は、抽出したIDに関連付けられた下位階層制御ファイルのファイル名を取得する。先の図2に示したPOWON.BTF21の場合は、通知されたステータスが「00」であれば、OS1を起動するファイル名「OS1.BTF」を取得し、通知されたステータスが「01」であれば、自己診断モードを起動するファイル名「DIAG.BTF」を取得し、通知されたステータスが「02」であれば、H/Wモニタを起動するファイル名「HWMON.BTF」を取得し、通知されたステータスが「03」であれば、OS2を起動するファイル名「OS2.BTF」を取得する。ここでは、通知されたステータスが「02」であり、CPU16は、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0036】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS202)。ここでは、ファイル名「HWMON.BTF」が選択されているので、CPU16は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0037】
ローダ部として動作するCPU16は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア2からRAM15にロードする(ステップS203)。ここでは、下位階層制御ファイルとしてHWMON.BTF22−3をRAM15にロードしている。CPU16は、リムーバブルメディアI/F部17を介して、HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをRAM15にロードする。たとえば、図3に示したHWMON.BTF22−3の場合、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5をRAM15にロードする。HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをすべてRAM15にロードした後、CPU16は、H/Wモニタとしての機能を実行する。
【0038】
以上説明したように、この第1の実施の形態においては、リムーバブルメディア2に、コンピュータ1にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子(ID)に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、Powerスイッチ11およびResetスイッチ12の状態を監視して、Powerスイッチ11およびResetスイッチ12の状態の組合せを示すステータスと一致するIDに関連付けられて上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア2からコンピュータ1内の不揮発性の記憶手段であるRAM15にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、Powerスイッチ11およびResetスイッチ12の状態の組合せによって、コンピュータ1内の不揮発性記憶手段であるROM14に格納されたローダプログラム141を変更することなく、リムーバブルメディア2からコンピュータ1のRAM15にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【0039】
(第2の実施の形態)
図7〜図9を用いてこの発明の第2の実施の形態を説明する。先の第1の実施の形態では、ブートシーケンスの入力手段としてPowerスイッチおよびResetスイッチを用いた場合について説明した。この第2の実施の形態では、入力手段としてキーボードやマウスなど通常コンピュータ1の入力手段をブートシーケンスの入力手段として用いる場合について説明する。
【0040】
図7は、この発明におけるコンピュータシステムの第2の実施の形態の構成を示す図である。図7に示した第2の実施の形態のコンピュータシステムは、先の図1に示した第1の実施の形態のコンピュータシステムのROM14が格納するローダプログラム141の代わりに、ROM14にはローダプログラム141aが格納され、ブートシーケンスの入力手段であるPowerスイッチ11およびResetスイッチ12と、スイッチ監視回路13とが削除され、キーボード18と表示部19とが追加されている。先の図1に示した第1の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。なお、Powerスイッチ11およびResetスイッチ12は、この第2の実施の形態のブートシーケンスの入力手段としての機能として必要がないので構成要件から削除したが、通常のコンピュータ1に電源を供給するスイッチとしての機能、コンピュータ1をリセットするスイッチしての機能としては存在している。
【0041】
表示部19は、文字や画像などを表示するディスプレイである。キーボード18は、ユーザからに操作されるコンピュータ1の入力手段である。ここでは、キーボード18としたが、マウスなどの入力手段であってもよい。
【0042】
ローダプログラム141aは、ブート時にCPU16に最初に実行されるプログラムである。CPU16は、ローダプログラム141aを実行することで、リムーバブルメディアI/F部17を介してリムーバブルメディア2に格納された各種プログラムを読み込んでRAM15に格納するロード処理を実行するローダ部として動作する。
【0043】
ローダ部として動作するCPU16は、上位階層制御ファイルであるPOWON.BTF21に登録されたIDおよび下位階層制御ファイルのファイル名を表示部19に表示させる。また、CPU16は、ユーザがキーボード18を用いて選択したIDに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラムファイルをRAM15に格納する。
【0044】
つぎに、図8のフローチャートを参照して、この第2の実施の形態のコンピュータシステムの動作について説明する。なお、先の図6を用いて説明したロード処理と同じ動作については、その詳細な説明を省略する。コンピュータ1に電源が供給されると、CPU16は、ROM14に格納されたローダプログラム141aの実行を開始して、ローダ部としての動作を開始する。
【0045】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介してリムーバブルメディア2にアクセスしてPOWON.BTF21をRAM15にロードする(ステップS300)。CPU16は、ロードしたPOWON.BTF21に基づいて下位階層制御ファイルの選択画面を表示部19に表示する(ステップS301)。たとえば、図9に示すように、POWON.BTF21に登録されたIDと下位階層制御ファイルのファイル名とを関連付けた選択画面を表示部19に表示する。
【0046】
ユーザは、表示部19に表示された選択画面に基づいて、実行したいブートシーケンスの下位階層制御ファイルを選択して入力する。たとえば、ユーザは、H/Wモニタを起動する下位階層制御ファイルであるHWMON.BTFを選択する場合、キーボード18を用いて「02」を入力する。
【0047】
キーボード18は、入力された値をステータスとしてCPU16に通知する。キーボード18からの通知、すなわちユーザからの入力があると(ステップS302,Yes)、CPU16は、通知されたステータス、およびPOWON.BTF21に基づいて、下位階層制御ファイルを選択する(ステップS303)。ここでは、通知されたステータスが「02」であり、CPU16は、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0048】
ローダ部として動作するCPU16は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS304)。ここでは、ファイル名「HWMON.BTF」が選択されているので、CPU16は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0049】
ローダ部として動作するCPU16は、下位階層制御ファイルに基づいて必要なプログラムファイルをリムーバブルメディア2からRAM15にロードする(ステップS305)。ここでは、下位階層制御ファイルとしてHWMON.BTF22−3をRAM15にロードしている。CPU16は、リムーバブルメディアI/F部17を介して、HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをRAM15にロードする。たとえば、図3に示したHWMON.BTF22−3の場合、SYSROM0.BIN23−1、SYSROM2.BIN23−2、LDSYS.SRE23−3、INITSYS.SRE23−4、およびHWMON.SRE23−5をRAM15にロードする。HWMON.BTF22−3に登録されたプログラム名が示すプログラムファイルをすべてRAM15にロードした後、CPU16は、H/Wモニタとしての機能を実行する。
【0050】
以上説明したように、この第2の実施の形態においては、リムーバブルメディア2に、コンピュータ1にロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、下位階層制御ファイルを識別するための識別子(ID)に関連付けて下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、上位階層制御ファイルの登録内容をメニューとして表示してユーザに選択させ、ユーザが選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをリムーバブルメディア2からコンピュータ1内の不揮発性の記憶手段であるRAM15にロードするようにしている。すなわち、上位および下位制御ファイルの登録内容を変更するだけで、コンピュータ1内の不揮発性記憶手段であるROM14に格納されたローダプログラム141を変更することなく、リムーバブルメディア2からコンピュータ1のRAM15にプログラムをロードする際のブートシーケンスを柔軟に変更することが可能となる。
【0051】
(第3の実施の形態)
図10〜図17を用いてこの発明の第3の実施の形態を説明する。この第3の実施の形態では、先の第1および第2の実施の形態の下位階層制御ファイルのオプション情報を用いて、リムーバブルメディア2からRAM15にプログラムファイルをロードする詳細な動作について説明する。
【0052】
図10は、この発明のコンピュータシステムの第3の実施の形態の構成を示す図である。図10に示したこの第3の実施の形態のコンピュータシステムは、先の図1に示した第1の実施の形態のコンピュータシステムのROM14に格納されるローダプログラム141の代わりにローダプログラム141bが格納されている。先の図1に示した第1の実施の形態のコンピュータシステムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0053】
まず、先の図3に示したHWMON.BTF22−3のオプション情報について説明する。オプション情報は、制御情報、ロードアドレス、およびスタートアドレスで構成される。制御情報には、関連付けられたプログラム名が示すプログラムファイルの起動情報やプログラムロード情報、プログラム種別情報、動作モード情報、エラー処理情報、メッセージレベル情報など、当該プログラムファイルのロード処理および実行時の処理の各種情報が登録される。
【0054】
図3においては、制御情報は32ビットの各ビットに各種情報が割り当てられ、16進数で記載されている。ビット0は起動情報が割り当てられ、各種プログラムファイルをリムーバブルメディア2からRAM15にロードした後の起動ファイルであるか否かが登録される。ここでは、「1」が起動ファイルであることを示し、「0」が起動ファイルではないことを示している。
【0055】
ビット1はプログラムロード情報が割り当てられ、ロードすべきプログラムファイルであるか否かが登録される。ここでは、「1」がロードすべきプログラムファイルであることを示し、「0」がロードすべきプログラムファイルではないことを示している。ビット2〜10はプログラム種別情報が割り当てられ、ブートやOS、テストなどのプログラム種別を示す情報が登録される。ここでは、ビット3が「1」であればブートに関するプログラムファイルであることを示し、ビット4が「1」であればOSに関するプログラムファイルであることを示し、ビット5が「1」であればテストに関するプログラムファイルであることを示し、ビット2、6〜10は予備とする。
【0056】
ビット16〜19は動作モード情報が割り当てられている。ビット20〜25はエラー処理情報が割り当てられ、エラー発生時の処理に関する情報(実行停止、メッセージを出力など)が登録される。ビット26〜31はメッセージレベル情報が割り当てられ、プログラムファイルのメッセージ表示のレベルを示す情報が登録される。動作モード情報、エラー処理情報、およびメッセージレベル情報は、プログラムファイルを起動した実行時に用いられる情報で、ロード処理時には参照することはない。また、ビット11〜15は、予備のビットであり、必要に応じて情報を割り当てればよい。
【0057】
ロードアドレスには、関連付けられたプログラム名が示すプログラムファイルをロードするRAM15の先頭アドレスが登録される。スタートアドレスには、関連付けられたプログラム名が示すプログラムファイルを起動する際に実行する最初の命令が格納されたRAM15のアドレスが登録される。
【0058】
RAM15にロードした下位階層制御ファイル(この場合はHWMON.BTF22−3)は、ロード処理によってリムーバブルメディア2からRAM15にロードされる各種プログラムファイルやアプリケーションプログラムからも参照可能であり、各種プログラムファイルやアプリケーションプログラムからHWMON.BTF22−3に登録されたプログラム名のプログラムファイルを起動する際には、プログラム名に関連付けられたスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【0059】
ローダプログラム141bは、起動処理プログラム1411と、制御ファイル解析プログラム1412と、プログラムロード処理プログラム1413とで構成される。起動処理プログラム1411は、ブート時にCPU16に最初に起動されるプログラムで、ROM14に格納されたローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードさせるプログラムである。
【0060】
制御ファイル解析プログラム1412は、上位階層制御ファイル(ここではPOWON.BTF21)および下位階層制御ファイル(ここではOS1.BTF22−1、DIAG.BTF22−2、HWMON.BTF22−3、およびOS2.BTF22−4)の登録内容を解析するプログラムである。プログラムロード処理プログラム1413は、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15に各種プログラムをロードするプログラムである。
【0061】
CPU16は、起動処理プログラム1411、制御ファイル解析プログラム1412、およびプログラムロード処理プログラム1413を実行することで、図11に示すように起動処理部161、制御ファイル解析部162、およびプログラムロード処理部163として動作する。起動処理部161は、ROM14に格納されるローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードする。
【0062】
制御ファイル解析部162は、スイッチ監視回路13から通知されたステータスに基づいて、POWON.BTF21に登録された下位階層制御ファイルを選択し、選択した下位階層制御ファイルを解析してプログラムファイルのロードに必要な情報(ロード情報)をプログラムロード処理部163に通知する。プログラムロード処理部163は、制御ファイル解析部162から通知されたロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする。
【0063】
つぎに、この第3の実施の形態のコンピュータシステムのロード処理の動作について説明する。この第3の実施の形態のコンピュータシステムのロード処理の動作は、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合と、テストに関するプログラムではないことが登録されている場合と
で異なる。まず、図12のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムではないことが登録されている場合のロード処理の動作について説明する。
【0064】
ユーザは、コンピュータ1をブートするためにPowerスイッチ11、またはPowerスイッチ11とResetスイッチ12とを押す。Powerスイッチ11が押されたことにより、コンピュータ1の各構成要素に電源が供給され、CPU16は、ROM14に格納されたローダプログラム141bの実行を開始し、スイッチ監視回路13は、Powerスイッチ11およびResetスイッチ12の状態の監視を開始する。スイッチ監視回路13は、先の図5のフローチャートを参照して説明したステータス認識処理によって、認識したステータスをCPU16に通知する。
【0065】
一方、CPU16は、ROM14に格納されたローダプログラム141b内の起動処理プログラム1411を実行することで起動処理部161として動作する。起動処理部161は、ROM14に格納されたローダプログラム141b内の制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードする(ステップS400)。
【0066】
起動処理部161は、制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をRAM15にロードした後に、RAM15にロードした制御ファイル解析プログラムを起動する(ステップS401)。これにより、CPU16は、制御ファイル解析部162として動作する。制御ファイル解析部162は、リムーバブルメディアI/F部17を介して、POWON.BTF21をRAM15にロードする(ステップS402)。
【0067】
制御ファイル解析部162は、スイッチ監視回路13から通知されたステータス、およびPOWON.BTF21に基づいて下位階層制御ファイルを選択する(ステップS403)。具体的には、制御ファイル解析部162は、POWON.BTF21に登録されたIDの中から、通知されたステータスと一致するIDを抽出する。ここでは、ステータスとして「02」が通知され、制御ファイル解析部162、H/Wモニタを起動するファイル名「HWMON.BTF」を取得したものとする。
【0068】
制御ファイル解析部162は、リムーバブルメディアI/F部17を介して、選択(取得)した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする(ステップS404)。ここでは、ファイル名「HWMON.BTF」が選択されているので、制御ファイル解析部162は、リムーバブルメディア2に格納されたHWMON.BTF22−3をRAM15にロードする。
【0069】
制御ファイル解析部162は、ロードした下位階層制御ファイルをリードしてファイル名およびオプション情報(制御情報、ロードアドレス、およびスタートアドレス)を取得する(ステップS405)。先の図3に示したHWMON.BTF22−3の場合、制御ファイル解析部162は、まず、コメント行を除く最初の行のプログラム名「SYSROM0.BIN」、制御情報「00000003」、ロードアドレス「a0080000」、およびスタートアドレス「a0080100」を取得する。
【0070】
制御ファイル解析部162は、取得した制御情報に基づいてロードの必要があるか否かを判定する(ステップS406)。上述したように、制御情報のプログラムロード情報(制御情報のビット1)にロードすべきプログラムファイルであるか否かの情報が登録されている。したがって、制御ファイル解析部162は、制御情報のビット1が「1」であればロードの必要があるファイルであると判定し、制御情報のビット1が「0」であればロードの必要がないファイルであると判定する。ロードの必要がないと判定した場合(ステップS406,No)、制御ファイル解析部162は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップS405の処理に戻る。ここでは、制御情報は「00000003」でありビット1は「1」である。よって、制御ファイル解析部162は、プログラム名「SYSROM0.BIN」はロードすべきプログラムファイルであると判定する。
【0071】
ロードの必要があると判定した場合(ステップS406、Yes)、制御ファイル解析部162は、制御情報のビット0(起動ビット)が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部162は、取得したプログラム名およびロードアドレスをロード情報としてプログラムロード処理プログラム1413を起動する(ステップS407)。これにより、CPU16は、プログラムロード処理部163として動作する。ここでは、ロード情報は、プログラム名「SYSROM0.BIN」、およびロードアドレス「a0080000」となる。
【0072】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする(ステップS408)。ここでは、ロード情報は、プログラム名「SYSROM0.BIN」、およびロードアドレス「a0080000」、であるので、プログラムロード処理部163は、リムーバブルメディアI/F部17を介して、リムーバブルメディア2に格納されたSYSROM0.BIN23−1を、RAM15のアドレス「a0080000」が示す領域にロードする。
【0073】
RAM15にプログラムファイル(ここでは、SYSROM0.BIN23−1)をロードした後、プログラムロード処理部163は、制御ファイル解析プログラム1412を起動する。これにより、CPU16は、制御ファイル解析部162として動作する。
【0074】
制御ファイル解析部162は、下位階層制御ファイルの最終行(図3においては「END」)を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かを判定し、ロードの必要があると判定した場合には、プログラムロード処理部163が、プログラム名およびロードアドレスに基づいてリムーバブルメディア2からRAM15にプログラムファイルをロードする処理を繰り返し、下位階層制御ファイルに登録されたロードすべきプログラムファイルをRAM15にロードする(ステップS405〜S409)。
【0075】
先の図3に示したHWMON.BTF22−3の場合、プログラム名「SYSROM0.BIN」、「SYSROM2.BIN」、「LDSYS.SRE」、「INITSYS.SRE」、「HWMON.SRE」の各制御情報のロード情報(ビット1)が「1」であるので、リムーバブルメディア2に格納されたSYSROM0.BIN23−1がRAM15のアドレス「a008000」から格納され、リムーバブルメディア2に格納されたSYSROM2.BIN23−2がRAM15のアドレス「a00c000」から格納され、リムーバブルメディア2に格納されたLDSYS.SRE23−3がRAM15のアドレス「a00f000」から格納され、リムーバブルメディア2に格納されたINITSYS.SRE23−4がRAM15のアドレス「a010000」から格納され、リムーバブルメディア2に格納されたHWMON.SRE23−5がRAM15のアドレス「a013000」から格納される。また、プログラム名「SYSROM0.BIN」に関連付けられた制御情報の起動情報(ビット0)が「1」であるので、プログラム名「SYSROM0.BIN」に関連付けられたスタートアドレス「a0080100」が保持される。
【0076】
下位階層制御ファイルの終了(最終行)まで解析した後(ステップS409,Yes)、制御ファイル解析部162は、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する(ステップS410)。具体的には、制御ファイル解析部162は、下位階層制御ファイルの解析の際に保持したスタートアドレス、すなわち、起動ビットに「1」が登録されていた制御情報に関連付けられたプログラム名のスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。ここでは、プログラム名「SYSROM0.BIN」に関連付けられたスタートアドレス「a0080100」が保持されているので、アドレス「a0080100」が示すRAM15の領域に格納された命令に制御を移行してプログラム名「SYSROM0.BIN」のプログラムファイルを起動する。
【0077】
また、プログラム名「SYSROM0.BIN」のプログラムファイルから下位階層制御ファイルの制御情報の起動情報に起動プログラムではないことが登録されたプログラム名のプログラムファイルを起動する場合には、下位階層制御ファイルを参照して、起動すべきプログラムファイルのプログラム名に関連付けられたスタートアドレスを取得し、取得したスタートアドレスに登録されたアドレスが示すRAM15の領域に格納された命令に制御を移行して当該プログラムファイルを起動する。
【0078】
つぎに、図13〜図15を用いて、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合について説明する。図13は、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図である。図13においては、プログラム名「TEST1.BIN:TEST1」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「TEST2.BIN:TEST2」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「BOOTFW.BIN」に関連付けて制御情報「00000003」、ロードアドレス「a0080000」、スタートアドレス「a0080000」が登録され、プログラム名「OS.BIN」に関連付けて制御情報「00000002」、ロードアドレス「a00c0000」、スタートアドレス「a00c0100」が登録され、プログラム名「TEST9_BIN:TEST3」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録され、プログラム名「TEST10_BIN:TEST4」に関連付けて制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」が登録されている。すなわち、制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている(制御情報のビット5が「1」)プログラム名(TEST1.BIN、TEST2.BIN、TEST9.BIN、TEST10.BIN)に関連付けられたロードアドレスおよびスタートアドレスには、それぞれ同一のアドレス「a0030000」および「a0030100」が登録されている。このように、デバッグモニタ上(非OS下)で動作させるテストプログラムなどは、固定の同じ物理アドレスで動作させることが多い。
【0079】
図14のフローチャートを参照して、下位階層制御ファイルの制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている場合のコンピュータシステムのロード処理の動作について説明する。なお、電源が投入されてCPU16がローダプログラム141b内の起動処理プログラム1411を実行することで起動処理部161として動作してRAM15に制御ファイル解析プログラム1412およびプログラムロード処理プログラム1413をロードし、CPU16が、制御ファイル解析プログラム1412を実行することで制御ファイル解析部162として動作してPOWON.BTF21をリムーバブルメディア2からRAM15にロードし、スイッチ監視回路13から通知されたステータスおよびPOWON.BTF21に基づいて下位階層制御ファイルをリムーバブルメディア2からRAM15にロードする動作は、先の図12のフローチャートを参照して説明したステップS400〜S404と同様の動作であるので、ここではその説明を省略する。なお、ここでは、先の図13に示した下位階層制御ファイルをリムーバブルメディア2からRAM15にロードしたものとする。
【0080】
制御ファイル解析部162は、ロードした下位階層制御ファイルをリードしてプログラム名およびオプション情報(制御情報、ロードアドレス、およびスタートアドレス)を取得する(ステップS500)。制御ファイル解析部162は、取得した制御情報に基づいてロードの必要があるか否かを判定する(ステップS501)。ロードの必要がないと判定した場合(ステップS501,No)、制御ファイル解析部162は、下位階層制御ファイルの現在リードしたつぎの行をリードしてプログラム名およびオプション情報を取得するステップS500の処理に戻る。
【0081】
ロードの必要があると判定した場合(ステップS501,Yes)、制御ファイル解析部162は、取得した制御情報に基づいてプログラム退避を行なうか否かを判定する(ステップS502)。具体的には、制御ファイル解析部162は、制御情報のプログラム種別情報がテストに関するプログラムであることを示しているか否か、(ここでは、制御情報のビット5が「1」であるか否か)を判定し、制御情報のビット5が「1」である場合にはプログラム退避を行なうと判定し、制御情報のビット5が「0」である場合にはプログラム退避を行なわないと判定する。プログラム退避とは、一旦プログラムをRAM15のテンポラリー領域に記憶し、プログラム実行の際に当該プログラムをRAM15の所定の領域にコピーして実行させることをいう。
【0082】
プログラム退避を行なわないと判定した場合(ステップS502,No)、制御情報のビット0(起動ビット)が起動ファイルであることを示しているか否かを判定し、起動ファイルであることを示している場合にはスタートアドレスを保持しておく。制御ファイル解析部162は、取得したプログラム名およびロードアドレスをロード情報とし、プログラムロード処理プログラム1413を起動する(ステップS503)。これにより、CPU16は、プログラムロード処理部163として動作する。
【0083】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをロードする(ステップS504)。すなわち、プログラムロード処理部163は、下位階層制御ファイルのロードアドレスに示されたRAM15のアドレスに下位階層制御ファイルのプログラム名に登録されたプログラム名が示すリムーバブルメディア2内のプログラムファイルをロードする。
【0084】
一方、プログラム退避を行なうと判定した場合(ステップS502,Yes)、制御ファイル解析部162は、下位階層制御ファイルから取得したプログラム名とテンポラリーアドレスとをロード情報とする。テンポラリーアドレスとは、下位階層制御ファイルから取得したロードアドレスで指定された領域とは異なるRAM15のテンポラリー領域を示すアドレスであり、実際にプログラム名が示すプログラムファイルがロードされるRAM15のアドレスのことである。
【0085】
制御ファイル解析部162は、下位階層制御ファイルから取得したプログラム名、制御情報、ロードアドレス、およびスタートアドレスと、テンポラリーアドレスとを関連付けたプログラムロード情報をRAM15の所定の領域に格納する(ステップS505)。制御ファイル解析部162は、取得したプログラム名およびテンポラリーアドレスをロード情報としてプログラムロード処理プログラム1413を起動する(ステップS506)。これにより、CPU16は、プログラムロード処理部163として動作する。
【0086】
プログラムロード処理部163は、制御ファイル解析部162からのロード情報に基づいて、リムーバブルメディアI/F部17を介してリムーバブルメディア2からRAM15にプログラムファイルをテンポラリー領域にロードする(ステップS507)。
【0087】
制御ファイル解析部162は、下位階層制御ファイルの最終行(図13においては「END」)を検出するまで、下位階層制御ファイルをリードしてプログラム名およびオプション情報を取得し、オプション情報内の制御情報に基づいてロードの必要があるか否かおよびプログラム退避が必要であるか否かを判定し、ロードの必要がありかつプログラム退避が必要でないと判定された場合には、プログラムロード処理部163が下位階層制御ファイルのプログラム名が示すリムーバブルメディア2内のプログラムファイルを下位階層制御ファイルのロードアドレスが示すRAM15の領域にロードし、ロードの必要がありかつプログラム退避が必要である判定された場合には、プログラムロード処理部163が下位階層制御ファイルのプログラム名が示すリムーバブルメディア2内のプログラムファイルを下位階層制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示すRAM15の領域にロードする動作を繰り返す(ステップS502〜S508)。
【0088】
制御ファイル解析部162は、下位階層制御ファイルの終了(最終行)まで解析した後(ステップS508,Yes)、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行する(ステップS509)。
【0089】
図15は、先の図13に示した下位階層制御ファイルに基づいてリムーバブルメディア2に格納されたプログラムファイルをRAM15にロードした際のロード状態を示す図である。先の図13に示した下位階層制御ファイルにおいては、プログラム名「TEST1.BIN:TEST1」、「TEST2.BIN:TEST2」、「TEST9_BIN:TEST3」、「TEST10_BIN:TEST4」の制御情報のプログラム種別情報にはテストに関するプログラムであること(制御情報のビット5に「1」)が登録され、プログラム名「BOOTFW.BIN」、「OS.BIN」の制御情報のプログラム種別情報にはテストに関するプログラムではないこと(制御情報のビット5に「0」)が登録されている。したがって、リムーバブルメディア2に格納されたプログラム名「TEST1.BIN:TEST1」のプログラムファイルは、テンポラリーアドレス「b0000000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST2.BIN:TEST2」のプログラムファイルは、テンポラリーアドレス「b0050000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST9_BIN:TEST3」は、テンポラリーアドレス「b0100000」が示すRAM15の領域にロードされ、リムーバブルメディア2に格納されたプログラム名「TEST10_BIN:TEST4」のプログラムファイルは、テンポラリーアドレス「b01f0000」が示すRAM15の領域にロードされている。また、リムーバブルメディア2に格納されたプログラム名「BOOTFW.BIN」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「a0080000」が示すRAM15の領域にロードされ、ムーバブルメディア2に格納されたプログラム名「OS.BIN」が示すプログラムファイルは、下位階層制御ファイルのロードアドレス「a00c0000」が示すRAM15の領域にロードされている。
【0090】
また、RAM15のデータ領域には、制御ファイル解析部162が図14のステップS505の処理によって生成したプログラムロード情報が格納されている。図16は、プログラムロード情報の一例を示す図である。図16において、プログラムロード情報には、プログラム名「TEST1.BIN:TEST1」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0000000」と、プログラム名「TEST2.BIN:TEST2」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0050000」と、プログラム名「TEST9_BIN:TEST3」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b0100000」と、プログラム名「TEST10_BIN:TEST4」に関連付けた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびテンポラリーアドレスとしてのRAMアドレス「b01f0000」とが登録されたプログラムロード情報が格納されている。
【0091】
つぎに、図17のフローチャートを参照して、テンポラリー領域に格納されたプログラムファイルを起動するテストプログラム起動処理の動作について説明する。先の図14を参照して説明したロード処理において、制御ファイル解析部162として動作するCPU16は、下位階層制御ファイルの終了(最終行)まで解析した後、下位階層制御ファイルで起動プログラムとして設定されたプログラムに制御を移行し、その後、RAM15に格納されたアプリケーションプログラムを実行して、テストに関するプログラムファイルを起動する。アプリケーションプログラムを実行することによってアプリケーション処理部として動作するCPU16は、プログラムファイルを起動する際に、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されているか否かを判定する(ステップS600)。
【0092】
起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されている場合(ステップS600,Yes)、アプリケーション処理部は、プログラムロード情報に基づいて、起動すべきプログラムファイルをテンポラリー領域からテストプログラム格納領域にコピーする(ステップS601)。たとえば、プログラム名「TEST1.BIN:TEST1」を起動する場合、アプリケーション処理部は、プログラムロード情報のプログラム名「TEST1.BIN:TEST1」に関連付けられた制御情報「00000022」、ロードアドレス「a0030000」、スタートアドレス「a0030100」、およびRAMアドレス「b0000000」を取得する。
【0093】
アプリケーション処理部は、取得したRAMアドレス「b0000000」を先頭アドレスとするRAM15の領域に格納されているプログラム名「TEST1.BIN:TEST1」のプログラムファイルを、取得したロードアドレス「a0030000」を先頭アドレスとするRAM15のテストプログラム格納領域にコピーする。
【0094】
アプリケーション処理部は、プログラムロード情報に基づいて起動すべきプログラムを起動する(ステップS602)。具体的には、プログラムロード情報から取得したスタートアドレス(この場合は、スタートアドレス「a0030100」)が示すRAM15のプログラムファイルの命令を実行することで起動すべきプログラムを起動してテストに関するプログラムファイルに処理を移行する。
【0095】
一方、起動すべきプログラムファイルのプログラム名がプログラムロード情報のプログラム名に登録されていない場合(ステップS600,No)、アプリケーション処理部は、下位階層制御ファイルに基づいて起動すべきプログラムを起動する(ステップS603)。具体的には、アプリケーション処理部は、起動すべきプログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのプログラム名に関連付けて登録されたスタートアドレスを取得する。アプリケーション処理部は、取得したスタートアドレスが示すRAM15のプログラムファイルの命令を実行することで起動すべきプログラムを起動して処理を移行する。
【0096】
つぎに、テンポラリー領域に格納された複数のプログラムファイルをアプリケーションプログラムを順番に起動する動作について説明する。なお、ここでは、先の図14のフローチャートを参照して説明したロード処理によって、RAM15のデータ領域に先の図16に示したプログラムロード情報が格納されているものとする。また、アプリケーションプログラムは、プログラム名「TEST1.BIN:TEST1」、プログラム名「TEST2.BIN:TEST2」、プログラム名「TEST9_BIN:TEST3」、プログラム名「TEST10_BIN:TEST4」の順にプログラムファイルを起動するものとする。
【0097】
アプリケーションプログラムを実行することでCPU16はアプリケーション処理部として動作する。アプリケーション処理部は、プログラム名「TEST1.BIN:TEST1」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0000000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST1.BIN:TEST1」のプログラムファイルは、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST1.BIN:TEST1」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST1.BIN:TEST1」のプログラムファイルに処理を移行する。これにより、CPU16は、第1のテスト処理部として第1のテスト処理を実行する。第1のテスト処理部は第1のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0098】
アプリケーション処理部は、プログラム名「TEST2.BIN:TEST2」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0050000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST2.BIN:TEST2」のプログラムファイルは、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST2.BIN:TEST2」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST2.BIN:TEST2」のプログラムファイルに処理を移行する。これにより、CPU16は、第2のテスト処理部として第2のテスト処理を実行する。第2のテスト処理部は第2のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0099】
アプリケーション処理部は、プログラム名「TEST9_BIN:TEST3」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b0100000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST9_BIN:TEST3」のプログラムファイルは、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST9_BIN:TEST3」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST9_BIN:TEST3」のプログラムファイルに処理を移行する。これにより、CPU16は、第3のテスト処理部として第3のテスト処理を実行する。第3のテスト処理部は第3のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0100】
アプリケーション処理部は、プログラム名「TEST10_BIN:TEST4」を起動する際に、先の図17のフローチャートを参照して説明したテストプログラム起動処理を実行する。これにより、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたRAMアドレス「b01f0000」を先頭アドレスとするRAM15のテンポラリー領域に格納されているプログラム名「TEST10_BIN:TEST4」のプログラムファイルは、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたロードアドレス「a0030000」を先頭アドレスとするテストプログラム格納領域にコピーされ、プログラム名「TEST10_BIN:TEST4」に関連付けられてプログラムロード情報に登録されたスタートアドレス「a0030100」が示すRAM15のプログラムファイルの命令を実行することでプログラム名「TEST10_BIN:TEST4」のプログラムファイルに処理を移行する。これにより、CPU16は、第4のテスト処理部として第4のテスト処理を実行する。第4のテスト処理部は第4のテスト処理の実行が終了するとアプリケーションプログラムに処理を移行する。これにより、CPU16は、アプリケーション処理部として動作する。
【0101】
以上説明したように、この第3の実施の形態においては、リムーバブルメディア2は、コンピュータ1にロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルである下位階層制御ファイルと、下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとを格納し、コンピュータ1は、下位階層制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す揮発性の記憶手段であるRAM15の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示すRAM15の領域にロードし、RAM15のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて下位階層制御ファイルのロードアドレスが示すRAM15の領域にコピーして実行するようにしているため、制御ファイルの制御情報のプログラム種別情報を変更するだけで、ローダを変更することなく、制御ファイルのロードアドレスが示す記憶手段の領域に当該プログラムファイルをロードするのか、制御ファイルのロードアドレスとは異なるテンポラリーアドレスが示す記憶手段の領域にロードするのかを選択することが可能となる。
【0102】
また、デバッグモニタ上(非OS下)で動作させるテストプログラムなどは、固定の物理アドレスで動作させることが多く、テストプログラムが多数存在するとき、プログラム1つのみを1回のシステム起動でロードすることは非効率である。しかし、この第3の実施の形態においては、下位階層制御ファイルに、プログラム種別情報が所定のプログラム種別であることを示し、RAM16への当該プログラムファイルのロードアドレスに同一のアドレスが登録された複数のプログラム名を登録しておくことで、プログラム種別情報に所定のプログラム種別であることを示す複数のプログラムファイルをRAM15のテンポラリーアドレスが示す領域にロードしておき、各プログラムファイルの実行の際にテンポラリーアドレスが示すRAM15の領域にロードされた各プログラムファイルを、制御ファイルのロードアドレスに登録された同一のアドレスが示すRAM15の領域にコピーしてから各プログラムファイルを実行するようにしているため、コンピュータ1を再起動することなく、ロードアドレスが同一アドレスのプログラムファイルを順次実行することを可能としている。
【0103】
また、この第3の実施の形態においては、リムーバブルメディア2からRAM15に下位階層制御ファイルに登録されたすべてのプログラムファイルをロードした後に、起動情報に起動プログラムであることを示す情報が登録されたプログラム名に関連付けられて下位階層制御ファイルのスタートアドレスに登録されたスタートアドレスが示すRAM15の領域の命令に制御を移行してプログラムファイルを起動するようにしているため、起動時に使用するプログラムファイルの構成や、ローダから制御を移行するプログラムファイルのスタートアドレスに変更があった場合でも、下位階層制御ファイルを変更するだけで、ローダを変更することなく対応することが可能となる。
【0104】
さらに、この第3の実施の形態においては、下位階層制御ファイルの制御情報のプログラムロード情報に基づいて、当該プログラム名が示すプログラムファイルをリムーバブルメディア2からRAM15にロードするか否かを判定するようにしているため、リムーバブルメディア2内のプログラムファイルを変更することなく、下位階層制御ファイルを変更するだけで、ロードするプログラムファイルを変更することが可能となる。
【0105】
なお、この第3の実施の形態においては、ブートシーケンスを選択する入力手段としてPowerスイッチ11およびResetスイッチ12を用いた第1の実施の形態のコンピュータシステムを例に挙げて説明したが、ブートシーケンスを選択する入力手段としてキーボード18を用いる第2の実施の形態のコンピュータシステムであってもかまわない。
【0106】
また、第1〜第3の実施の形態においては、上位および下位階層制御ファイルをリムーバブルメディア2からRAM15にロードして解析するようにしたが、RAM15にロードすることなく、直接リムーバブルメディア2内の上位および下位階層制御ファイルを解析し、プログラムファイルのみをリムーバブルメディア2からRAM15にロードするようにしてもよい。
【図面の簡単な説明】
【0107】
【図1】この発明におけるコンピュータシステムの第1の実施の形態の構成を示す図。
【図2】図1に示したPOWON.BTFの一例を示す図。
【図3】図1に示したHWMON.BTFの一例を示す図。
【図4】PowerスイッチおよびResetスイッチを選択情報入力手段として用いる際のステータスと入力動作の対応の一例を示す図。
【図5】図1に示したスイッチ監視回路のステータス認識処理の動作を説明するためのフローチャート。
【図6】第1の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図7】この発明におけるコンピュータシステムの第2の実施の形態の構成を示す図。
【図8】第2の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図9】図7に示した表示部に表示される選択画面の一例を示す図。
【図10】この発明におけるコンピュータシステムの第3の実施の形態の構成を示す図。
【図11】この発明におけるコンピュータシステムの第3の実施の形態の構成を示す図。
【図12】第3の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図13】制御情報のプログラム種別情報にテストに関するプログラムであることが登録されている下位階層制御ファイルの一例を示す図。
【図14】第3の実施の形態のコンピュータシステムのロード処理の動作を説明するためのフローチャート。
【図15】リムーバブルメディアに格納されたプログラムファイルをRAMにロードした際のロード状態を示す図。
【図16】プログラムロード情報の一例を示す図。
【図17】テンポラリーアドレスに格納されたプログラムファイルの起動の動作を説明するためのフローチャート。
【符号の説明】
【0108】
1 コンピュータ
2 リムーバブルメディア
11 Powerスイッチ
12 Resetスイッチ
13 スイッチ監視回路
14 ROM
15 RAM
16 CPU
18 キーボード
19 表示部
21 POWON.BTF
22−1 OS1.BTF
22−2 DIAG.BTF
22−3 HWMON.BTF
22−4 OS2.BTF
23−1 SYSROM0.BIN
23−2 SYSROM2.BIN
23−3 LDSYS.SRE
23−4 INITSYS.SRE
23−5 HWMON.SRE
141、141a、141b ローダプログラム
161 起動処理部
162 制御ファイル解析部
163 プログラムロード処理部
1411 起動処理プログラム
1412 制御ファイル解析プログラム
1413 プログラムロード処理プログラム
【特許請求の範囲】
【請求項1】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを前記上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、
前記スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項2】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記上位階層制御ファイルの登録内容を表示する表示手段と、
外部から入力された識別子をステータス情報としてローダ手段に通知する選択情報入力手段と、
前記上位階層制御ファイルに登録された識別子および前記下位階層制御ファイルのファイル名を前記表示手段に表示させるとともに、前記選択情報入力手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項3】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、
前記制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、
前記制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理手段と、
を備え、
前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、
を特徴とするコンピュータシステム。
【請求項4】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層ファイルと、前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記揮発性の記憶手段に前記プログラムファイルをロードするプログラムロード方法であって、
前記下位階層制御ファイルを選択するための選択情報の入力を受け付ける選択情報受付ステップと、
前記選択情報受付ステップによって受け付けた選択情報および前記上位階層制御ファイルに基づいて前記下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを前記リムーバブルメディアから前記記憶手段にロードするローダステップと、
を含むことを特徴とするプログラムロード方法。
【請求項5】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、前記制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記プログラムファイルを前記記憶手段にロードするプログラムロード方法であって、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析ステップと、
前記制御ファイル解析ステップによって制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理ステップと、
前記コンピュータが前記プログラムロード処理ステップによって前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーした後にコピーしたプログラムを実行する実行処理ステップと、
を含むことを特徴とするプログラムロード方法。
【請求項1】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
複数のスイッチと、これらスイッチの状態を監視してスイッチの状態の組合せを前記上位階層制御ファイルの識別子に対応付けたステータス情報をローダ手段に通知するスイッチ監視手段とを有する選択情報入力手段と、
前記スイッチ監視手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項2】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、
前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層制御ファイルと、
前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記上位階層制御ファイルの登録内容を表示する表示手段と、
外部から入力された識別子をステータス情報としてローダ手段に通知する選択情報入力手段と、
前記上位階層制御ファイルに登録された識別子および前記下位階層制御ファイルのファイル名を前記表示手段に表示させるとともに、前記選択情報入力手段から通知されたステータス情報と一致する識別子に関連付けられて前記上位階層制御ファイルに登録された下位階層制御ファイルのファイル名が示す下位階層制御ファイルに登録されたプログラムファイルのプログラム名が示すプログラムファイルをリムーバブルメディアから前記記憶手段にロードするローダ手段と、
を備えることを特徴とするコンピュータシステム。
【請求項3】
コンピュータと、該コンピュータと着脱可能なリムーバブルメディアとで構成されるコンピュータシステムにおいて、
前記リムーバブルメディアは、
前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、
前記制御ファイルに登録されたプログラム名が示す各プログラムファイルと、
を格納し、
前記コンピュータは、
揮発性の記憶手段と、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析手段と、
前記制御ファイル解析手段が制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理手段と、
を備え、
前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムファイルを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムファイルを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーして実行すること、
を特徴とするコンピュータシステム。
【請求項4】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名が登録される複数の下位階層制御ファイルと、前記下位階層制御ファイルを識別するための識別子に関連付けて前記下位階層制御ファイルのファイル名が登録される上位階層ファイルと、前記下位階層制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記揮発性の記憶手段に前記プログラムファイルをロードするプログラムロード方法であって、
前記下位階層制御ファイルを選択するための選択情報の入力を受け付ける選択情報受付ステップと、
前記選択情報受付ステップによって受け付けた選択情報および前記上位階層制御ファイルに基づいて前記下位階層制御ファイルを選択し、選択した下位階層制御ファイルに登録されたプログラム名が示すプログラムファイルを前記リムーバブルメディアから前記記憶手段にロードするローダステップと、
を含むことを特徴とするプログラムロード方法。
【請求項5】
揮発性の記憶手段を有するコンピュータが、前記コンピュータにロードすべきプログラムファイルのプログラム名に関連付けて、プログラム種別情報と起動情報とを含む制御情報およびプログラムファイルのロードアドレスが登録される制御ファイルと、前記制御ファイルに登録されたプログラム名が示す各プログラムファイルとが格納されたリムーバブルメディアから、前記プログラムファイルを前記記憶手段にロードするプログラムロード方法であって、
前記制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示しているか否かを判定する制御ファイル解析ステップと、
前記制御ファイル解析ステップによって制御ファイルに登録されたプログラム種別情報が所定のプログラム種別を示していると判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルを予め定められたテンポラリーアドレスが示す前記記憶手段の領域にロードし、プログラム種別情報が所定のプログラム種別を示していないと判定した場合には、制御ファイルに登録されたプログラム名が示すプログラムファイルをプログラム名に関連付けて制御ファイルに登録されたロードアドレスが示す前記記憶手段の領域にロードするプログラムロード処理ステップと、
前記コンピュータが前記プログラムロード処理ステップによって前記記憶手段のテンポラリーアドレスが示す領域にロードしたプログラムを実行する際には、前記テンポラリーアドレスが示す領域にロードしたプログラムを、当該プログラムファイルを示すプログラム名に関連付けて前記制御ファイルのロードアドレスが示す記憶手段の領域にコピーした後にコピーしたプログラムを実行する実行処理ステップと、
を含むことを特徴とするプログラムロード方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−175792(P2009−175792A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−10717(P2008−10717)
【出願日】平成20年1月21日(2008.1.21)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月21日(2008.1.21)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】
[ Back to top ]