(57)【要約】【課題】専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消し得る、リソース管理装置、リソースの管理方法、及びプログラムを提供する。【解決手段】リソース管理装置２０は、特定のプロセスを実行する専用プロセッサ１と、特定のプロセス以外の汎用プロセスを実行する汎用プロセッサ２とを備えるコンピュータ５において、プロセッサリソースを管理する。リソース管理装置２０は、一定条件下において、専用プロセッサによる汎用プロセスの実行を許可する、管理部１１と、管理部１１によって許可された場合に、専用プロセッサに汎用プロセスを実行させる、プロセス実行部１０と、を備えている。【選択図】図１
2014164635.tif 000002
【特許請求の範囲】
【請求項１】
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備えていることを特徴とするリソース管理装置。
【請求項２】
前記管理部は、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第２のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
請求項１に記載のリソース管理装置。
【請求項３】
前記第２のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記プロセス実行部が、前記第１のプロセッサに、検出された前記特定のプロセスを実行させる、
請求項２に記載のリソース管理装置。
【請求項４】
前記第１のプロセッサ及び前記第２のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、格納部を更に備え、
前記管理部は、前記識別子に基づいて、全ての前記第２のプロセッサが前記汎用プロセスを実行していることを特定して、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
請求項２または３に記載のリソース管理装置。
【請求項５】
前記プロセス実行部は、実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第２のプロセッサを特定し、特定した前記第２のプロセッサに、実行可能な前記汎用プロセスを実行させる、
請求項４に記載のリソース管理装置。
【請求項６】
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を有することを特徴とするリソース管理方法。
【請求項７】
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムにおいてプロセッサリソースを管理するための、リソース管理装置及びリソースの管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータシステムにおける処理性能の向上を図るため、複数のプロセッサを備えるマルチプロセッサシステムが利用されている。また、マルチプロセッサシステムとしては、対等で対象的な汎用プロセッサのみを備えるシステムと、汎用のプロセッサに加えて特定のプロセスのみを実行する専用プロセッサも備えるシステムとが知られている。前者は、ＳＭＰ（Symmetric Multiple Processor）システムと呼ばれ、後者は、ＡＳＭＰ（Asymmetric Multi-Processor）システムと呼ばれている。
【０００３】
また、上記の２種類のマルチプロセッサシステムのうち、ＡＳＭＰシステムは、ＳＭＰシステムに比べて、システム設計を容易なものとできることから、近年利用が増加している。
【０００４】
例えば、特許文献１は、ＡＳＭＰシステムを開示している。特許文献１に開示されたＡＳＭＰシステムでは、専用プロセッサは特定のプロセスを実行し、汎用プロセッサは特定のプロセスを除く汎用プロセスを実行する。
【０００５】
また、特許文献２も、ＡＳＭＰシステムを開示している。特許文献２に開示されたＡＳＭＰシステムでは、要求されたデッドラインまでに処理を完了するため、専用プロセッサでの処理を実行する前に、専用プロセッサではデッドラインを守れるかどうかが判定され、判定結果に基づいたスケジューリングが行なわれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８１８１７２号公報
【特許文献２】特開２００７−２１９９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１及び特許文献２に開示されたシステムでは、一つのプロセッサが、特定のプロセスのみを実行する専用プロセッサとして割り当てられるため、汎用プロセスを実行するためのプロセッサリソースが不足することがある。
【０００８】
しかしながら、特許文献１及び特許文献２に開示されたシステムにおいては、専用プロセッサは、実行すべき特定のプロセスが無くても、汎用プロセスを実行できないため、上述のプロセッサリソースの不足を解消することは困難である。また、この結果、専用プロセッサのリソースを有効に活用できないという問題も生じてしまう。
【０００９】
本発明の目的の一例は、上記問題を解消し、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消し得る、リソース管理装置、リソースの管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一側面におけるリソース装置は、特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備えていることを特徴とする。
【００１１】
また、上記目的を達成するため、本発明の一側面におけるリソース管理方法は、特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を有することを特徴とする。
【００１２】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態におけるリソース管理装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態２におけるリソース管理装置の構成を具体的に示すブロック図である。
【図３】図３は、図２に示すプロセッサ制御情報格納部に格納されているプロセッサ状態とプロセッサ情報との一例を示す図である。
【図４】図４は、本発明の実施の形態におけるリソース管理装置の動作を示すフロー図である。
【図５】図５（ａ）は、本実施の形態における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。図５（ｂ）は、従来における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。
【発明を実施するための形態】
【００１５】
（実施の形態）
以下、本発明の実施の形態における、リソース管理装置、リソースの管理方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００１６】
［装置構成］
最初に、図１を用いて本発明の実施の形態におけるリソース管理装置の構成について説明する。図１は、本発明の実施の形態におけるリソース管理装置の構成を示すブロック図である。
【００１７】
図１に示すように、本実施の形態におけるリソース管理装置２０は、コンピュータ５においてプロセッサリソースを管理するための装置である。また、コンピュータ５は、特定のプロセス（以下「専用プロセス」と表記する。）を実行する第１のプロセッサ１と、特定のプロセス以外の汎用プロセスを実行する第２のプロセッサ２及び３とを備えている。
【００１８】
なお、以降において、特定のプロセスは「専用プロセス」と表記し、第１のプロセッサは「専用プロセッサ」と表記する。また、第２のプロセッサは「汎用プロセッサ」と表記する。
【００１９】
また、図１に示すように、リソース管理装置２０は、一定条件下において専用プロセッサ１による汎用プロセスの実行を許可する管理部１１と、管理部１１によって許可された場合に専用プロセッサ１に汎用プロセスを実行させるプロセス実行部１０とを備えている。
【００２０】
以上のように、本実施の形態におけるリソース管理装置２０では、一定条件下、例えば、全ての汎用プロセッサ２及び３が処理実行中にあって、実行すべき汎用プロセスを実行できない場合に、専用プロセッサ１によって汎用プロセスを実行することができる。このため、専用プロセスを実行する専用プロセッサ１を有効利用することによって、汎用プロセッサ２及び３のプロセッサリソース不足を解消することができる。
【００２１】
ここで、更に図２及び図３を用いて、本実施の形態におけるリソース管理装置の構成を具体的に説明する。図２は、本発明の実施の形態２におけるリソース管理装置の構成を具体的に示すブロック図である。
【００２２】
まず、図２に示すように、コンピュータ５は、専用プロセッサ１、汎用プロセッサ２及び３に加えて、メモリ等の記憶装置４を備えている。また、本実施の形態では、リソース管理装置２０は、コンピュータ５のオペレーティングシステム（図２において図示せず）上で動作するプログラムによって構築されている。このため、後述するように、専用プロセッサ１、汎用プロセッサ２及び３のうちのいずれかが、プロセス実行部１０及び管理部１１として機能し、処理を行なう。
【００２３】
更に、図２に示すように、リソース管理装置２０は、プロセス実行部１０及び管理部１１に加えて、プロセッサ制御情報格納部１２と、プロセス情報格納部１４とを備えている。プロセッサ制御情報格納部１２及びプロセス情報格納部１４は、コンピュータ５の記憶装置４の記憶領域上に構築されている。
【００２４】
このうち、プロセッサ制御情報格納部１２は、専用プロセッサ及び汎用プロセッサがプロセスを実行中であるかどうかを示す識別子（以下「プロセッサ状態」と表記する。）１３を格納している。また、図２には示されていないが、プロセッサ制御情報格納部１２は、更に、各プロセッサの情報（以下「プロセッサ情報」と表記する。）も格納している。
【００２５】
図３は、図２に示すプロセッサ制御情報格納部に格納されているプロセッサ状態とプロセッサ情報との一例を示す図である。図３に示すように、本実施の形態では、プロセッサ制御情報格納部１２は、プロセッサ情報として、プロセッサ毎のバイトアドレスと、プロセッサ毎のプロセッサ種別とを格納している。また、プロセッサ制御情報格納部１２は、プロセッサ毎に、プロセッサ状態１３を格納している。
【００２６】
よって、プロセス実行部１０及び管理部１１は、プロセッサ制御情報格納部１２にアクセスし、これに格納されているプロセス状態を確認することにより、専用プロセッサ及び汎用プロセッサがプロセスを実行中であるか否かを判断することができる。
【００２７】
また、プロセス情報格納部１４は、実行可能な専用プロセスの一時保存と出力とを行なう専用プロセスキュー１５と、実行可能な汎用プロセスの一時保存と出力とを行なう汎用プロセスキュー１６とを格納している。プロセス実行部１０及び管理部１１は、プロセス情報格納部１４にアクセスすることにより、実行可能な専用プロセス及び汎用プロセスの存在を確認することができる。
【００２８】
よって、本実施の形態では、プロセス実行部１０は、専用プロセスキュー１５に実行可能な専用プロセスが存在すると、専用プロセッサ１に専用プロセスの実行を開始させる。また、専用プロセスキュー１５に実行可能なプロセスが存在しない場合に、管理部１１により、専用プロセッサ１での汎用プロセスの実行が許可されると、プロセス実行部１０は、専用プロセッサに、汎用プロセスキュー１６の汎用プロセスの実行を開始させる。なお、専用プロセスキュー１５に実行可能なプロセスが存在しない場合とは、専用プロセッサ１のリソースに空きが生じた状態をいう。
【００２９】
また、専用プロセスキュー１５に実行可能なプロセスが存在しない場合でも、管理部１１により、専用プロセッサ１での汎用プロセスの実行が許可されていないときは、プロセス実行部１０は、専用プロセッサに汎用プロセスを実行させない。つまり、プロセス実行部１０は、この場合は、汎用プロセスキュー１６に汎用プロセスが存在しても、専用プロセッサに汎用プロセスを実行させず、専用プロセスの実行を優先して処理させる。
【００３０】
本実施の形態では、「専用プロセッサ１による汎用プロセスの実行の許可」は、管理部１１が、記憶装置４の記憶領域上の特定のアドレスに、許可が有効であることを示す識別子又は許可が無効であることを示す識別子を書き込むことによって行なわれている。プロセス実行部１０は、書き込まれた識別子を確認することによって、許可が有効となっているか、無効となっているかを確認する。なお、以降において、許可の有効無効を示す識別子を「汎用プロセス実行許可」と表記する。汎用プロセス実行許可は、汎用プロセスのリソースが不足しているか否かを示す識別子である。
【００３１】
本実施の形態では、管理部１１は、プロセッサ状態１３から、全ての汎用プロセッサがプロセスの実行中になっていることを確認すると、汎用プロセッサのリソースが不足していると判断し、汎用プロセスの実行許可を有効に設定する。また、管理部１１は、全ての汎用プロセッサが実行状態でない場合、即ち、一つでも空き状態の汎用プロセッサが存在する場合は、汎用プロセッサのリソースには余裕があると判断し、汎用プロセスの実行許可を無効に設定する。
【００３２】
また、プロセス実行部１０は、汎用プロセスキュー１６に実行可能な汎用プロセスが存在する場合は、汎用プロセッサ２又は３に汎用プロセスの実行を開始させる。また、汎用プロセスが実行されているときに、専用プロセスが検出された場合は、プロセス実行部１０は、検出した専用プロセスを専用プロセスキュー１５に格納する。
【００３３】
更に、この場合において、専用プロセスの検出前に専用プロセスキュー１５が空であることを条件として、プロセス実行部１０は、専用プロセッサ１に、検出された専用プロセスを実行させる。また、このときの専用プロセッサ１への専用プロセスの実行の指示は、専用プロセッサ１への専用プロセスの実行を要求する「専用プロセス実行指示」を有効に設定することによって行なわれる。
【００３４】
なお、「専用プロセス実行指示」は、プロセス実行部１０によって記憶装置４の記憶領域上の特定のアドレスに書き込まれる、専用プロセス実行指示が有効であることを示す識別子又は専用プロセス実行指示が無効であることを示す識別子である。専用プロセス１は、専用プロセスの実行指示が有効となっている場合は、専用プロセスを実行する。
【００３５】
［装置動作］ 
次に、本発明の実施の形態におけるリソース管理装置２０の動作について図４を用いて説明する。図４は、本発明の実施の形態におけるリソース管理装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態１では、リソース管理装置２０を動作させることによって、リソース管理方法が実施される。よって、本実施の形態におけるリソース管理方法の説明は、以下のリソース管理装置２０の動作説明に代える。
【００３６】
図４に示すように、まず、プロセス実行部１０は、プロセッサ状態１３に基づいて、空き状態にあるプロセッサが専用プロセッサ１であるかどうかを判定する（ステップＳ１）。
【００３７】
ステップＳ１の結果、空き状態にあるプロセッサが専用プロセッサ１である場合は、更に、プロセス実行部１は、専用プロセスキュー１５に実行可能な専用プロセスが存在しているかどうか、即ち、専用プロセスキュー１５が空であるかどうかを判定する（ステップＳ２）。
【００３８】
ステップＳ２の判定の結果、専用プロセスキュー１５に実行可能な専用プロセスが存在している場合は、プロセス実行部１０は、専用プロセッサ１に専用プロセスの実行を開始させる（ステップＳ５）。その後、プロセス実行部１０は、プロセッサ状態１３の専用プロセッサの状態を実行状態に設定して処理を終了する。
【００３９】
一方、ステップ２の判定の結果、専用プロセスキュー１５に実行可能な専用プロセスが存在していない場合（専用プロセスキューが空の場合）は、プロセス実行部１０は、管理部１１によって汎用プロセスの実行が許可されているかどうかを判定する（ステップＳ３）。
【００４０】
ステップＳ３の判定の結果、管理部１１によって汎用プロセスの実行が許可されていない場合は、プロセス実行部１０は、プロセス実行部１０は、専用プロセッサ１のリソースに余裕があっても、専用プロセッサに汎用プロセスを実行させることができない。よって、プロセス実行部１０は処理を終了する。また、このとき、プロセス実行部１０は、プロセッサ状態１３の専用プロセスの状態を空き状態に設定する（図３参照）。
【００４１】
一方、ステップＳ３の判定の結果、管理部１１によって汎用プロセスの実行が許可されている場合は、プロセス実行部１０は、汎用プロセスキュー１６に実行可能な汎用プロセスが存在することを条件に、プロセス実行部１０は、専用プロセッサに汎用プロセスの実行を開始させる（ステップＳ４）。これにより、専用プロセッサ１のリソースが有効に利用されることになる。また、このとき、プロセス実行部１０は、プロセッサ状態１３の専用プロセッサの状態を実行状態に設定する（図３参照）。その後、プロセス実行部１０は処理を終了する。
【００４２】
また、管理部１１によって汎用プロセスの実行が許可されているにも拘らず、汎用プロセスキュー１６に実行可能な汎用プロセスが存在しない場合（汎用プロセスキューが空の場合）は、プロセッサ実行部１０は、プロセッサ状態１３の専用プロセッサの状態を空き状態に設定する。
【００４３】
ステップＳ１の結果、空き状態にあるプロセッサが専用プロセッサ１でない（汎用プロセッサである）場合は、プロセス実行部１は、汎用プロセスキュー１６に実行可能な汎用プロセスが存在しているかどうかを判定する（ステップＳ６）。
【００４４】
ステップＳ６の判定の結果、汎用プロセスキュー１６に実行可能な汎用プロセスが存在していない場合（汎用プロセスキューが空の場合）は、プロセス実行部１０は、処理を終了する。このとき、プロセス実行部１０は、プロセッサ状態１３における該当する汎用プロセッサの状態を空き状態に設定する。
【００４５】
一方、ステップＳ６の判定の結果、汎用プロセスキュー１６に実行可能な汎用プロセスが存在している場合（汎用プロセスキューが空でない場合）は、プロセス実行部１０は、空き状態にある汎用プロセッサに汎用プロセスの実行を開始させる（ステップＳ７）。このとき、プロセス実行部１０は、プロセッサ状態１３における該当する汎用プロセッサの状態を実行状態に設定する。その後、プロセス実行部１０は、処理を終了する。
【００４６】
本実施の形態では、ステップＳ１〜Ｓ７は、設定間隔で繰り返し実行される。また、上記図４には例示されていないが、ステップＳ７が実行され、その後、プロセス実行部１０が専用プロセスを検出する場合がある。この場合、専用プロセスキュー１５が空であるときは、検出された専用プロセスが専用プロセスキュー１５に格納されると、プロセス実行部１０は、専用プロセッサ１に対して、専用プロセス実行指示を有効に設定する。これにより、専用プロセッサは、汎用プロセスを実行していても、これを中断し、専用プロセスの実行を開始する。
【００４７】
また、本実施の形態では、管理部１１は、プロセッサ状態１３から、全ての汎用プロセッサが実行状態になっていることを確認した場合は、汎用プロセッサのリソースが不足していると判断し、汎用プロセス実行許可を有効に設定する。一方、管理部１１は、全ての汎用プロセッサが実行状態でない場合、即ち、少なくとも一つ以上の汎用プロセッサが空いている状態であり、汎用プロセッサのリソースに余裕がある場合は、汎用プロセス実行許可を無効に設定する。
【００４８】
［具体例］
ここで、図５（ａ）及び（ｂ）を用いて、リソース管理装置２０の動作の具体例について説明する。図５（ａ）は、本実施の形態における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。図５（ｂ）は、従来における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。
【００４９】
図５（ａ）及び（ｂ）に示すように、時間の経過に伴って、専用プロセッサと汎用プロセッサとは、プロセスを実行する。そして、図５（ａ）及び（ｂ）において、Ａ、Ｂは、それぞれ、専用プロセッサのみで実行可能な専用プロセスを示す。ａ〜ｋは、それぞれ、汎用プロセスを示す。また、プロセスｉ及びｊは、プロセスｈが完了した時に実行されることとする。更に、プロセスｉ及びｊ以外のプロセスの実行順序には、制限がないこととする。
【００５０】
まず、汎用プロセッサ２及び３のリソースが不足した場合の動作について説明する。汎用プロセッサ２が汎用プロセスａを実行し、汎用プロセッサ３が汎用プロセスｂを実行すると、管理部１１は、汎用プロセッサのリソースが不足していると判断し、汎用プロセスの実行許可を有効に設定する。
【００５１】
この時、図５（ａ）に示すように、プロセス実行部１０は、専用プロセスキュー１５に実行可能なプロセスが存在しないので、汎用プロセスキュー１６から汎用プロセスｃを取得し、専用プロセッサ１に、取得した汎用プロセスｃの実行を開始させる。
【００５２】
図５（ｂ）に示す、従来の装置では、２つの汎用プロセッサによる汎用プロセスａ〜ｃの実行時間は２分間程あるとする。これに対して、図５に示すリソース管理装置２０によれば、専用プロセッサの空きリソースが活用され、汎用プロセスａ〜ｃをほぼ同時に実行できるので、実行時間は１分間〜２分間程度へと１分程短縮できると考えられる。
【００５３】
次に、専用プロセスを優先して実行する場合の動作について説明する。例えば、プロセス実行部１０が、汎用プロセッサ３によって汎用プロセスｄを実行させたときに、優先して実行すべき専用プロセスＡを検出したとする。この場合、プロセス実行部１０は、検出した専用プロセスＡを専用プロセスキュー１５に格納する。
【００５４】
そして、プロセス実行部１０は、空の状態にある専用プロセスキュー１５に専用プロセスＡを格納するので、専用プロセッサ１に対して、専用プロセス実行指示を有効に設定する。これにより、専用プロセッサ１は、専用プロセスＡの実行を開始する。以後、専用プロセッサ１は、専用プロセスキュー１５が空になるまで、専用プロセスを優先して実行する。図５（ａ）の例のように、専用プロセスキュー１５に専用プロセスＡ及びＢが格納された場合は、これらが連続して実行される。
【００５５】
次に、汎用プロセッサのリソースが不足した時でも専用プロセスを優先して実行する場合の動作について説明する。プロセス実行部１０が、汎用プロセッサ２に汎用プロセスｆを実行させ、汎用プロセッサ３に汎用プロセスｇを実行させると、汎用プロセッサのリソースは不足する。しかし、専用プロセスキュー１５には、専用プロセスＢが存在するので、プロセス実行部１０は、専用プロセッサ１に対して、専用プロセスＡの完了後に、専用プロセスキュー１５内の専用プロセスＢを優先して実行させる。
【００５６】
次に、汎用プロセッサのリソースに余裕がある場合の動作について説明する。図５（ａ）の経過時間が４分であるときは、汎用プロセッサ２は汎用プロセスｈを実行しなければならない。しかし、汎用プロセッサ３は、実行するプロセスがなく空き状態になっている。
【００５７】
従って、管理部１１は、汎用プロセッサ３のリソースに余裕があると判断し、汎用プロセスの実行許可を無効にする。この時、プロセス実行部１０は、専用プロセスキュー１５に実行可能なプロセスが存在しているか否かのチェックを継続する。なお、専用プロセッサ１が、専用プロセスキュー１５のチェックを行わずに、専用プロセスキュー１５に実行可能な専用プロセスが出現するまで待ち続ける態様であっても良い。また、汎用プロセッサ３は、汎用プロセスｉ及びｊ以外に新たに実行可能な汎用プロセスが生じた場合、優先して実行する。
【００５８】
［実施の形態における効果］
以上のように、本実施の形態によれば、以下の効果を得ることができる。
【００５９】
第１の効果は、専用プロセッサのリソースを有効に活用することにより、汎用プロセッサのリソース不足を補填できることである。その理由は、プロセス実行部１０と管理部１１とにより、汎用プロセッサのリソース不足を判断してプロセッサリソースを制御することができるからである。
【００６０】
第２の効果は、専用プロセッサの機能を維持しつつ、専用プロセッサのリソースを有効に活用できることである。その理由は、プロセス実行部１０と管理部１１とにより、専用プロセスの状態と汎用プロセスの状態とが判断されて、専用プロセッサのリソースが制御されるためである。
【００６１】
また、第３の効果は、プロセッサ単位でのリソースの制御と、複数のプロセッサの制御とが可能になることである。その理由は、プロセッサ状態１３によって、各プロセッサの実行状態が特定できるためである。
【００６２】
［変形例］
図１〜図５の例では、専用プロセッサの数は一つであるが、本実施の形態においては、専用プロセッサの数は複数であっても良く、この場合でも、専用プロセッサのリソースを有効に活用できる。また、本実施の形態は、複数の専用プロセッサそれぞれによって実行される処理が異なる場合でも、各専用プロセッサのリソースを有効に活用できることが可能となる。また、本実施の形態は、複数の専用プロセスキューが設けられていても良く、この場合でも、容易に対応することができる。
【００６３】
［プログラム］
本実施の形態におけるプログラムは、コンピュータ５に、図４に示すステップＳ１〜Ｓ７を実行させるプログラムであれば良い。このプログラムをコンピュータ５にインストールし、実行することによって、本実施の形態におけるリソース管理装置２０とリソース管理方法とを実現することができる。この場合、コンピュータの専用プロセッサ及び汎用プロセッサのいずれかが、プロセス実行部１０及び管理部１１として機能し、処理を行なう。
【００６４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【００６５】
（付記１）
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備えていることを特徴とするリソース管理装置。
【００６６】
（付記２）
前記管理部は、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第２のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記１に記載のリソース管理装置。
【００６７】
（付記３）
前記第２のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記プロセス実行部が、前記第１のプロセッサに、検出された前記特定のプロセスを実行させる、
付記２に記載のリソース管理装置。
【００６８】
（付記４）
前記第１のプロセッサ及び前記第２のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、格納部を更に備え、
前記管理部は、前記識別子に基づいて、全ての前記第２のプロセッサが前記汎用プロセスを実行していることを特定して、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記２または３に記載のリソース管理装置。
【００６９】
（付記５）
前記プロセス実行部は、実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第２のプロセッサを特定し、特定した前記第２のプロセッサに、実行可能な前記汎用プロセスを実行させる、
付記４に記載のリソース管理装置。
【００７０】
（付記６）
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を有することを特徴とするリソース管理方法。
【００７１】
（付記７）
前記（ａ）のステップにおいて、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第２のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記６に記載のリソース管理方法。
【００７２】
（付記８）
（ｃ）前記第２のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記第１のプロセッサに、検出された前記特定のプロセスを実行させる、ステップを更に有する、付記７に記載のリソース管理方法。
【００７３】
（付記９）
（ｄ）前記第１のプロセッサ及び前記第２のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、ステップを更に有し、
前記（ａ）のステップにおいて、前記識別子に基づいて、全ての前記第２のプロセッサが前記汎用プロセスを実行していることを特定して、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記７または８に記載のリソース管理方法。
【００７４】
（付記１０）
（ｅ）実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第２のプロセッサを特定し、特定した前記第２のプロセッサに、実行可能な前記汎用プロセスを実行させる、ステップを更に有する、
付記９に記載のリソース管理方法。
【００７５】
（付記１１）
特定のプロセスを実行する第１のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第２のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
（ａ）一定条件下において、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
（ｂ）前記（ａ）のステップによって許可された場合に、前記第１のプロセッサに前記汎用プロセスを実行させる、ステップと、
を実行させるプログラム。
【００７６】
（付記１２）
前記（ａ）のステップにおいて、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第２のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記１１に記載のプログラム。
【００７７】
（付記１３）
（ｃ）前記第２のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記第１のプロセッサに、検出された前記特定のプロセスを実行させる、ステップを更に前記コンピュータに実行させる、付記１２に記載のプログラム。
【００７８】
（付記１４）
（ｄ）前記第１のプロセッサ及び前記第２のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、ステップを更に前記コンピュータに実行させ、
前記（ａ）のステップにおいて、前記識別子に基づいて、全ての前記第２のプロセッサが前記汎用プロセスを実行していることを特定して、前記第１のプロセッサによる前記汎用プロセスの実行を許可する、
付記１２または１３に記載のプログラム。
【００７９】
（付記１５）
（ｅ）実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第２のプロセッサを特定し、特定した前記第２のプロセッサに、実行可能な前記汎用プロセスを実行させる、ステップを更に前記コンピュータに実行させる、
付記１４に記載のプログラム。
【産業上の利用可能性】
【００８０】
本発明によれば、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消することができる。本発明は、マルチプロセッサシステムに有効である。
【符号の説明】
【００８１】
１  専用プロセッサ
２  汎用プロセッサ
３  汎用プロセッサ
４  記憶装置
５  コンピュータ
１０  プロセス実行部
１１  管理部
１２  プロセッサ制御情報格納部
１３  プロセッサ状態
１４  プロセス情報格納部
１５  専用プロセスキュー
１６  汎用プロセスキュー
２０  リソース管理装置
【図１】
2014164635.tif 000003
【図２】
2014164635.tif 000004
【図３】
2014164635.tif 000005
【図４】
2014164635.tif 000006
【図５】
2014164635.tif 000007