(57)【要約】【課題】省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御（ＱｏＳ制御等）に関与する場合に、予め設定されているＱｏＳを保証しつつ、そのプロセッサの能力を低下させる。【解決手段】そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える。【選択図】    図１
2004326364.tif 000002
【特許請求の範囲】
【請求項１】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、
を備えるタスク管理システム。
【請求項２】
少なくとも実行制御対象タスクと能力低下時のタスクパラメータとの対応関係が登録されるタスク情報テーブルをさらに備え、
前記判定部は、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する、
請求項１に記載のタスク管理システム。
【請求項３】
前記タスク情報テーブルには、新規タスク登録要求があった場合に、少なくともその新規タスクに対するプロセッサ能力低下時のタスクパラメータが登録され、
前記判定部は、前記新規タスクに対するプロセッサ能力低下時のタスクパラメータ登録後に、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する、
請求項１又は２に記載のタスク管理システム。
【請求項４】
前記タスクパラメータはプロセッサ割当時間である請求項１から３のいずれかに記載のタスク管理システム。
【請求項５】
前記許可変数にプロセッサ能力低下の許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部を備える、
請求項１から４のいずれかに記載のタスク管理システム。
【請求項６】
前記プロセッサ能力制御部は、前記プロセッサの動作周波数を低下させることにより前記プロセッサのプロセッサ能力を低下させる請求項１から５のいずれかに記載のタスク管理システム。
【請求項７】
前記プロセッサはそのプロセッサ能力を段階的に低下させることが可能なプロセッサである請求項１から６のいずれかに記載のタスク管理システム。
【請求項８】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部と、
を備えるタスク管理システム。
【請求項９】
そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報を許可変数に記録するステップと、
を備えるタスク管理方法。
【請求項１０】
そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるステップと、
を備えるタスク管理方法。
【請求項１１】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数、
として機能させるためのプログラム。
【請求項１２】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するシステムにおいて、所定のサービス品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を保証しつつ、そのプロセッサのプロセッサ能力を低下させるための技術に関する。
【０００２】
【従来の技術】
従来、ＱｏＳ制御されるタスクのパラメータ（プロセッサ割当時間等の所要リソース量等）についてはプロセッサ能力が一定であることを前提として設定されていた（例えば、特許文献１参照）。このため、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御（ＱｏＳ制御等）に関与する場合に、そのプロセッサの能力を低下させると、設定されているＱｏＳを保証できない可能性がある。
【０００３】
【特許文献１】
特開平７−９３１６８号公報
【０００４】
【発明が解決しようとする課題】
本発明の課題は、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御（ＱｏＳ制御等）に関与する場合に、設定されているＱｏＳ（所定サービス品質）を保証しつつ、そのプロセッサの能力を低下させることが可能な技術を提供することにある。
【０００５】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える構成とした。
本発明によれば、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数を備えている。このため、この許可変数にプロセッサ能力低下の許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させることが可能となる。逆に、この許可変数にプロセッサ能力低下の不許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させないことが可能となる。
【０００６】
これは、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御（ＱｏＳ制御等）に関与する場合に、設定されているＱｏＳ（所定サービス品質）を保証しつつ、そのプロセッサの能力を低下させることが可能となることを意味する。
【０００７】
上記タスク管理システムにおいては、例えば、少なくとも実行制御対象タスクと能力低下時のタスクパラメータとの対応関係が登録されるタスク情報テーブルをさらに備え、前記判定部は、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【０００８】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、既存のタスク情報テーブルに若干の変更（例えばプロセッサ能力低下時のタスクパラメータの項目）を加えるだけで、判定することが可能となる。
【０００９】
上記タスク管理システムにおいては、例えば、前記タスク情報テーブルには、新規タスク登録要求があった場合に、少なくともその新規タスクに対するプロセッサ能力低下時のタスクパラメータが登録され、前記判定部は、前記新規タスクに対するプロセッサ能力低下時のタスクパラメータ登録後に、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【００１０】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、新規タスク登録要求があったタスクを含む全タスクのパラメータに基づいて、判定することが可能となる。
【００１１】
上記タスク管理システムにおいては、例えば、前記タスクパラメータはプロセッサ割当時間である。これは、タスクパラメータの一例を示したものである。
【００１２】
上記タスク管理システムにおいては、例えば、前記プロセッサ能力制御部は、前記プロセッサの動作周波数を低下させることにより前記プロセッサのプロセッサ能力を低下させる。これは、プロセッサ能力低下の一例を示したものである。
【００１３】
上記タスク管理システムにおいては、例えば、前記プロセッサはそのプロセッサ能力を段階的に低下させることが可能なプロセッサであってもよい。
【００１４】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサがタスクの実行制御に関与する場合に、設定されているＱｏＳを保証しつつ、そのプロセッサの能力を段階的に低下させることが可能となる。
【００１５】
本発明は、次のように特定することもできる。
【００１６】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部と、を備えるタスク管理システム。
【００１７】
また、本発明は方法の発明として次のように特定することができる。
【００１８】
第１に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報を許可変数に記録するステップと、を備えるタスク管理方法。
【００１９】
第２に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるステップと、を備えるタスク管理方法。
【００２０】
また、本発明はプログラムの発明として次のように特定することができる。
【００２１】
第１に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数、として機能させるためのプログラム。
【００２２】
第２に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部、として機能させるためのプログラム。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態であるタスク管理システムについて図面を参照しながら説明する。図１は、本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【００２４】
本実施形態のタスク管理システムは、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）やパーソナルコンピュータ等の情報処理端末１００により実現される。図１に示すように、情報処理端末１００は、プロセッサ１１０、ハードディスク装置等の記憶装置１２０、及びＲＡＭ等のメモリ１３０等を備えている。また、情報処理端末１００は、液晶ディスプレイ等の画像表示装置やスピーカ等の音声出力装置等も備えている（いずれも図示せず）。これら各要素はバス等を介して相互に接続されている。
【００２５】
プロセッサ１１０は、省電力等を目的としてそのプロセッサ能力（例えば動作周波数）を低下させること（例えば通常動作周波数８００ＭＨｚから低下時動作周波数４００ＭＨｚ）が可能なプロセッサであり、例えば、当該機能を備えるＬＳＩやＣＰＵ等である。
【００２６】
記憶装置１２０には、リアルタイムＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、そのリアルタイムＯＳ上で実行される各種プログラム（優先度が設定されている複数のタスク等）、タスク情報テーブル１３５、及び許可変数１３６等がインストールされている。これらのリアルタイムＯＳ等は適宜、記憶装置１２０からメモリ１３０へ読み出される。図１は、これらのリアルタイムＯＳ等がメモリ１３０へ読み出された状態を示している。
【００２７】
リアルタイムＯＳは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能（又はタスク管理機能ともいう）を有するオペレーティングシステムである。優先度制御機能は、リアルタイムＯＳが有するスケジューラ１３１によって実現される。
【００２８】
スケジューラ１３１は、各タスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。スケジューラ１３１は、アプリケーションプログラム群（これらは優先度が設定されている複数のタスクとして把握される）や各種デバイスの制御などの処理のタイミングやどの処理を動かすかを決定する。具体的には、スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行（処理）する。リアルタイムＯＳにおいては、低い優先度が設定されているタスクは全く動作しない可能性もある。スケジューラ１３１はまた、各タスクの状態（実行可能状態、実行状態、待ち状態等）も管理している。
【００２９】
スケジューラ１３１によって優先度制御される複数のタスクとしては、スケジューラタスク１３２、時間起動通知用タスク１３３、及び、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）タスク１３４等がある。これらのタスクには優先度が設定されている。スケジューラタスク１３２には最も高い優先度（他のタスク１３３、１３４等と比較して高い優先度）が設定される。
【００３０】
スケジューラタスク１３２は、他のタスク（ＱｏＳタスク１３４）の実行制御を行うためのタスクである。スケジューラタスク１３２は、他のタスクの実行制御として、ＱｏＳタスク１３４の中から実行タスクの決定、実行タスクの優先度の変更、及び、実行タスクの所要リソース量の制御（リソース割り当て）等を行う。
【００３１】
時間起動通知用タスク１３３は、スケジューラタスク１３２を実行状態（Ｒｕｎｎｉｎｇ状態）へ遷移させるためのものである。そのために、時間起動通知用タスク１３３は、所定期間（一定周期または設定時間）ごとに所定通知（イベントフラグまたはセマフォ等）をスケジューラタスク１３２へ通知する。所定通知を受けると、スケジューラタスク１３２は、実行状態へ遷移して他のタスク（ＱｏＳタスク１３４）の実行制御を行う。
【００３２】
ＱｏＳタスク１３４はその所要リソース量を制御可能な可変タスクである。所要リソース量を最低限保証すべき保証部分と制御可能部分とに分けることで、最低限の品質（保証部分）が保たれるようになっている。
【００３３】
タスク情報テーブル１３５は、ＱｏＳタスク１３４（実行制御対象タスク）に関する情報を管理するためのテーブルである。このタスク情報テーブル１３５により、通常時（プロセッサ能力非低下時）、又はプロセッサ能力低下時のプロセッサ１１０がＱｏＳタスク１３４の実行制御に関与した場合に所定のサービス品質を保証することが可能となっている。この所定のサービス品質保証のために、タスク情報テーブル１３５には、ＱｏＳタスク１３４と通常時のプロセッサ割当時間（タスクパラメータ）との対応関係、及びＱｏＳタスク１３４とプロセッサ能力低下時のプロセッサ割当時間（タスクパラメータ）との対応関係が登録される。具体的には、タスク情報テーブル１３５には、タスクＩＤ１３５ａ、及びタスクパラメータ（起動タイミング１３５ｂ、通常時用割当時間１３５ｃ、及び能力低下時用割当時間１３５ｄ等）等が登録される。
【００３４】
タスクＩＤ１３５ａは、ＱｏＳタスク１３４を識別するための識別子である。起動タイミング１３５ｂは、ＱｏＳタスク１３４における実行開始時点から次の実行開始時点までの時間（周期）である。あるＱｏＳタスク１３４が実行されると、設定された周期の間、このＱｏＳタスク１３４が新たに実行されることはない。
【００３５】
通常時用割当時間１３５ｃは、ＱｏＳタスク１３４に割り当てられた通常時のプロセッサ割当時間である。通常時用割当時間１３５ｃは、通常時のプロセッサ１１０がＱｏＳタスク１３４の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【００３６】
能力低下時用割当時間１３５ｄは、ＱｏＳタスク１３４に割り当てられた能力低下時（プロセッサ能力低下時）のプロセッサ割当時間である。能力低下時用割当時間１３５ｄは、能力低下時のプロセッサ１１０がＱｏＳタスク１３４の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【００３７】
許可変数１３６には、プロセッサ能力低下の許可又は不許可を示す情報（値等）が格納される。この許可変数に許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったときは、プロセッサ能力の低下が許容される。一方、許可変数に不許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったとしても、プロセッサ能力の低下は許容されない。
【００３８】
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。図２は、タスク管理システムの動作を説明するためのフローチャートである。以下の処理は、情報処理端末１００に所定プログラムが読み込まれ、そのプロセッサ１１０等により実行されることにより実現される。これは、プロセッサ１１０がタスクの実行制御に関与することを意味する。
【００３９】
リアルタイムＯＳや所定アプリケーション等から新規タスク登録要求があった場合（Ｓ１００）、その新規タスクの登録が可能か否かが判定される。例えば、その新規タスクを登録すると、通常時（プロセッサ能力非低下時）のプロセッサ１１０がその新規タスクを含む全ＱｏＳタスク（実行制御対象タスク）１３４の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。そして、所定サービス品質を保証できないと判定された場合には、その新規タスクの登録ができない（Ｓ１０１：Ｎｏ）として、新規タスク登録要求に対する処理は終了する。
【００４０】
一方、所定サービス品質を保証できると判定されると、その新規タスクの登録が可能であるとして（Ｓ１０１：Ｙｅｓ）、その新規タスクに対する能力低下時のプロセッサ割当時間の計算（例えば周波数換算で計算）及び記録が行われる（Ｓ１０２）。この計算されたプロセッサ割当時間は、タスク情報テーブル（能力低下時用割当時間１３５ｄ）に登録（記録）される。
【００４１】
能力低下時のプロセッサ割当時間の計算及び記録が完了すると、能力低下時割当可能か否かが判定される（Ｓ１０３）。例えば、能力低下時のプロセッサ１１０がその新規タスクを含む全ＱｏＳタスク（実行制御対象タスク）１３４の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。この判定は、例えば、判定部としてのプロセッサ１１０等が所定プログラムを実行することにより実現される。
【００４２】
この判定は、各種の方法で行うことが可能である。例えば、タスク情報テーブル１３５に登録されている能力低下時用割当時間１３５ｄに基づいて、その新規タスクを含めた全ＱｏＳタスク１３４（実行制御対象タスク）について割当時間を再計算することにより（さらにはその計算結果と所定値とを比較すること等により）判定することが考えられる。
【００４３】
その判定の結果、所定サービス品質を保証できると判定されると、能力低下時割当可能であるとして（Ｓ１０３：Ｙｅｓ）、プロセッサ能力低下の許可を示す情報（値等）が許可変数に記録される。このとき、プロセッサ能力を低下させてもよい。この許可変数に許可情報が記録されている場合に、リアルタイムＯＳ等からプロセッサ能力低下要求があったときは、プロセッサ１１０のプロセッサ能力の低下が許容される。例えば、プロセッサ能力制御部としてのプロセッサ１１０等が所定プログラムを実行することによりプロセッサ能力を低下させる。
【００４４】
一方、所定のサービス品質を保証できないと判定されると、能力低下時割当できない（Ｓ１０３：Ｎｏ）として、プロセッサ能力低下の不許可を示す情報が許可変数に記録される（例えばクリア）（Ｓ１０５）。このとき、プロセッサ１１０が能力低下していれば通常能力に戻す。また、この許可変数に許可情報が記録されていない場合に、リアルタイムＯＳ等からプロセッサ能力低下要求があったときは、プロセッサ１１０のプロセッサ能力の低下は許容されない。
【００４５】
以上述べたように、本実施形態のタスク管理システムによれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサ１１０がＱｏＳタスクの実行制御に関与する場合に、予め設定されているＱｏＳを保証しつつ、そのプロセッサ１１０の能力を低下させることが可能となる。
【００４６】
次に、上記構成のタスク管理システムの変形例について説明する。
【００４７】
上記実施形態においては、プロセッサ１１０は、省電力等を目的としてそのプロセッサ能力（例えば動作周波数）を低下させること（例えば通常動作周波数８００ＭＨｚから低下時動作周波数４００ＭＨｚ）が可能なプロセッサであり、例えば、当該機能を備えるＬＳＩやＣＰＵ等であるように説明したが、本発明はこれに限定されない。例えば、プロセッサ１１０は、そのプロセッサ能力を段階的に低下させること（例えば通常動作周波数８００ＭＨｚから低下時動作周波数４００ＭＨｚ、又は２００ＭＨｚ）が可能なプロセッサであってもよい。
【００４８】
この場合、タスク情報テーブル１３５には、ＱｏＳタスク１３４と通常時のプロセッサ割当時間（タスクパラメータ）との対応関係、及びＱｏＳタスク１３４と第１及び第２のプロセッサ能力低下時のプロセッサ割当時間（タスクパラメータ）との対応関係とが登録されることになる。
【００４９】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサ１１０がＱｏＳタスクの実行制御に関与する場合に、設定されているＱｏＳを保証しつつ、そのプロセッサ１１０の能力を段階的に低下させることが可能となる。
【００５０】
次に、上記構成のタスク管理システムにおいて複数のタスクの実行を制御する動作について図面を参照しながら説明する。図３は、複数のタスクの実行を制御する動作を説明するためのフローチャートである。以下、時間起動通知用タスク１３３を用いないで制御する例について説明する。
【００５１】
スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク１３２に最も高い優先度が設定されているので、スケジューラ１３１は、スケジューラタスク１３２を実行する。これにより、スケジューラタスク１３２は、初期化され（Ｓ１００）、ＱｏＳタスク１３４の中から実行タスクを決定する（Ｓ１０１）。具体的には、スケジューラタスク１３２は、タスク情報テーブル１３５中のタスク情報（起動タイミング１３５ｂ等）に基づいて、ＱｏＳタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【００５２】
次に、スケジューラタスク１３２は、実行タスクとして決定したＱｏＳタスク１３４がスケジューラ１３１によって実行されるように、所定のアルゴリズムに従い、そのＱｏＳタスク１３４の優先度を変更する。例えば、そのＱｏＳタスク１３４の優先度をそれ以外のタスク（ＱｏＳ設定されていないタスク、Ｗａｉｔ状態（待ち状態）のＱｏＳタスク、又は、割り当て待ちのタスク等）の優先度よりも高く設定する。
【００５３】
これととともに、スケジューラタスク１３２は、そのＱｏＳタスク１３４の所要リソース量の制御を行う（Ｓ１０２）。例えば、タスク情報テーブル１３５（通常時用割当時間１３５ｃ）へプロセッサ使用時間を設定する（ＱｏＳ制御）。
【００５４】
次に、スケジューラタスク１３２は、次回スケジューラ起動時刻を計算し設定する（Ｓ１０３）。この設定が完了すると、スケジューラタスク１３２は、実行状態以外の状態（スリープ状態または待ち状態等）へ遷移する（Ｓ１０４）。実行状態以外の状態は設定時刻に達して再度実行状態へ遷移するまで継続する（Ｓ１０５）。
【００５５】
リアルタイムＯＳ（スケジューラ１３１）は、スケジューラタスク１３２が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク（スケジューラタスク１３２以外のタスク１３３、１３４等）のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ１３１は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、Ｓ１０１で実行タスクとして決定されたＱｏＳタスク１３４の優先度がスケジューラ１３１によって実行されるように変更されているため、スケジューラ１３１は、その変更された優先度が設定されているＱｏＳタスク１３４等を実行する。
【００５６】
スケジューラタスク１３２は、Ｓ１０３で設定した設定時刻に達すると、実行状態以外の状態から実行状態へ遷移する。即ち、スリープ状態等が解除される（Ｓ１０６）。そして、スケジューラタスク１３２は、タスク情報テーブル１３５（タスク情報ともいう）を更新する（Ｓ１０７）。
【００５７】
次に、スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク１３２に最も高い優先度が設定されており、しかも、スケジューラタスクのスリープ状態等が解除されているので、スケジューラ１３１は、スケジューラタスク１３２を実行する。以下、スケジューラタスク１３２は実行状態へ遷移して、上記Ｓ１００〜Ｓ１０７の処理を繰り返す。
【００５８】
以上述べたように、本実施形態においては、最も高い優先度が設定されるとともに、他のタスク（ＱｏＳタスク１３４）の実行制御を行うスケジューラタスク１３２を設けたので、リアルタイムＯＳのカーネル部分を修正することなく、タスク管理方式をそのリアルタイムＯＳに実装することが可能となる。
【００５９】
また、本実施形態においては、スケジューラタスク１３２は、所定期間ごとに（設定時刻に達するごとに）実行状態へ遷移して、タスク情報テーブル１３５中のタスク情報に基づいて、他のタスク（ＱｏＳタスク１３４等）の実行制御を行う。
【００６０】
これにより、タスクの実行におけるリソース割当制御が可能となり、アプリケーション（例えばＱｏＳタスクを含む）実行におけるサービス品質の制御を実現することができる。また、リアルタイムＯＳにおいて、各タスク（ＱｏＳタスク）毎のリソース割当制御が可能となることで、優先度に依らず、タスクの実行を適切なタイミングで必要とされる時間の実行が可能となり、アプリケーションの開発およびデバックの効率が向上する。さらに、カーネル内部を修正せずに、優先度制御機能を持つリアルタイムＯＳ自体の機能を用いて、リソース割当制御を実現することで、リソース割当制御における実装の容易性と移植性が高まる。
【００６１】
次に、上記構成のタスク管理システムにおいて、時間起動通知用タスク１３３を用いて、複数のタスクの実行を制御する動作について説明する。図４は、複数のタスクに設定されている優先度を説明するための図である。縦軸が優先度を示しており、各タスクにはその位置に応じた優先度が設定されている。図５及び図６は、タスク管理システムの動作を説明するための図である。図６中、縦軸が優先度を、横軸が時間の経過を、それぞれ表している。
【００６２】
複数のタスクに設定されている優先度は当初、図４に示すように、時間起動通知用タスク１３３が最も高く、スケジューラタスク１３２、ＱｏＳタスク１３４、その他のタスク（ＱｏＳ設定されていないタスク、Ｗａｉｔ状態のＱｏＳタスク、割当待ちのタスク）の順に低くなっている。
【００６３】
スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、図４に示すように、時間起動通知用タスク１３３に最も高い優先度が設定されているので、スケジューラ１３１は、時間起動通知用タスク１３３を実行する。時間起動通知用タスク１３３は、所定期間（一定周期または設定時間）ごとに、所定通知をスケジューラタスク１３２へ通知等することで、スケジューラタスク１３２の優先度を他のタスク１３３、１３４等の優先度よりも高く設定する。これとともに、スケジューラタスク１３２の実行状態以外の状態（スリープ状態または待ち状態等）を解除する。
【００６４】
この状態の下で、スケジューラ１３１は、終了又は待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク１３２に最も高い優先度が設定されており、しかも、スケジューラタスク１３２のスリープ状態等が解除されているので、スケジューラ１３１は、スケジューラタスク１３２を実行する。これにより、図５に示すように、スケジューラタスク１３２は、初期化され（Ｓ２００）、ＱｏＳタスク１３４の中から実行タスクを決定する（Ｓ２０１）。具体的には、スケジューラタスク１３２は、タスク情報テーブル１３５中の起動タイミング１３５ｂ等に基づいて、ＱｏＳタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【００６５】
次に、スケジューラタスク１３２は、実行タスクとして決定したＱｏＳタスク１３４がスケジューラ１３１によって実行されるように、所定のアルゴリズムに従い、そのＱｏＳタスク１３４の優先度を変更する。例えば、そのＱｏＳタスク１３４の優先度をそれ以外のタスク（ＱｏＳ設定されていないタスク、Ｗａｉｔ状態（待ち状態）のＱｏＳタスク、又は、割り当て待ちのタスク等）の優先度よりも高く設定する。
【００６６】
これととともに、スケジューラタスク１３２は、そのＱｏＳタスク１３４の所要リソース量の制御を行う（Ｓ２０２）。例えば、タスク情報テーブル１３５（通常時用割当時間１３５ｃ）へプロセッサ使用時間を設定する（ＱｏＳ制御）。
【００６７】
次に、スケジューラタスク１３２の優先度が他のタスク１３３、１３４等の優先度よりも低く設定される。これとともに、スケジューラタスク１３２は、実行状態以外の状態（スリープ状態またはＲｅａｄｙ状態（待ち状態））へ遷移する（Ｓ２０３）。実行状態以外の状態は時間起動通知用タスク１３３から所定通知等が通知され再度実行状態へ遷移するまで継続する（Ｓ２０４）。なお、ＱｏＳタスク割り当てが無いときは、スケジューラタスク１３２は、Ｓｕｓｐｅｎｄ状態に遷移する。この場合、スケジューラタスク１３２の優先度を低く設定する必要はない。
【００６８】
リアルタイムＯＳ（スケジューラ１３１）は、スケジューラタスク１３２が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク（スケジューラタスク１３２以外のタスク１３３、１３４等）のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ１３１は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、Ｓ２０１で実行タスクとして決定されたＱｏＳタスク１３４の優先度がスケジューラ１３１によって実行されるように変更されているため、スケジューラ１３１は、その変更された優先度が設定されているＱｏＳタスク１３４等を実行する。
【００６９】
次に、所定期間（一定周期又は設定時刻）が経過すると、時間起動通知用タスク１３３は、所定通知をスケジューラタスク１３２に通知等することで、スケジューラタスク１３２の優先度を他のタスクの優先度よりも高く設定する。これとともに、スケジューラタスク１３２は、実行状態以外の状態から実行状態へ遷移する（起動）。即ち、Ｒｅａｄｙ状態（待ち状態）が解除される（Ｓ２０５）。なお、ＱｏＳタスク１３４の割当中に起動された場合は、他のタスクが動作可能となる処理が行われる。
【００７０】
そして、スケジューラタスク１３２は、タスク情報テーブル１３５（タスク情報ともいう）を更新する（Ｓ２０６）。
【００７１】
次に、スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク１３２に最も高い優先度が設定されており、しかも、スケジューラタスクの待ち状態等が解除されているので、スケジューラ１３１は、スケジューラタスク１３２を実行する。以下、スケジューラタスク１３２は実行状態へ遷移して、上記Ｓ２００〜Ｓ２０６の処理を繰り返す。
【００７２】
以上のようにして、スケジューラタスク１３２は、所定期間ごとに（設定時刻に達するごとに）実行状態へ遷移して他のタスクの実行制御を行う。これにより、上記動作と同様の効果が得られる。
なお、上記実施形態においては、各タスクについてはリアルタイムＯＳ上で実行制御されるように説明したが、本発明はこれに限定されない。例えば、リアルタイムＯＳ以外の他のＯＳ上で実行制御されてもよいことは無論である。
【００７３】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、これらの記載によって本発明が限定的に解釈されるものではない。
【００７４】
【発明の効果】
本発明によれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御（ＱｏＳ制御等）に関与する場合に、設定されているＱｏＳを保証しつつ、そのプロセッサの能力を低下させることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【図２】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図３】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図４】複数のタスクに設定されている優先度を説明するための図である。
【図５】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図６】本発明の実施の形態であるタスク管理システムの動作を説明するための図である。
【符号の説明】
１００      情報処理端末
１１０      プロセッサ
１２０      記憶装置
１３０      メモリ
１３１      スケジューラ
１３２      スケジューラタスク
１３３      時間起動通知用タスク
１３４      ＱｏＳタスク
１３５      タスク情報テーブル
１３６      許可変数
【図１】
2004326364.tif 000003
【図２】
2004326364.tif 000004
【図３】
2004326364.tif 000005
【図４】
2004326364.tif 000006
【図５】
2004326364.tif 000007
【図６】
2004326364.tif 000008