(57)【要約】【課題】計算機資源が有限なコンピュータにおいて全てのプログラムがブレークダウンする事態を防止できる複数プログラムの制御管理方法および制御管理装置を提供する。【解決手段】コンピュータが、複数のプログラムを選択して実行させる複数プログラムの制御方法であって、複数のプログラム間の優先順位を記憶するステップと、ユーザからの操作情報に応じて新たに起動する新規起動プログラムを判別するステップと、計算機資源の空き容量と前記新規起動プログラムの実行時に消費される計算機資源の使用量の関係から前記新規起動プログラムを更に起動させることが可能か否かを判定するステップと、前記新規起動プログラムの起動が不可能と判定された場合に、前記新規起動プログラムより前記優先順位の低いプログラムを停止させてから前記新規起動プログラムを起動させるステップを有することを特徴とする。【選択図】図１
2008140123.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、複数のプログラムを選択して実行させる複数プログラムの制御管理方法であって、
コンピュータが、複数のプログラム間の優先順位を記憶する優先順位記憶ステップと、
コンピュータが、ユーザからの操作情報に応じて新たに起動する新規起動プログラムを判別する判別ステップと、
コンピュータが、前記新規起動プログラムの実行時に消費される所要計算機資源量が計算機資源の空き容量を超えるか否かを判定する判定ステップと、
この判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えないと判定された場合に、前記新規起動プログラムを起動させる第１の起動ステップと、
前記判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えると判定された場合に、コンピュータが、前記優先順位記憶ステップにより記憶された優先順位を参照して前記新規起動プログラムより前記優先順位の低いプログラムを停止させた後に前記新規起動プログラムを起動させる第２の起動ステップと、
を有することを特徴とする複数プログラムの制御管理方法。
【請求項２】
コンピュータが、複数のプログラムを選択して実行させる複数プログラムの制御管理方法であって、
コンピュータが、複数のプログラム間の優先順位を記憶する優先順位記憶ステップと、
コンピュータが、ユーザからの操作情報に応じて新たに起動する新規起動プログラムを判別する判別ステップと、
コンピュータが、前記新規起動プログラムの実行時に消費される所要計算機資源量が前記計算機資源の空き容量を超えるか否かを判定する判定ステップと、
この判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えないと判定された場合に、前記新規起動プログラムを起動させる第１の起動ステップと、
前記判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えると判定された場合に、コンピュータが、起動済みのプログラムであって所定の許容待機時間を越えて動作していない待機プログラムを検索する検索ステップと、
この検索ステップにより前記待機プログラムが検知された場合に、コンピュータが、前記待機プログラムを停止させた後に前記新規起動プログラムを起動させる第２の起動ステップと、
前記検索ステップにより前記待機プログラムが検知されない場合に、コンピュータが、前記優先順位記憶ステップにより記憶された優先順位を参照して、前記新規起動プログラムより前記優先順位の低い下位プログラムを停止させた後に前記新規起動プログラムを起動させる第３の起動ステップと、
を有することを特徴とする複数プログラムの制御管理方法。
【請求項３】
前記優先順位が前記操作情報および前記プログラムの識別情報の組み合わせに対して定められることを特徴とする請求項１または請求項２記載の複数プログラムの制御管理方法。
【請求項４】
前記計算機資源の空き容量が演算処理を行うプロセッサ情報から算出されることを特徴とする請求項１または請求項２記載の複数プログラムの制御管理方法。
【請求項５】
前記計算機資源の空き容量が演算処理を行うプロセッサ情報および前記プログラムの展開先のメモリ情報から算出されることを特徴とする請求項１または請求項２記載の複数プログラムの制御管理方法。
【請求項６】
ユーザからの操作に応じた操作情報を作成する操作入力部と、
前記操作情報に対応するプログラムの識別情報と前記プログラムの優先順位を記憶する優先順位テーブルと、
前記プログラムを記憶するプログラム記憶手段と、
このプログラム記憶手段の記憶するプログラムの制御および計算機資源情報の管理を行うオペレーティングシステムと、
前記操作情報、前記計算機資源情報、および前記優先順位テーブルの情報を解析し、この解析結果に基づいて前記オペレーティングシステムに対して前記プログラムの制御を要求するプログラム制御部と、
を有することを特徴とする複数プログラムの制御管理装置。
【請求項７】
前記優先順位テーブルを参照し、前記操作情報に応じて起動する新規起動プログラムを判別する判別手段と、
前記新規起動プログラムの所要計算機資源量が前記計算機資源の空き容量を超えるか否かを判定する空き容量判定手段と、
この空き容量判定手段により前記所要計算機資源量が前記空き容量を超えないと判定された前記新規起動プログラムを起動させる第１の起動手段と、
前記空き容量判定手段により前記所要計算機資源量が前記空き容量を超えると判定された前記新規起動プログラムと比較して前記優先順位テーブルにおける優先順位の低い下位プログラムを検索する下位プログラム検索手段と、
この下位プログラム検索手段により検知された前記下位プログラムを停止させる下位プログラム停止手段と、
この下位プログラム停止手段による前記下位プログラムの停止を条件として、前記新規起動プログラムを起動させる第２の起動手段と、
を更に有することを特徴とする請求項６記載の複数プログラムの制御管理装置。
【請求項８】
前記優先順位テーブルを参照し、前記操作情報に応じて起動する新規起動プログラムを判別する判別手段と、
前記新規起動プログラムの所要計算機資源量が前記計算機資源の空き容量を超えるか否かを判定する空き容量判定手段と、
この空き容量判定手段により前記所要計算機資源量が前記空き容量を超えないと判定された前記新規起動プログラムを起動させる第１の起動手段と、
前記空き容量判定手段により前記所要計算機資源量が前記空き容量を超えると判定されたことを条件として、起動済みのプログラムであって所定の許容待機時間を越えて動作していない待機プログラムを検索する待機プログラム検索手段と、
この待機プログラム検索手段により検知された前記待機プログラムを停止させる待機プログラム停止手段と、
この待機プログラム停止手段による前記待機プログラムの停止を条件として、前記新規起動プログラムを起動させる第２の起動手段と、
前記待機プログラム検索手段により前記待機プログラムが検知されないことを条件として、前記新規起動プログラムと比較して前記優先順位テーブルにおける優先順位の低い下位プログラムを検索する下位プログラム検索手段と、
この下位プログラム検索手段により検知された前記下位プログラムを停止させる下位プログラム停止手段と、
この下位プログラム停止手段による前記下位プログラムの停止を条件として、前記新規起動プログラムを起動させる第３の起動手段と、
を更に有することを特徴とする請求項６記載の複数プログラムの制御管理装置。
【請求項９】
前記優先順位テーブルは、前記操作情報、前記プログラムの優先順位、および前記プログラム毎の所要計算機資源量を関連付けて記憶項目とすることを特徴とする請求項６乃至８のいずれか一項記載の複数プログラムの制御管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、限られた計算機資源を有効活用してプログラムを制御管理する、複数プログラムの制御管理方法および制御管理装置に関する。
【背景技術】
【０００２】
コンピュータ等の計算機においては必要なプログラムを順次起動させ、処理することが可能である。この処理を高速化する技術として、複数のプロセッサに実行プログラムを分散して割り当てる負荷分散装置が知られている(特許文献１参照)。
【特許文献１】特開平１０−３３４０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
計算機資源がほとんど無制限な場合には、必要なプログラムを複数のプロセッサに分散して割り当てて実行することができる。しかし、車載用コンピュータや航空機搭載システムのように、搭載スペースに限界があり計算機資源が限られる場合には、必要とされるプログラムを次々と起動していくと、計算機資源が枯渇し、全てのプログラムがブレークダウンするおそれがある。
【０００４】
そこで、本発明は上記の問題に鑑み、計算機資源が有限なコンピュータにおいて全てのプログラムがブレークダウンする事態を防止できる、複数プログラムの制御管理方法および制御管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、コンピュータが、複数のプログラムを選択して実行させる複数プログラムの制御管理方法であって、コンピュータが、複数のプログラム間の優先順位を記憶する優先順位記憶ステップと、コンピュータが、ユーザからの操作情報に応じて新たに起動する新規起動プログラムを判別する判別ステップと、コンピュータが、前記新規起動プログラムの実行時に消費される所要計算機資源量が計算機資源の空き容量を超えるか否かを判定する判定ステップと、この判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えないと判定された場合に、前記新規起動プログラムを起動させる第１の起動ステップと、前記判定ステップにより前記所要計算機資源量が前記計算機資源の空き容量を超えると判定された場合に、コンピュータが、前記優先順位記憶ステップにより記憶された優先順位を参照して前記新規起動プログラムより前記優先順位の低いプログラムを停止させた後に前記新規起動プログラムを起動させる第２の起動ステップと、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、有限な計算機資源を有効に用いて複数アプリケーションを効率的に制御管理でき、かつ、全てのプログラムがブレークダウンする事態を防止できるという効果が得られる。
【発明を実施するための最良の形態】
【０００７】
（実施形態１）
以下、本発明の実施形態について図面を用いて説明する。図１に本発明の一実施形態の全体構成例を示す。
【０００８】
本実施形態のコンピュータ１０は、操作入力部１１、プログラム管理部１２、プログラム制御部１３、オペレーティングシステム（ＯＳ）１４、およびミッションプログラム１５から構成される。
【０００９】
操作入力部１１は、ユーザがキーボード等のユーザインターフェイスを介して入力した情報を操作情報としてプログラム管理部１２へ通知する。
【００１０】
プログラム管理部１２は、操作情報と操作情報に対応して動作するプログラムの組合せに優先順位を定めた優先順位テーブルを内部情報として記憶する。また、操作入力部１１は、操作情報に対応するプログラムの実行をプログラム制御部１３に要求する。
【００１１】
図２は優先順位テーブルの具体例を示している。操作情報（操作Ａ、Ｂ、Ｃ）はユーザからの入力に対応した情報であり、各操作情報は起動対象となるプログラムと関連付けられている。ＣＰＵ使用率は各プログラムの実行時における所要計算機資源量がコンピュータ１０の有する計算機資源の全体量に占める割合であり、優先順位はプログラム間の実行優先順位である。
【００１２】
プログラム制御部１３は、プログラム管理部１２およびオペレーティングシステム１４からの情報に基づいてミッションプログラム１５の実行、待機、および停止等を制御する。
【００１３】
図３はプログラム制御部１３の機能を説明するブロック図である。プログラム制御部１３は、管理情報取得部１３Ａ、起動判定部１３Ｂ、ＯＳ制御部１３Ｃ、停止プログラム選定部１３Ｄ、配置情報記録部１３Ｅ、および通信情報記録部１３Ｆを備えている。
【００１４】
管理情報取得部１３Ａは、プログラム管理部１２からの管理情報、例えば入力に対応して起動するプログラムの情報や優先順位テーブルの情報を取得し、起動判定部１３Ｂに通知する機能を有する。
【００１５】
起動判定部１３Ｂは、管理情報取得部１３Ａから取得するプログラムの情報およびＯＳ制御部１３Ｃから取得する計算機資源情報等に基づいてプログラムの起動の可否を判定する機能を有する。
【００１６】
ＯＳ制御部１３Ｃは、オペレーティングシステム１４に対してプログラムの実行状況や計算機資源情報を問い合せた結果を起動判定部１３Ｂに通知する機能、オペレーティングシステム１４に対してプログラムの制御を要求する機能等を有する。
【００１７】
停止プログラム選定部１３Ｄは、プログラムの実行状況とプログラム間の優先順位等を条件に停止対象となるプログラムを選定する機能を有する。
【００１８】
配置情報記録部１３Ｅは、プログラムを実行するプロセッサの情報、プログラム展開先のメモリの情報等を記録する機能を有する。すなわち、実行プログラムの割り当て先のプロセッサ情報、メモリ上の位置情報等を記録する。通信情報記録部１３Ｆは、プログラム間の通信情報を記録する機能を有する。
【００１９】
オペレーティングシステム１４は、プログラム制御部１３からの要求に従って、プログラムの動作制御や計算機資源情報の管理等を行う。
【００２０】
ミッションプログラム１５は、オペレーティングシステム１４によって動作を制御されるプログラム群である。尚、本実施形態においてミッションプログラム１５は、目的地までの経路を探す経路探索プログラム１５Ａ、途中で寄って行きたい店の位置を探す店舗探索プログラム１５Ｂ、途中経路の高度を示す高度測定プログラム１５Ｃの３つのミッションプログラムから構成されるものとする。
【００２１】
次に、本実施形態におけるコンピュータ１０の動作を図４および図５に基づいて詳述する。
【００２２】
図４は、図１に示したコンピュータ１０におけるプログラムの起動制御の流れを示すフローチャートである。また、図５は、図４における処理の一部の詳細を示すフローチャートである。
【００２３】
コンピュータ１０においては、先ず、操作入力部１１からの操作情報と各プログラムの対応関係を定めた優先順位テーブルをプログラム管理部１２に記憶する（ステップＳ４０１）。
【００２４】
次に、プログラム管理部１２は、ユーザからの入力に対応した操作情報が操作入力部１１から通知されたか否か判定を行う（ステップＳ４０２）。ここで、ユーザからの入力があったときには、プログラム管理部１２は管理情報取得部１３Ａに対し、操作情報に対応したプログラムの実行を要求する（ステップＳ４０３）。
【００２５】
次に、ＯＳ制御部１３Ｃは、管理情報取得部１３Ａになされた起動要求に応じて、オペレーティングシステム１４に対して起動済みのプログラムの有無を問い合わせる（ステップＳ４０４）。ここで、起動済みのプログラム（以下、「起動済プログラム」という）がある場合には、新たに起動が要求されたプログラム（以下、「新規起動プログラム」という）を更に起動可能か否かの判定をするためにステップＳ４０５に進む。
【００２６】
次に、起動判定部１３Ｂは、コンピュータ１０の計算機資源および内部に有する各プログラムのＣＰＵ使用率からプログラムの最大動作数を算出し、この最大動作数と起動済プログラム数に新規起動プログラム数を加算（＋１）した数を比較する（ステップＳ４０５）。ステップＳ４０５において、起動判定部１３Ｂが新規起動プログラムを起動すると最大動作数を超えると判定した場合には、起動不可としてステップＳ４０８へ進む。例えば、算出されたプログラムの最大動作数が２のときに、３つ目のプログラムを起動させようとする場合である。
【００２７】
また、ステップＳ４０５において、起動判定部１３Ｂが新規起動プログラムを起動しても最大動作数を超えないと判定した場合には、ステップＳ４０６に進む。
【００２８】
次に、管理情報取得部１３Ａは、プログラム管理部１２の優先順位テーブルを参照し、新規起動プログラムおよび起動済プログラムのＣＰＵ使用率を取得する（ステップＳ４０６）。
【００２９】
次に、起動判定部１３Ｂは、管理情報取得部１３Ａにおいて取得した新規起動プログラムのＣＰＵ使用率に基づいて計算機資源の空き容量が十分にあるか否かを判定する（ステップＳ４０７）。尚、計算機資源の空き容量は各プログラムのＣＰＵ使用率の合計が８０％以内のときに十分にあるものとする。
【００３０】
ステップＳ４０７において、起動判定部１３Ｂが計算機資源の空き容量が不足すると判定した場合には、ステップＳ４０８へ進む。例えば、経路探索プログラム１５Ａと高度測定プログラム１５Ｃが起動済みのときに、店舗探索プログラム１５Ｂの起動が要求された場合である。図２に示すように、経路探索プログラム１５Ａ、店舗探索プログラム１５Ｂ、高度測定プログラム１５Ｃの各ＣＰＵ使用率は、５０％、２０％、１５％である。したがって、起動済プログラムの合計が６５％であり、店舗探索プログラム１５Ｂの２０％を加算すると上限値の８０％を超えてしまう。したがって、起動判定部１３Ｂは店舗探索プログラム１５Ｂを起動するには計算機資源の空き容量が不足していると判定する。
【００３１】
また、ステップＳ４０７において、起動判定部１３Ｂが計算機資源の空き容量が十分にあると判定した場合には、ステップＳ４１２へ進む。
【００３２】
ステップＳ４０８において、停止プログラム選定部１３Ｄは、起動済プログラムの中から停止するプログラム（以下、「停止対象プログラム」という）の選定を行う。図５は、ステップＳ４０８の処理、すなわち停止対象プログラムの選定処理の具体例を示すフローチャートである。
【００３３】
停止対象プログラムの選定にあたり、停止プログラム選定部１３Ｄは、起動済プログラムの中で所定時間（以下、「許容待機時間」という）動作していないプログラム（以下、「待機プログラム」という）があるか否か検索を行う（ステップＳ５０１）。ステップＳ５０１において、該当する待機プログラムが検知された場合には、待機プログラム名をバッファ領域（図示しない）中に選定リストとして格納し（ステップＳ５０２）、ステップＳ５０３へ進む。また、ステップＳ５０１において、該当する待機プログラムが検知されない場合には、ステップＳ５０３へ進む。
【００３４】
次に、起動判定部１３Ｂは、ＯＳ制御部１３Ｃから取得した起動済みプログラム名と管理情報取得部１３Ａから取得した新規起動プログラム名に基づいて優先順位テーブルから各プログラムのＣＰＵ使用率を取得し、選定リスト中のプログラムを停止させた場合に新規起動プログラムを起動するための計算機資源の空き容量を確保できるか否かの判定を行う（ステップＳ５０３）。尚、ステップＳ４０７と同様に計算機資源の空き容量は各プログラムのＣＰＵ使用率の合計が８０％以内のときに十分にあるものとする。
【００３５】
ステップＳ５０３において、起動判定部１３Ｂが計算機資源を確保できると判定した場合には、停止対象プログラムの選定処理を終了し、図４に示すステップＳ４０９に移る。例えば、図２に示す経路探索プログラム１５Ａおよび高度測定プログラム１５Ｃが起動済みのときに、店舗探索プログラム１５Ｂの起動が要求された場合である。図２における経路探索プログラム１５Ａ、店舗探索プログラム１５Ｂ、高度測定プログラム１５Ｃの各ＣＰＵ使用率は、５０％、２０％、１５％である。したがって、起動済プログラムのＣＰＵ使用率の合計は６５％であり、店舗探索プログラム１５ＢのＣＰＵ使用率（２０％）を加算すると上限値の８０％を超える。しかし、選定リスト中に経路探索プログラム１５Ａ、高度測定プログラム１５Ｃのいずれかが選定されている場合には、選定プログラム停止後に店舗探索プログラム１５Ｂを起動するならばＣＰＵ使用率の合計は上限値の８０％を超えない。したがって、起動判定部１３Ｂは計算機資源を確保できると判定する。
【００３６】
また、ステップＳ５０３において、起動判定部１３Ｂが計算機資源を確保できないと判定した場合には、停止プログラム選定部１３Ｄは、選定リスト中のプログラム以外であって起動したい新規起動プログラムよりも優先順位が下位の起動済プログラムを検索する（ステップＳ５０４）。そして、該当するプログラムがある場合には、対象となる下位の起動済プログラムの中で優先順位が最下位のプログラム名を選定リストに格納する（ステップＳ５０５）。
【００３７】
例えば、図２において、選定リストには含まれていない起動済みのプログラムが経路探索プログラム１５Ａおよび高度測定プログラム１５Ｃのときに、店舗探索プログラム１５Ｂの起動が要求された場合である。図２に示す経路探索プログラム１５Ａ、店舗探索プログラム１５Ｂ、店舗高度測定プログラム１５Ｃの各優先順位は、１位、２位、３位である。したがって、高度測定プログラム１５Ｃの優先順位（３位）が店舗探索プログラム１５Ｂの優先順位（２位）よりも低いので選定リストに格納される。
【００３８】
尚、新規起動プログラムが必要とする計算機資源量によっては複数のプログラムを停止させる場合もあるので、選定リストに他のプログラム名が既に格納されている場合には上書きせずに追加するものとする。
【００３９】
そして、ステップＳ５０３に戻り、再び計算機資源が確保できた否かの判定を行う。尚、ステップＳ５０３〜Ｓ５０５の処理は計算機資源が確保されるまで繰り返されるが、ステップＳ５０４において該当するプログラムが存在しない場合には、計算機資源を確保するための停止対象プログラム（若しくはプログラム群）を選定できなかったことになる。したがって、選定リストを初期化（ステップＳ５０６）して選定処理を終了し、図４に示すステップＳ４０９に移る。
【００４０】
ステップＳ４０９において、起動判定部１３Ｂは、停止プログラム選定部１３Ｄにおいて選定されたプログラム（以下、「選定プログラム」という）があるか否かの判定を行う。ここで、選定プログラムがない場合には、ステップＳ４０２に戻り、操作入力部１１からの入力があるまで待機する。
【００４１】
ステップＳ４０９において選定プログラムがある場合には、ＯＳ制御部１３Ｃは、選定プログラムの停止を要求する信号をオペレーティングシステム１４に出力する（ステップＳ４１０）。
【００４２】
次に、この要求信号を受けて、オペレーティングシステム１４は選定プログラムを停止させる（ステップＳ４１１）。
【００４３】
次に、配置情報記録部１３Ｅは各プログラムの配置情報を記録し、通信情報記録部１３Ｆは通信情報を記録する（ステップＳ４１２）。尚、起動済プログラムがない場合にも、新規起動プログラムの配置情報および通信情報を記録する。
【００４４】
次に、ＯＳ制御部１３Ｃは、起動させる新規起動プログラムのロードおよび起動をオペレーティングシステム１４に要求する信号を出力する（ステップＳ４１３）。
【００４５】
次に、この要求信号を受けて、オペレーティングシステム１４は、新規起動プログラムをロードし起動する（ステップＳ４１４）。
【００４６】
そして、ステップＳ４０２に戻り、操作入力部１１においてユーザからの入力があるまで待機する。
【００４７】
上記のように、本発明のこの実施形態によれば、予め定めておいた各プログラムのＣＰＵ使用率および優先順位から計算機資源の空き容量が十分か否かを判定するので、優先順位テーブルの作成やプログラムの制御が単純化され、開発コストを抑えた実施が可能となる利点がある。
【００４８】
(実施形態２)
実施形態１においては計算機資源の使用量をＣＰＵ使用率に基づいて算出していたが、本実施形態においては更にプログラムの展開先であるメモリの情報を考慮して計算機資源の空き容量が十分か否かを判定する。
【００４９】
以下、図６および図７に基づいて詳説する。
【００５０】
図６は、この実施形態の判定処理の流れを示すフローチャートである。また、図７は、本実施形態における優先順位テーブルの具体例を示す図である。図７におけるメモリ使用率は、各プログラムの実行時に必要なメモリ容量がコンピュータ１０の全メモリ容量に占める割合であり、データとしてプログラムが参照される場合等も考慮して設定されているものとする。
【００５１】
尚、本実施形態におけるコンピュータ１０の動作は、図４に示すステップＳ４０７および図５に示すステップＳ５０３の判定処理を図６の判定処理と置き換えたものであり、他の処理は実施形態１と同様であるので説明を省略する。
【００５２】
図４のステップＳ４０７（あるいは図５のステップＳ５０３）における計算機資源の空き容量の判定処理が開始されると、起動判定部１３Ｂは、管理情報取得部１３Ａを介して起動済みのプログラムおよび新規起動プログラムに関する情報を優先順位テーブルから取得する（ステップＳ６０１）。
【００５３】
次に、起動判定部１３Ｂは、計算機資源の空き容量が十分にあるか否かを優先順位テーブルから取得した各プログラムのＣＰＵ使用率に基づいて判定する（ステップＳ６０２）。具体的には、各プログラムのＣＰＵ使用率の合計が上限値である８０％以内に収まるか否かを判定する。
【００５４】
また、ステップＳ６０２において、起動判定部１３Ｂが、各プログラムのＣＰＵ使用率の合計が８０％を超えると判定した場合は、計算機資源の空き容量が不足するとし（ステップＳ６０５）、判定処理を終了し手図４に示すステップＳ４０８（図５に示すステップＳ５０３の判定処理の場合はステップＳ５０４）へ移る。
【００５５】
ステップＳ６０２において、起動判定部１３Ｂが、新規起動プログラムを起動しても各プログラムのＣＰＵ使用率の合計が８０％以内に収まると判定した場合には、ステップＳ６０３へ進む。
【００５６】
次に、起動判定部１３Ｂは、計算機資源の空き容量が十分にあるか否かを優先順位テーブルから取得した各プログラムのメモリ使用率に基づいて判定する（ステップＳ６０３）。すなわち、各プログラムのメモリ使用率の合計が１００％以内に収まるか否かを判定する。
【００５７】
ステップＳ６０３において、起動判定部１３Ｂが新規起動プログラムを起動してもメモリ使用率の合計が１００％以内となると判定した場合は、計算機資源の空き容量が十分にあるとし（ステップＳ６０４）、判定処理を終了して図４に示すステップＳ４１２（図５に示すステップＳ５０３の判定処理の場合は図４に示すステップＳ４０９）へ移る。
【００５８】
また、ステップＳ６０３において、起動判定部１３Ｂが新規起動プログラムを起動するとメモリ使用率の合計が１００％を超えると判定した場合は、計算機資源の空き容量が不足するとし（ステップＳ６０５）、判定処理を終了して図４に示すステップＳ４０８（図５に示すステップＳ５０３の判定処理の場合はステップＳ５０４）へ移る。
【００５９】
例えば、図７に示す経路探索プログラム１５Ａおよび高度測定プログラム１５Ｃが起動済みのときに、店舗探索プログラム１５Ｂの起動が要求された場合である。図７における経路探索プログラム１５Ａ、店舗探索プログラム１５Ｂ、高度測定プログラム１５Ｃの各ＣＰＵ使用率は、５０％、２０％、１０％である。したがって、起動済プログラムのＣＰＵ使用率の合計は６０％であり、店舗探索プログラム１５Ｂの２０％を加算しても上限値の８０％を超えない。
【００６０】
しかし、経路探索プログラム１５Ａ、店舗探索プログラム１５Ｂ、高度測定プログラム１５Ｃの各メモリ使用率は、４０％、４０％、３０％であり、店舗探索プログラム１５Ｂの４０％を加算すると３つのプログラムのメモリ使用率の合計が１００％を超えてしまう。したがって、起動判定部１３Ｂは計算機資源が不足すると判定する。
【００６１】
上記のように、本発明のこの実施形態によれば、計算機資源の空き容量が十分か否かをＣＰＵおよびメモリの情報を用いて２段階で判定するので、ミッションプログラム１５の制御をより正確に行うことができる利点がある。
【００６２】
尚、本発明は上記実施形態に限定されるものではなく、本発明の技術的思想の範囲内で種々変形して実施可能である。
【００６３】
例えば、上記実施形態では、３つのミッションプログラムを有するコンピュータの場合について説明したが、４以上のミッションプログラムを有するコンピュータにも適用できる。また、ミッションプログラムだけでなく、一般的なアプリケーションプログラムの場合にも適用可能である。更に、許容待機時間を越えた待機プログラムを優先的に停止させるようにしたが、優先順位の低いプログラム間では、相対的に最も待機時間の長いプログラムを停止させても良い。実行中のプログラムの停止条件をユーザの要求に合わせて柔軟に設計変更可能な利点がある。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態１に係るコンピュータ１０の全体構成を示す図。
【図２】本発明の実施形態１に係る優先順位テーブルの具体例を示す図。
【図３】本発明の実施形態１に係るプログラム制御部１３の機能を説明する機能ブロック図。
【図４】本発明の実施形態１に係るコンピュータ１０の処理の流れを示すフローチャート。
【図５】本発明の実施形態１に係るコンピュータ１０の処理の流れを示すフローチャート。
【図６】本発明の実施形態２に係るコンピュータ１０の処理の流れを示すフローチャート。
【図７】本発明の実施形態２に係る優先順位テーブルの具体例を示す図。
【符号の説明】
【００６５】
１０…コンピュータ、１１…操作入力部、
１２…プログラム管理部、１３…プログラム制御部、
１４…オペレーティングシステム（ＯＳ）、
１５…ミッションプログラム。
【図１】
2008140123.tif 000003
【図２】
2008140123.tif 000004
【図３】
2008140123.tif 000005
【図４】
2008140123.tif 000006
【図５】
2008140123.tif 000007
【図６】
2008140123.tif 000008
【図７】
2008140123.tif 000009