(57)【要約】【課題】  実行可能なタスク間で各種入出力処理のような排他制御が必要なリソースへのアクセス競合が発生した場合であっても、先にアクセスしたタスクへのリソース割当を保証し、且つ、それぞれのタスクへのリソース割当のデッドラインも保証する。【解決手段】  タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定する判定部と、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する登録部と、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する制御部と、を備える。【選択図】図２
2005149312.tif 000002
【特許請求の範囲】
【請求項１】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定する判定部と、
そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する登録部と、
タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する制御部と、を備えるタスク管理システム。
【請求項２】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定する判定部と、
そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する登録部と、
前記実行対象タスクとして登録されたタスクのうち、デッドライン時間がより短いタスクを優先的に実行する実行部と、
タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する制御部と、を備えるタスク管理システム。
【請求項３】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、
そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、
タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を備えるタスク管理方法。
【請求項４】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、
そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、
前記実行対象タスクとして登録されたタスクのうち、デッドライン時間がより短いタスクを優先的に実行するステップ、
タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を備えるタスク管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行可能なタスク間で各種入出力処理のような排他制御が必要なリソースへのアクセス競合から生ずる不具合を防止するための技術に関する。
【背景技術】
【０００２】
従来、タスクの優先度等に応じてタスクを切り替えて実行する技術が知られている（例えば特許文献１参照）。
【特許文献１】特開２００１−２３６２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、実行可能なタスク間で各種入出力処理のような排他制御が必要なリソースへのアクセス競合が発生した場合、単純に従来技術のままタスクの切替を行うと、競合が発生しているので正しい処理が行えない。また、そのような状況を回避するため、アクセス競合が発生するリソースに単純に排他制御を行うと、想定外の遅延時間が発生し、設定されたデッドラインを守れない可能性がある。
【０００４】
本発明の課題は、実行可能なタスク間で各種入出力処理のような排他制御が必要なリソースへのアクセス競合が発生した場合であっても、先にアクセスしたタスクへのリソース割当を保証し、且つ、それぞれのタスクへのリソース割当のデッドラインも保証するための技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を解決するためになされたものであり、タスク管理システムであって、タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定する判定部と、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する登録部と、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する制御部と、を備える構成とした。
【０００６】
本発明によれば、タスク登録時に、特定リソース（例えば、実行可能なタスク間で各種入出力処理のような排他制御が必要なリソース）へアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定し、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する。そして、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する。従って、特定リソースへのアクセス競合が発生した場合であっても、先にアクセスしたタスクへのリソース割当を保証し、且つ、それぞれのタスクへのリソース割当のデッドラインも保証することが可能となる。
【０００７】
また、本発明は次のように特定することもできる。
【０００８】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否か
を判定する判定部と、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録する登録部と、前記実行対象タスクとして登録されたタスクのうち、デッドライン時間がより短いタスクを優先的に実行する実行部と、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止する制御部と、を備えるタスク管理システム。
【０００９】
また、本発明は方法の発明として次のように特定することもできる。
【００１０】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を備えるタスク管理方法。
【００１１】
タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、前記実行対象タスクとして登録されたタスクのうち、デッドライン時間がより短いタスクを優先的に実行するステップ、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を備えるタスク管理方法。
【００１２】
また、本発明はプログラムの発明として次のように特定することができる。
【００１３】
コンピュータに、タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を実行させるためのプログラム。
【００１４】
コンピュータに、タスク登録時に、特定リソースへアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間経過前に実行完了できるか否かを判定するステップ、そのデッドライン時間経過前に実行完了できると判定された登録対象タスクを実行対象タスクとして登録するステップ、前記実行対象タスクとして登録されたタスクのうち、デッドライン時間がより短いタスクを優先的に実行するステップ、タスク切替時に、前記実行対象タスクとして登録されたタスクのうち前記特定リソースへ先にアクセスしているタスクへのリソース割当が完了するまで、前記特定リソースへ後からアクセスしようとするタスクへのリソース割当を中止するステップ、を実行させるためのプログラム。
【００１５】
また、本発明は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体としても特定できる。
【発明の効果】
【００１６】
本発明によれば、排他制御が必要なリソースのアクセスの有無の設定をタスク登録時に行い、排他制御による遅延を考慮し、タスク登録可能性判定を行うとともに、アクセス競合時にアクセス中のタスクへの割当が完了するまでアクセス競合が発生したタスクへの割当を中止することで排他制御が必要なリソースを使用する処理の正当性とデッドラインの保証が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態であるタスク管理システムについて図面を参照しながら説明する。図１は、本実施形態のタスク管理システムの概略システム構成を説明するための図である。
【００１８】
（システム環境）
本実施形態のタスク管理システムは、ＰＤＡ(Personal Digital Assistants)やパーソ
ナルコンピュータ等の一般的な情報処理装置により実現される。図１に示すように、この情報処理装置１００は、ＣＰＵ１１０、ハードディスク装置等の記憶装置１２０、特定リソース１３０、及びメモリ１４０等を備えている。また、各種情報や命令を入力するための入力装置（例えばキーセット）、その処理結果等を表示するための画像表示装置（例えば液晶ディスプレイ）、及び音声出力装置（例えばスピーカ）等も備えていることがある（いずれも図示せず）。
【００１９】
（タスクとオペレーティングシステム）
タスク１４１は、プロセス、スレッドと一般的に呼ばれるプログラム実行単位の総称である。タスク１４１は、タスク登録時に生成されることもあるし、本出願人が先に出願したように予め生成（プール）されていることもある。タスク１４１は、例えば、その所要リソース量を制御可能な可変タスクであるＱｏＳタスクである。
【００２０】
オペレーティングシステム（ＯＳ）１４２は、各タスク１４１をＤＭ（Deadline Monotonic）法によりスケジューリングする機能を有する（スケジューラ）、例えば、リアルタイムＯＳである。各スケジューリングタイミングにおいて、実行可能なタスク１４１（本発明の実行対象タスクに相当）の中から、最も短いデッドライン時間を持つタスク１４１がアクティブタスクとされる。各タスク１４１はタスク情報テーブル１４３により管理される。タスク情報テーブル１４３は、各タスク１４１に関する情報を管理するためのテーブルであり、タスク１４１に関する情報として、タスク識別子１４３ａ、起動タイミング１４３ｂ、実行割当時間１４３ｃ、デッドライン時間１４３ｄ、及びリソース識別子１４３ｅ等が登録される。
【００２１】
タスク識別子１４３ａは、各タスク１４１を識別するためのものである。起動タイミング１４３ｂは、各タスク１４１の実行開始時点から次の実行開始時点までの時間（周期）である。あるタスク１４１が実行されると、その周期の間、このタスク１４１が新たに実行されることはない。実行割当時間１４３ｃは、各タスク１４１に割り当てられるリソース量（ここでは、ＣＰＵ１１０の使用時間）である。なお、一度リソースが割り当てられたタスク１４１が割当時間分だけ連続してリソースを割り当てられるとは限らない。何度かに分けて、時間を割り当てられることがある。また、あるタスク１４１よりも優先順位の高い別のタスク１４１によりプリエンプションされるとそのタスク１４１の処理が中断される。
【００２２】
ある時間内に割当時間が経過すればシステムに影響を与えない。この時間がデッドライン時間１４３ｄである。本実施形態では、デッドライン時間１４３ｄが短いタスク１４１
の方が長いタスク１４１に比べて優先度が高く、デッドライン時間１４３ｄが短いタスク１４１（すなわち優先度が高いタスク）がアクティブタスクとされる。リソース識別子１４３ｅは、各タスク１４１が使用する排他制御が必要なリソース（本発明の特定リソースに相当）を識別するためのものである。このようなリソースとしては、プリンタやディスプレイ等がある。これらは、情報処理装置１００に内蔵されていることもあるし、外付けされていることもある。なお、リソース識別子１４３ｅは、各タスク１４１に対して一つのこともあるし、複数のこともある。
【００２３】
上述のスケジュール機能や以下に説明するその他の諸機能等は、これら機能を提供するＡＰＩ（Application Program Interface）等の所定プログラムが上述の情報処理装置１
００に読み込まれ、オペレーティングシステム１４２に組み込まれることにより実現される。なお、これらオペレーティングシステム１４２や所定プログラム等は、記憶装置１２０等にインストールされており、必要に応じて適宜メモリ１４０に読み出されて実行される（図１参照）。
【００２４】
（タスク登録時動作）
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。まずは、タスク登録時の処理について説明する。図２は、タスク登録時の処理について説明するための図である。
【００２５】
以下の処理は、情報処理装置１００にオペレーティングシステム１４２等が読み込まれて実行されることにより実現される。オペレーティングシステム１４２や所定アプリケーション等から新規タスク登録要求があった場合（Ｓ１００）、その登録要求のあったタスク１４１（本発明の登録対象タスクに相当。以下、登録対象タスクともいう。）が排他なリソース１３０（本発明の特定リソースに相当）を使用するか否かが判定される（Ｓ１０１）。例えば、その登録要求のあったタスク１４１に対応するリソース識別子１４３ｅと予め登録されている特定の識別子（例えばプリンタやディスプレイ等の識別子。図示せず。）とを照合し、その結果一致した場合、その登録要求のあったタスク１４１は排他なリソース１３０を使用すると判定される（Ｓ１０１：Ｙｅｓ）。なお、その登録要求のあったタスク１４１は排他なリソース１３０を使用しないと判定された場合（Ｓ１０１：Ｎｏ）、その登録要求のあったタスク１４１を新規タスクとして登録する（Ｓ１０４）。この場合、後述のタスク登録可能性の判定（Ｓ１０２およびＳ１０３）は行わない。これは、その登録要求のあったタスク１４１を登録したとしても排他なリソース１３０へのアクセス競合が発生することがないためである。
【００２６】
一方、その登録要求のあったタスク１４１は排他なリソース１３０を使用すると判定された場合（Ｓ１０１：Ｙｅｓ）、タスク登録可能性が判定される（Ｓ１０２およびＳ１０３）。これは、その登録要求のあったタスク１４１のデッドライン時間１４３ｄを保証するためである。すなわち、そのタスク１４１を登録すると、排他なリソース１３０へのアクセス競合が発生し、デッドライン時間１４３ｄを守れない可能性があることから、タスク登録時に（事前に）、排他なリソース１３０へアクセスする登録対象タスク１４１についてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間１４３ｄ経過前に実行完了できるか否かを判定しようとするものである（本発明の判定部に相当）。デッドライン時間１４３ｄ経過前に実行完了できないと判定された場合（Ｓ１０３：Ｎｏ）、その登録要求のあったタスク１４１は登録されず、登録不許可通知がなされる（Ｓ１０５）。
【００２７】
一方、デッドライン時間１４３ｄ経過前に実行完了できると判定された（Ｓ１０３：Ｙｅｓ）登録対象タスク１４１は実行対象タスクとして登録される（本発明の登録部に相当）。例えば、その登録対象タスク１４１のタスク識別子１４３ａやその登録対象タスク１
４１が使用するリソースのリソース識別子１４３ｅ等がタスク情報テーブル１４３に登録される。
【００２８】
（タスク登録可能性の判定の考え方）
上述のように、タスク登録可能性の判定は、デッドライン時間１４３ｄを保証するための処理であり、具体的には、タスク登録時に、排他なリソース１３０へアクセスする登録対象タスク１４１についてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間１４３ｄ経過前に実行完了できるか否かを判定するものである。
【００２９】
この考え方について図３及び図４を参照しながら説明する。各図は、オペレーティングシステム１４２により実行される２つのタスクＡとタスクＢを例示する。タスクＡとＢは排他関係にあるリソース（例えば同一のリソース）１３０を使用する。また、タスクＢのデッドライン時間よりもタスクＡのデッドライン時間の方が短い。すなわちタスクＢよりもタスクＡの優先度が高い。
【００３０】
図３は、タスクＡが先に実行可能（または、タスクＡとＢが同時に実行可能）となった状態を示す。この場合、タスクＡの割当時間１４３ｃ終了までタスクＢは待たされる。これは、タスクＢよりもタスクＡの優先度が高いからである。この場合、従来のスケジューリングで対応可能である。
【００３１】
図４は、タスクＢが先に実行可能となった状態を示す。この場合、タスクＢの割当時間１４３ｃ終了までタスクＡは待たされる。つまり、排他的なリソース１３０にアクセスするタスクＡ及びＢについては、タスク切替時にアクセス競合が発生したとしても、先にアクセスしたタスクＢへのリソース割当が完了するまでは、後からアクセスしようとしたタスクＡへの割当は遅延される。しかしながら、単純に遅延するとすれば、それぞれのタスクへのリソース割当のデッドライン時間を保証できない可能性がある。そこで、先にアクセスしたタスクＢへのリソース割当（例えば実行割当時間１４３ｃ）を保証しつつ、後からアクセスしようとしたタスクＡへの割当（例えば実行割当時間１４３ｃ）を遅延させたとしても、それぞれのタスクへのリソース割当のデッドライン時間１４３ｄを保証する必要がある。このため、タスク登録可能性（または、制限チェック、予約判定ともいう）を判定する（Ｓ１０２およびＳ１０３）。すなわち、双方のタスクへのリソース割当がそれぞれのタスクのデッドライン時間１４３ｄを満たすかどうかを判定する。具体的には、タスク登録時に、排他なリソース１３０へアクセスする登録対象タスクについてその実行開始タイミングが遅延させられたとしてもそのデッドライン時間１４３ｄ経過前に実行完了できるか否かが判定される。その判定の結果、そのデッドライン時間１４３ｄ経過前に実行完了（デッドライン保証）できると判定された登録対象タスクは実行対象タスク（新規タスク）として登録される。
【００３２】
このように、タスク登録前に（事前に）タスク登録可能性の判定を行うこととしたので、仮にアクセス競合が発生したとしても、それぞれのタスクへのリソース割当のデッドライン時間１４３ｄも保証されることとなる。
（タスク登録可能性の判定の詳細）
次に、図２に戻ってタスク登録可能性の判定の詳細について説明する。
【００３３】
登録要求のあったタスク１４１は排他なリソース１３０を使用すると判定された場合（Ｓ１０１：Ｙｅｓ）、その排他なリソース１３０と同じリソース１３０を使用するタスクが抽出される（Ｓ１０２）。例えば、登録要求のあったタスク１４１のタスク識別子１４３ａに対応するリソース識別子１４３ｅをキーとして、これと一致するリソース識別子１４３ｅが対応付けられているタスク１４１がタスク情報テーブル１４３から抽出される。次に、その抽出されたタスク１４１は全て条件式をクリアしているか否かが判定される（
Ｓ１０３）。これは上述の通り、タスク登録可能性を判定するための処理である。以下、この条件式の具体例について説明する。
【００３４】
まず、第１例として、優先度の高い順にタスクＡ，Ｂ，Ｃ，Ｄ，Ｅがあり、タスクＣとＤが排他関係にある場合を考える。この場合、次の２つの条件を満たすか否かが判定される。これらの条件を満たすのであれば、登録要求のあったタスク（例えばタスクＣ）はタスク登録可能と判定される（Ｓ１０３：Ｙｅｓ）。
（条件１）従来のＤＭ法判定で、Ａ，Ｂ，Ｃ，Ｄ，Ｅがスケジューリング可能であること。
（条件２）D(c)≧E(c)＋（E(d)-1Tick時間）
【００３５】
なお、T(i)はｉ番目のタスクの周期を、D(i)はｉ番目のタスクのデッドライン時間を、C(i)はｉ番目のタスクの割当時間を、E(i)はｉ番目のタスクの所要時間を、Nは所要時間
を求めるタスクの番号を、┌A┐はＡの演算結果を切り上げることを、それぞれ示す。ま
た、E(c)＝C(c)＋C(a)×（┌E(c)/T(a)┐）＋C(b)×（┌E(c)/T(b)┐）、E(d)＝C(d)＋C(a)×（┌E(d)/T(a)┐）＋C(b)×（┌E(d)/T(b)┐）である。
【００３６】
条件２の意味について図４を参照しながら簡単に説明する。図４において、タスクＡが最も長く待たされるのは、タスクＢへの割当を開始した後の次のスケジューリングのタイミング（スケジューラが動いたとき）にタスクＡが実行可能となった場合である。スケジューリングのタイミングの間隔が１Ｔｉｃｋという一定の間隔で行われるため、この値（１Ｔｉｃｋ）が条件２に表れている。
【００３７】
より詳細には、ＤＭ（DeadlineMonotonic）法による登録可能性判定では、よりデッド
ラインの短いタスクによるプリエンプションがあることを前提にしている。しかし、アクセス制限タスクは排他関係にあるタスクが実行中の場合には、より短いデッドラインを持つ場合でもプリエンプションはできない。すなわち、タスクが実行開始点に達しても、より長いデッドラインを持つ排他関係のあるタスクの実行終了−１Ｔｉｃｋ分の時間待たされることがある。また、このとき、排他関係にあるデッドラインの短いタスクの実行時間も考慮する必要がある。
【００３８】
したがって、「１つの排他関係にある優先順位の低いタスクの実行時間−１」＋「すべての排他関係にある優先順位の高いタスクの実行時間」＋「自タスク実行時間」が自タスクのデッドラインに収まっていればスケジューリング可能であると考えられる。なお、それぞれのタスクは排他関係にないより短いデッドラインを持つタスクにはプリエンプションされる可能性があるので、タスクの実行時間はそのことを考慮しなければならない。ここでは、この時間のことをタスクの所要時間と定義する。なお、タスクの所要時間(E(n))は上述の公式で導かれる。
【００３９】
次に、第２例として、優先度の高い順にタスクＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆがあり、タスクＡとＣ間とＢとＤとＥ間で排他関係がある場合を考える。この場合、次の５つの条件を満たすか否かが判定される。これらの条件を満たすのであれば、登録要求のあったタスク（例えばタスクＥ）はタスク登録可能と判定される（Ｓ１０３：Ｙｅｓ）。
（条件１）従来のＤＭ法判定でＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆがスケジューリング可能であること。
（条件２）D(a)≧E(a)＋（E(c)-1Tick時間）
（条件３）D(b)≧E(b)＋（E(d)-1Tick時間）
（条件４）D(b)≧E(b)＋（E(e)-1Tick時間）
（条件５）D(d)≧E(d)＋E(b)＋（E(e)-1Tick時間）
なお、E(a)=C(a)、E(b)=C(b)+C(a)×（┌E(b)/T(a)┐）、E(c)=C(c)+C(b)×（┌E(c)/T
(b)┐）、E(d)=C(d)+C(a)×（┌E(d)/T(a)┐）＋C(c)×（┌E(d)/T(c)┐）、E(e)=C(e)+C(a)×（┌E(e)/T(a)┐）＋C(c)×（┌E(e)/T(c)┐）である。
【００４０】
Ｓ１０２で抽出されたタスク１４１は全て条件式（上述の第１例又は第２例等に示す条件式）をクリアしているか否かが判定される。そして、各タスク１４１が全て条件式をクリアしていると判定された場合（Ｓ１０１：Ｎｏ）、その登録要求のあったタスク１４１を新規タスクとして登録する（Ｓ１０４）。
【００４１】
（タスク切替時動作）
次に、タスク切替時の処理について説明する。図５は、タスク切替時の処理について説明するための図である。
【００４２】
以下の処理も、情報処理装置１００にオペレーティングシステム１４２等が読み込まれて実行されることにより実現される。タスク情報テーブル１４３に実行対象タスクとして登録されたタスク１４１のうち、デッドライン時間１４３ｄがより短いタスク１４１が優先的に実行される（本発明の実行部に相当）。そして、タスクスケジューリングによる切替タイミングが到来すると（本発明のタスク切替時に相当）、切替可能なタスク１４１
が有るか否かが判定される（Ｓ２００）。例えば、タスク情報テーブル１４３に、より優先度の高いタスク１４１が登録されているか否かが判定される。切替可能なタスク１４１が無いと判定された場合（Ｓ２００：Ｎｏ）、以下の処理は行わない。一方、切替可能なタスク１４１が有ると判定された場合（Ｓ２００：Ｙｅｓ）、現在実行されているタスク１４１が使用中の排他リソース１３０を使用しない別のタスク１４１が有るか否かが判定される（Ｓ２０１）。これは、例えば、タスク情報テーブル１４３のリソース識別子１４３ｅを基に判定される。そして、そのような排他関係にないタスク１４１があれば（Ｓ２０１：Ｙｅｓ）実行タスクは切り替えられる（Ｓ２０２）。一方、そのようなタスク１４１がなければ（Ｓ２０１：Ｎｏ）実行タスクは切り替えられない。すなわち、排他関係にあるタスク１４１があれば（Ｓ２０１：Ｎｏ）実行タスクは切り替えられない。上記Ｓ２００〜２０２の処理はタスクスケジューリングによる切替タイミングが到来するごとに繰り返される。これにより、タスク切替時に、実行対象タスクとしてタスク情報テーブル１４３に登録されたタスク１４１のうち、排他なリソース（本発明の特定リソースに相当）１３０へ先にアクセスしているタスク１４１へのリソース割当が完了するまで、その排他的なリソースへ後からアクセスしようとするタスク１４１への割当は遅延（又は中止）される（Ｓ２０１：Ｎｏ）。これは、本発明の制御部に相当する。しかも、このように遅延させたとしても、上述のタスク登録可能性の判定（Ｓ１０２およびＳ１０３）により、それぞれのタスク１４１へのリソース割当のデッドライン時間も保証されることとなる。
【００４３】
以上説明したように、本実施形態のタスク管理システムによれば、タスク登録時には、排他制御による遅延が予め考慮された形でタスク１４１の予約判定が行われ（図２等参照）、タスク切替時には、アクセス競合が発生しても先にアクセスしたタスク１４１へのリソース割当が完了するまでは、後からアクセス使用としたタスクへの割当は遅延される。
【００４４】
従って、アクセス競合が発生しても、先にアクセスしたタスク１４１へのリソース割当（実行割当時間１４３ｃ）が保証され、且つ、タスク１４１に予約判定時にアクセス競合による遅延を考慮されているので（図２参照）、それぞれのタスク１４１へのリソース割当のデッドライン時間１４３ｄも保証される。
【００４５】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎない。これらの記載によって本発明が限定的に解釈されるものではない。
【産業上の利用可能性】
【００４６】
本発明によれば、排他制御が必要なリソースのアクセスの有無の設定をタスク登録時に行い、排他制御による遅延を考慮し、タスク登録可能性判定を行うとともに、アクセス競合時にアクセス中のタスクへの割当が完了するまでアクセス競合が発生したタスクへの割当を中止することで排他制御が必要なリソースを使用する処理の正当性とデッドラインの保証が可能となる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態であるタスク管理システムの概略システム構成を説明するための図である。
【図２】タスク管理システムのタスク登録時の動作を説明するためのフローチャートである。
【図３】タスク登録可能性の判定の考え方について説明するための図である。
【図４】タスク登録可能性の判定の考え方について説明するための図である。
【図５】タスク管理システムのタスク切替時の動作を説明するためのフローチャートである。
【符号の説明】
【００４８】
１００      情報処理装置
１１０      ＣＰＵ
１２０      記憶装置
１３０      特定リソース
１４０      メモリ
１４１      タスク
１４２      オペレーティングシステム
１４３      タスク情報テーブル
１４３ａ    タスク識別子
１４３ｂ    起動タイミング
１４３ｃ    実行割当時間
１４３ｄ    デッドライン時間
１４３ｅ    リソース識別子
【図１】
2005149312.tif 000003
【図２】
2005149312.tif 000004
【図３】
2005149312.tif 000005
【図４】
2005149312.tif 000006
【図５】
2005149312.tif 000007