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