(57)【特許請求の範囲】
【請求項１】
プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、
基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データと、基本プログラムの起動時に必要となるデータとを記憶するストレージデバイスと、
前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援手段と、を含み、
前記起動支援手段は、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納する
ことを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
起動の対象となった基本プログラムをブートデバイスから読み出す手段を含み、
当該ブートデバイスから基本プログラムを読み出す手段が、基本プログラムをキャッシュメモリに読み込み、当該キャッシュメモリから前記メモリデバイスへ格納する速度優先モードと、基本プログラムをキャッシュメモリに読み込まずに、基本プログラムを前記メモリデバイスへ格納するメモリ節約モードとのいずれか一方のモードで選択的に基本プログラムを読み出すことを特徴とするコンピュータシステム。
【請求項３】
基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、
前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
を備えるコンピュータシステムが、
ハードウエア資源に対して直接アクセス不能な基本プログラムを起動する基本プログラムの起動方法であって、
前記コンピュータシステムが、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援ステップを含み、
前記起動支援ステップで、前記コンピュータシステムが、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納する
ことを特徴とする基本プログラムの起動方法。
【請求項４】
基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、
前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
を備えるコンピュータシステムに、
ハードウエア資源に対して直接アクセス不能な基本プログラムの起動をさせるローダプログラムであって、
起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援手段として前記コンピュータシステムを機能させ、
前記起動支援手段は、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納する
ことを特徴とするローダプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の基本プログラムを起動可能なコンピュータシステムと、それにおける基本プログラムの起動方法及びローダプログラムに関する。
【背景技術】
【０００２】
近年のコンピュータシステムは、処理速度の向上等のために、ＣＰＵ（Central Processing Unit）に相当するプログラム実行要素を複数備えるものが開発されている。こうした複数のプログラム実行要素を備えたコンピュータシステムでは、原理的には、複数の相異なる基本プログラム（オペレーティングシステム）を各プログラム実行要素にて実行させることができる。
【０００３】
しかしながら、複数の相異なる基本プログラムを実行させると、コンピュータシステムの備えているハードウエア資源（ディスクデバイスや、表示用デバイス等）へのアクセス制御が困難となり、システムを安定的に動作させるための処理が煩雑になる。
【０００４】
そこで、各基本プログラムからハードウエア資源への直接のアクセスを行わせないようにして、つまり、いわゆるＩ／Ｏシステムを除去した基本プログラムを生成し、各基本プログラムが、一つのＩ／Ｏシステムを共有するように構成すれば、当該Ｉ／Ｏシステムにおいてハードウエア資源へのアクセス制御を一手に行うことができて便利である。
【特許文献１】特開平６−３２４８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このように各基本プログラムからＩ／Ｏシステムを除去してしまうと、基本プログラムの起動時に必要となるデータをディスクデバイス等からメモリ上に読み込むことができなくなってしまうという問題点がある。
【０００６】
なお、ハードウエア資源へのアクセス制御を行うプログラムをサブシステムとして、基本プログラム本体とは別個に実装し、基本プログラム本体としては、必要最小限の機能を実装する、いわゆるマイクロカーネル技術においては、基本プログラムの起動の後で必要となるデータを基本プログラムのローダで行う技術がある（例えば特許文献１）。
【０００７】
ところがこの特許文献１では、ブートボリュームがメモリ上に配置される構成となっており、システムの初期に起動するべきプログラムデータは、基本プログラムのカーネルが読み込む構成となっている。つまり、プログラムデータを読み込むためのブートローダを基本プログラムごとに用意しなければならない。また、ブートボリュームをメモリ上に配置する必要があって、ブート時のメモリ使用量が大きい。
【０００８】
このように特許文献１に開示されているマイクロカーネルの基本プログラムの起動方法では、複数の相異なる基本プログラムを起動させる場合に用いるには、実装の面と処理の面との双方で効率的でない。
【０００９】
本発明は上記実情に鑑みて為されたもので、簡便に、かつ効率的に、Ｉ／Ｏシステムを持たない基本プログラムの起動を実現できるコンピュータシステムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【００１０】
上記従来例の問題点を解決するための本発明は、プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データと、基本プログラムの起動時に必要となるデータとを記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援手段と、を含むことを特徴としている。
【００１１】
ここで前記起動支援手段は、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納することとしてもよい。
【００１２】
さらに、起動の対象となった基本プログラムをブートデバイスから読み出す手段を含み、当該ブートデバイスから基本プログラムを読み出す手段が、基本プログラムをキャッシュメモリに読み込み、当該キャッシュメモリから前記メモリデバイスへ格納する速度優先モードと、基本プログラムをキャッシュメモリに読み込まずに、基本プログラムを前記メモリデバイスへ格納するメモリ節約モードとのいずれか一方のモードで選択的に基本プログラムを読み出すこととしてもよい。
【００１３】
また、本発明の一態様に係る基本プログラムの起動方法は、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、を備えるコンピュータシステムを用いて、ハードウエア資源に対して直接アクセス不能な基本プログラムの起動方法であって、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行することを特徴としている。
【００１４】
さらに本発明の別の態様に係るプログラムは、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、を備えるコンピュータシステムに、ハードウエア資源に対して直接アクセス不能な基本プログラムの起動をさせるローダプログラムであって、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行させることを特徴としている。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコンピュータシステムは、図１に示すように、制御部１１と、記憶部１２と、入出力ユニット１３と、外部記憶部１４と、ストレージ部１５と、操作部１６と、表示部１７とを含んで構成されている。
【００１６】
制御部１１は、例えばプロセッサチップであり、外部記憶部１４にセットされた外部記憶媒体から読み出されるプログラムを記憶部１２に格納して実行する。本実施の形態の制御部１１は、複数のプログラム実行要素を備えており、複数の基本プログラムが並列して実行可能となっている。またこの制御部１１は、基本プログラムの読み込みと、起動を行うローダプログラムを実行する。この制御部１１の動作については後に詳しく述べる。
【００１７】
記憶部１２は、ＲＡＭ（Random Access Memory）等の記憶素子を含んで構成されるメモリデバイスであり、制御部１１によって実行されるプログラムを保持する。また、この記憶部１２は、制御部１１が処理を行うときに必要となるデータを保持するワークメモリとしても動作する。
【００１８】
入出力ユニット１３は、いわゆるブリッジチップであり、制御部１１と、外部記憶部１４と、ストレージ部１５と、操作部１６とに接続されている。この入出力ユニット１３は、制御部１１から入力される指示に従って、制御部１１が出力する信号（出力信号）の出力先を選択し、当該選択した出力先に対して、制御部１１の出力信号を選択的に出力する。また、入出力ユニット１３は、外部記憶部１４やストレージ部１５、ならびに操作部１６から入力される信号を制御部１１に出力する。
【００１９】
外部記憶部１４は、例えばBlu-ray Discや、ＤＶＤ等の外部記録媒体から、記録されている情報を読み取って、入出力ユニット１３を介して制御部１１に出力する。ストレージ部１５は、ハードディスク等であり、制御部１１によって実行されるプログラムや、制御部１１によって利用されるデータ等が格納されている。本実施の形態では、このストレージ部１５に、基本プログラムごとの設定データが格納される。この設定データについては後に詳しく述べる。これら外部記憶部１４やストレージ部１５が、本発明のストレージデバイスの一例に相当する。
【００２０】
操作部１６は、例えばゲーム用のコントローラ、マウス、キーボード等であり、ユーザの操作を受け入れて、当該操作の内容を制御部１１に出力する。
【００２１】
表示部１７は、グラフィックス処理ボード等であり、制御部１１から入力される指示に従って、画像を描画し、当該描画した画像の情報を外部に接続されているディスプレイ（家庭用テレビジョン装置等）に出力して、表示させる。
【００２２】
ここで制御部１１のローダプログラムの動作について説明する。なお、制御部１１では、Ｉ／Ｏシステムに相当するデバイスドライバ（ネットワークのドライバを含む）や、ファイルシステムに係る処理を行うプログラム、さらにネットワーク通信に係るデータ等、各種のデータ授受を行うためのスタック（ＬＩＦＯ）やパイプ（ＦＩＦＯ）などの管理を行うプログラム等が既に実行されているものとする。
【００２３】
また、基本プログラムは、当該基本プログラムの起動時に必要となる各初期読み込みデータの配置位置の指定をするべき旨の要求をローダプログラムから受けて、当該要求に応じて、各データの配置位置を指定するデータをローダプログラムに出力する。このように他のプロセスとの通信を行うため、基本プログラムにはプロセス通信処理が実装される。
【００２４】
制御部１１は、ユーザからの指示を受けてローダプログラムを読み出してその実行を開始する。このローダプログラムを実行する制御部１１は、いわばローダプロセスとして動作する。本実施の形態では、ローダプロセスは、Ｉ／Ｏシステムのプロセス（Ｉ／Ｏプロセス）と通信して、外部記憶部１４やストレージ部１５などからデータの読み出しを行う。このＩ／Ｏプロセスが、ハードウエア資源へのアクセス要求を制御する資源管理手段に相当する。
【００２５】
ローダプロセスは、起動の対象となる基本プログラムに関連してストレージ部１５に格納されている設定データを、Ｉ／Ｏプロセスに読み出させる。ここで設定データは、図２に示すように、基本プログラムを識別する情報（ＩＤ）に関連づけられた情報であり、実行環境のリソースに関する情報として、ＣＰＵ時間ＣＴ、使用するメモリ量ＭＳ、仮想アドレス空間のサイズＶＳ、ブートデバイスに関する情報Ｂ（ブートデバイスを特定する情報、ならびにそのスループットや、遅延、キャッシュサイズの情報等）を含む。また、基本プログラムの起動に係る情報として、起動時にメモリに読み込んでおくべきデータ（以下、初期読み込みデータと呼ぶ）を特定するデータ特定リストＬ（各データのサイズの情報ＳＩＺを含む）と、起動時のカーネルパラメータＰ（ランレベルの設定など）が含まれる。
【００２６】
ここでブートデバイスを特定する情報とは、基本プログラムの読み出し元となるデバイスを特定する情報であり、例えば外部記憶部１４とストレージ部１５とのいずれかを特定する情報である。また、この設定データには、予め署名情報などの認証情報を付加しておき、ローダプロセスは、この認証情報を用いて、設定データが正当なデータであるか否かを検証してもよい。そして検証の結果、否定的な結果となった場合（検証が失敗した場合）は、基本プログラムの起動処理を中断してもよい。
【００２７】
さらにローダプロセスは、図３に示す処理を行う。すなわちローダプロセスは、使用するメモリ量の情報ＭＳを参照して、記憶部１２内のメモリ領域を確保する（Ｓ１）。またローダプロセスは、基本プログラムのサイズの情報を取得する（Ｓ２）。そして、ローダプロセスは、Ｉ／Ｏシステムに対してキャッシュメモリを記憶部１２に確保させる（Ｓ３）。そしてこのキャッシュメモリのサイズが、処理Ｓ２で取得した基本プログラムのサイズより小さいか否かを判断する（Ｓ４）。なお、設定データのブートデバイスに関する情報において、キャッシュサイズが指定されているときには、当該サイズのキャッシュメモリを確保させ、処理Ｓ４では、当該指定されたサイズが処理Ｓ２で取得した基本プログラムのサイズより小さいか否かを判断することとしてもよい。
【００２８】
ここで制御部１１は、ローダプロセスの処理として、キャッシュメモリのサイズが基本プログラムのサイズより小さい場合は、メモリ節約優先モードでの起動処理を開始する（Ｓ５）。また、処理Ｓ４において、キャッシュメモリのサイズが基本プログラムのサイズより小さくない場合は、速度優先モードでの起動処理を開始する（Ｓ６）。
【００２９】
以下、メモリ節約優先モードでの起動処理（処理Ｓ５）と、速度優先モードでの起動処理（処理Ｓ６）とのそれぞれの処理について説明する。
【００３０】
まず、メモリ節約優先モードでの起動処理について、図４を参照しながら説明する。メモリ節約優先モードでは、ローダプロセスは、Ｉ／Ｏプロセスに対して、設定データによって特定されるブートデバイスから基本プログラムを読み出すよう指示し、Ｉ／Ｏプロセスがブートデバイスから基本プログラムを読み出す（Ｓ１１）。ローダプロセスは、Ｉ／Ｏプロセスが読み出した基本プログラムを記憶部１２に確保したメモリ領域内に格納する（Ｓ１１）。また、ローダプロセスは、データ特定リストＬを参照しながら、Ｉ／Ｏプロセスに対して、当該リストに含まれる初期読み込みデータをブートデバイスから読み出すよう指示し、Ｉ／Ｏプロセスがブートデバイスから初期読み込みデータを読み出す（Ｓ１２）。そしてローダプロセスは、基本プログラムの実行を開始し、基本プログラムを起動させる（Ｓ１３）。基本プログラムが起動すると、ローダプロセスは、ローダプログラムの処理として、初期読み込みデータの配置位置を指定するべき旨の要求を、基本プログラムに出力する（Ｓ１４）。
【００３１】
基本プログラムでは、この要求に応答して初期読み込みデータの配置位置の情報を出力する（Ｓ１５）。ローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れる。この配置位置の情報は、例えば図５に示すように、初期読み込みデータの各々について、各データを特定する情報に関連づけて、その配置位置であるメモリ上の先頭アドレスの値を指定する情報を記述したものである。
【００３２】
ローダプロセスは、処理Ｓ１２で読み出させた各初期読み込みデータを記憶部１２内のメモリ領域の指定された配置位置に格納する（Ｓ１６）。そして基本プログラムが、このメモリ領域内の初期読み込みデータを利用して起動処理を続ける（Ｓ１７）。例えば、ＵＮＩＸ（登録商標）における初期読み込みデータとしては、初期的に起動するべきプロセスのプログラムデータ（initなど）や、設定データ（rcなど）がある。
【００３３】
また、速度優先モードでの起動処理について説明する。図６に示すように、速度優先モードではローダプロセスは、Ｉ／Ｏプロセスに対して、設定データによって特定されるブートデバイスの先頭ブロックから、記憶部１２に確保したキャッシュメモリに対して、読み込めるだけのデータを複写して読み込むよう指示する。Ｉ／Ｏプロセスは、この指示に従い、ブートデバイスの先頭ブロックから、キャッシュメモリに読み込めるだけのデータを複写して読み込む（Ｓ２１）。
【００３４】
そしてローダプロセスは、基本プログラムの読み出し処理を開始する。ここでは、キャッシュメモリに基本プログラムのデータが読み出されているので、当該キャッシュメモリ内の基本プログラムを、処理Ｓ１にて記憶部１２に確保したメモリ領域に格納する（Ｓ２２）。なお、Ｉ／Ｏプロセスとローダプロセスとは並列的に実行可能であり、ローダプロセスが基本プログラムの読み出し処理を開始した段階で、Ｉ／Ｏプロセスが基本プログラムの読み込みを完了している必要は必ずしもない。
【００３５】
また、ローダプロセスは、データ特定リストＬを参照しながら、Ｉ／Ｏプロセスに対して、当該リストに含まれる初期読み込みデータをブートデバイスから読み出すよう指示し、Ｉ／Ｏプロセスは、初期読み込みデータをブートデバイスから読み出す（Ｓ２３）。この初期読み込みデータの読み出しにおいても、少なくとも一部はキャッシュメモリに既にロードされている場合があり、読み込み時間を短縮できる。
【００３６】
そして、ローダプロセスは、基本プログラムを起動させる（Ｓ２４）。基本プログラムが起動すると、ローダプロセスは、初期読み込みデータの配置位置を指定するべき旨の要求を、基本プログラムに出力する（Ｓ２５）。そして、基本プログラムは初期読み込みデータの配置位置の情報を出力する（Ｓ２６）。
【００３７】
ローダプロセスでは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れる。この配置位置の情報は図５に示した、メモリ節約優先モードでのものと同じものである。ローダプロセスは、処理Ｓ２３で読み出した各初期読み込みデータを、記憶部１２内のメモリ領域の指定された配置位置に格納する（Ｓ２７）。そして基本プログラムが、このメモリ領域内の初期読み込みデータを利用して起動処理を続ける（Ｓ２８）。
【００３８】
このように本実施の形態では、確保されたキャッシュメモリのサイズに応じて、データの読み込み単位を、メモリ節約優先モードとして個々のデータごとに読み出すか、速度優先モードとして一斉に読み出すか（予めキャッシュメモリに書込めるだけ書込むか）で切り替える。
【００３９】
本実施の形態では、ローダプロセス及びＩ／Ｏプロセスの処理Ｓ１１，２２における基本プログラムの読み出しに係る処理と、処理Ｓ１２，２４における初期読み込みデータの読み出しに係る処理とをそれぞれ、別々のスレッドで実行し、基本プログラムの読み出しと、初期読み込みデータの読み出しとを非同期的に実行させてもよい。
【００４０】
また、初期読み込みデータを読み出す処理と、基本プログラムを起動する処理（処理Ｓ１３や処理Ｓ２５）とを別々のスレッドで非同期的に実行させてもよい。
【００４１】
このように本実施の形態によると、起動される基本プログラムによってアクセス可能なメモリ領域に対して初期読み込みデータを書込むことができ、当該初期読み込みデータを利用して基本プログラムが起動処理を実行できる。このようにしたことで、本実施の形態では、簡便、かつ効率的に、Ｉ／Ｏシステムを持たない基本プログラムの起動を実現できる。
【００４２】
なお、設定データは、基本プログラムとともに、外部記憶部１４によって読み出される外部記憶媒体に格納されていてもよい。この場合は、制御部１１は、かかる外部記憶媒体が外部記憶部１４にセットされたことを検知して、ローダプログラムの実行を開始して、ローダプロセスを起動する。そして、ローダプロセスが、Ｉ／Ｏプロセスにキャッシュメモリを確保させ、当該確保されたキャッシュメモリのサイズが予め定めたしきい値より大きい場合は速度優先モードでの処理を開始し、Ｉ／Ｏプロセスに当該キャッシュメモリに対して外部記憶媒体の先頭ブロックから読み込めるだけのデータを複写して読み込ませる。またこの設定データは、図４、図６に示した処理では、基本プログラムの起動前に予め読み込まれているものとして説明したが、基本プログラムの起動開始後に読み込まれてもよい。この場合、当該設定データによって表される初期読み込みデータは、基本プログラムの起動開始後に読み込まれることとなる。
【００４３】
以下、ローダプロセスは、このキャッシュメモリから設定データと基本プログラムのデータとを読み出し、設定データに基づいて記憶部１２にメモリ領域を確保する。そして基本プログラムを記憶部１２に確保したメモリ領域に格納するとともに、当該読み出した設定データに含まれるデータ特定リストＬを参照しながら、当該リストに含まれる初期読み込みデータをＩ／Ｏプロセスに読み出させる。
【００４４】
そして、ローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配置位置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れ、各初期読み込みデータを、記憶部１２内のメモリ領域の指定された配置位置に格納する。
【００４５】
一方、確保されたキャッシュメモリのサイズが予め定めたしきい値に満たない場合は、メモリ節約優先モードでの処理として、設定データをＩ／Ｏシステムに読み込ませ、設定データに基づいて記憶部１２にメモリ領域を確保する。そしてローダプロセスは、Ｉ／Ｏシステムに基本プログラムのデータを読み込ませて、基本プログラムのデータを確保したメモリ領域に格納する。
【００４６】
またローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配置位置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れ、各初期読み込みデータを、Ｉ／Ｏシステムに読み出させ、記憶部１２内のメモリ領域の指定された配置位置に格納する。
【００４７】
さらに、ここまでの説明では、読み込みの方法として、メモリ節約優先モードと、速度優先モードとのどちらで起動するかを決定する際に、確保されたメモリのサイズに基づいて判断することとしていたが、これに代えて基本プログラムのブートデバイスのスループットや遅延等の速度（設定データに、ブートデバイスに関する情報として記述しておいてもよい）の情報に基づいて決定してもよい。例えば、ブートデバイスのスループットとして、所定のしきい値よりも小さい場合（低速である場合）であって、かつ、初期読み込みデータを複数一度に読み込めるサイズのキャッシュメモリが確保できた場合は、速度優先モードにて起動し、ブートデバイスのスループットが所定のしきい値以上である場合（高速である場合）、または低速であっても初期読み込みデータを複数一度に読み込めるサイズのキャッシュメモリが確保できなかった場合は、メモリ節約優先モードで起動するようにしてもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態に係るコンピュータシステムの例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る設定データの内容例を表す説明図である。
【図３】本発明の実施の形態に係る基本プログラムの起動処理の例を表すフローチャート図である。
【図４】本発明の実施の形態に係る基本プログラムのメモリ節約優先モードでの起動処理の例を表すフローチャート図である。
【図５】本発明の実施の形態に係る初期読み込みデータの配置位置を指定するデータの例を表す説明図である。
【図６】本発明の実施の形態に係る基本プログラムの速度優先モードでの起動処理の例を表すフローチャート図である。
【符号の説明】
【００４９】
１１  制御部、１２  記憶部、１３  入出力ユニット、１４  外部記憶部、１５  ストレージ部、１６  操作部、１７  表示部。
【図１】
0004597032.tif 000002
【図２】
0004597032.tif 000003
【図３】
0004597032.tif 000004
【図４】
0004597032.tif 000005
【図５】
0004597032.tif 000006
【図６】
0004597032.tif 000007