JP2004326399A - タスク管理システム - Google Patents
タスク管理システム Download PDFInfo
- Publication number
- JP2004326399A JP2004326399A JP2003119559A JP2003119559A JP2004326399A JP 2004326399 A JP2004326399 A JP 2004326399A JP 2003119559 A JP2003119559 A JP 2003119559A JP 2003119559 A JP2003119559 A JP 2003119559A JP 2004326399 A JP2004326399 A JP 2004326399A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- scheduler
- qos
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】タスク登録を比較的高速に行う。
【解決手段】タスク管理システムであって、予め生成されたタスクと、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部と、を備える。前記登録部は、例えば、前記実行制御対象タスクとして前記予め生成されたタスクのうちの未使用のタスクを登録する。また、例えば、予め生成されたタスクと該タスクの使用状態を示す情報との対応関係が登録されるテーブルをさらに備え、前記未使用のタスクは該対応関係に基づいて判定される。
【選択図】 図1
【解決手段】タスク管理システムであって、予め生成されたタスクと、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部と、を備える。前記登録部は、例えば、前記実行制御対象タスクとして前記予め生成されたタスクのうちの未使用のタスクを登録する。また、例えば、予め生成されたタスクと該タスクの使用状態を示す情報との対応関係が登録されるテーブルをさらに備え、前記未使用のタスクは該対応関係に基づいて判定される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、タスク登録を比較的高速に行うための技術に関する。
【0002】
【従来の技術】
従来、あるプログラムの実行において、タスク登録時にタスク生成が必要となることがある(例えばQoS制御されるタスク)(例えば、特許文献1参照)。しかしながら、OS(Operating System)によってはタスク生成に相当の時間を要することがある。この場合、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性がある。
【0003】
【特許文献1】
特開平10−228385号公報
【0004】
【発明が解決しようとする課題】
本発明の課題は、タスク登録を比較的高速に行うことが可能な技術を提供することにある。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、タスク管理システムであって、予め生成されたタスクと、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部と、を備える構成とした。
【0006】
本発明によれば、タスク登録要求があった場合に、新たにタスクを生成することなく、予め生成されたタスクを実行制御タスクとして登録するため、タスク生成に関するオーバーヘッドが削減されることになり、タスク登録を比較的高速に行うことが可能となる。このため、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性を低減できる。
【0007】
上記タスク管理システムにおいては、例えば、前記登録部は、前記実行制御対象タスクとして前記予め生成されたタスクのうちの未使用のタスクを登録する。また、上記タスク管理システムにおいては、例えば、前記予め生成されたタスクと該タスクの使用状態を示す情報との対応関係が登録されるテーブルをさらに備え、前記未使用のタスクは該対応関係に基づいて判定される。これは、未使用のタスクの判定方法の一例を示したものである。
【0008】
このようにすれば、未使用タスクを重複して実行制御対象タスクとして登録することを防止できる。
【0009】
また、上記タスク管理システムにおいては、例えば、前記予め生成されたタスクと該タスクにより処理すべき関数との対応関係が登録されるテーブルをさらに備え、前記実行制御対象タスクとして登録された前記予め生成されたタスクは、その対応する関数を実行する。
【0010】
このようにすれば、例えば、タスク登録要求時に所定アプリケーション等から渡される処理すべき関数を、予め生成されたタスクに実行させることが可能となる。
【0011】
また、上記タスク管理システムにおいては、例えば、タスク廃棄要求があった場合に、前記テーブルから該タスク廃棄要求があったタスクに関する情報がクリアされる。このようにすれば、テーブルを有効利用することが可能となる。
【0012】
本発明は、方法の発明として次のように特定できる。
【0013】
タスク登録要求があった場合に、新たにタスクを生成することなく、予め生成されたタスクを実行制御対象タスクとして登録するタスク管理方法。
【0014】
また、本発明は、プログラムの発明として次のように特定できる。
【0015】
コンピュータを、予め生成されたタスク、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部、として機能させるためのプログラム。
【0016】
また、本発明は、このプログラムを記録した記録媒体の発明としても特定できる。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態であるタスク管理システムについて図面を参照しながら説明する。図1は、本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【0018】
本実施形態のタスク管理システムは、PDA(Personal Digital Assistants)やパーソナルコンピュータ等の情報処理端末100により実現される。図1に示すように、情報処理端末100は、CPU110、ハードディスク装置等の記憶装置120、及びRAM等のメモリ130等を備えている。また、情報処理端末100は、液晶ディスプレイ等の画像表示装置やスピーカ等の音声出力装置等も備えている(いずれも図示せず)。これら各要素はバス等を介して相互に接続されている。
【0019】
記憶装置120には、リアルタイムOS(Operating System)、そのリアルタイムOS上で実行される各種プログラム(優先度が設定されている複数のタスク等)、タスク情報テーブル135、及びタスク使用登録テーブル136等がインストールされている。これらのリアルタイムOS等は適宜、記憶装置120からメモリ130へ読み出される。図1は、これらのリアルタイムOS等がメモリ130へ読み出された状態を示している。
【0020】
リアルタイムOSは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能(又はタスク管理機能ともいう)を有するオペレーティングシステムである。優先度制御機能は、リアルタイムOSが有するスケジューラ131によって実現される。
【0021】
スケジューラ131は、各タスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。スケジューラ131は、アプリケーションプログラム群(これらは優先度が設定されている複数のタスクとして把握される)や各種デバイスの制御などの処理のタイミングやどの処理を動かすかを決定する。具体的には、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行(処理)する。リアルタイムOSにおいては、低い優先度が設定されているタスクは全く動作しない可能性もある。スケジューラ131はまた、各タスクの状態(実行可能状態、実行状態、待ち状態等)も管理している。
【0022】
スケジューラ131によって優先度制御される複数のタスクとしては、スケジューラタスク132、時間起動通知用タスク133、及び、QoS(Quality of Service)タスク134等がある。これらのタスクには優先度が設定されている。スケジューラタスク132には最も高い優先度(他のタスク133、134等と比較して高い優先度)が設定される。
【0023】
スケジューラタスク132は、他のタスク(QoSタスク134)の実行制御を行うためのタスクである。スケジューラタスク132は、他のタスクの実行制御として、QoSタスク134の中から実行タスクの決定、実行タスクの優先度の変更、及び、実行タスクの所要リソース量の制御(リソース割り当て)等を行う。
【0024】
時間起動通知用タスク133は、スケジューラタスク132を実行状態(Running状態)へ遷移させるためのものである。そのために、時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに所定通知(イベントフラグまたはセマフォ等)をスケジューラタスク132へ通知する。所定通知を受けると、スケジューラタスク132は、実行状態へ遷移して他のタスク(QoSタスク134)の実行制御を行う。
【0025】
QoSタスク134はその所要リソース量を制御可能な可変タスクである。所要リソース量を最低限保証すべき保証部分と制御可能部分とに分けることで、最低限の品質(保証部分)が保たれるようになっている。本実施形態では、複数のQoSタスク134が予め生成されており、それらのQoSタスク134がメモリ130等に格納されているものとする。
【0026】
タスク情報テーブル135は、QoSタスク134(実行制御対象タスク)に関する情報を管理するためのテーブルである。タスク情報テーブル135は、タスクID135a、起動タイミング135b、及び実行割当時間135c等の項目によって構成される。
【0027】
タスクID135aは、QoSタスク134を識別するための識別子である。起動タイミング135bは、QoSタスク134における実行開始時点から次の実行開始時点までの時間(周期)である。あるQoSタスク134が実行されると、設定された周期の間、このQoSタスク134が新たに実行されることはない。通常時用割当時間135cは、QoSタスク134に割り当てられたリソース量(ここでは、CPUの使用時間)である。
【0028】
タスク使用登録テーブル136は、予め生成されたQoSタスク134の使用状態や該タスク134により処理すべき関数を把握するためのテーブルである。この把握のために、タスク使用登録テーブル136には、予め生成されたQoSタスク134と該タスク134の使用状態を示す情報(ここでは使用フラグ)との対応関係、及び予め生成されたQoSタスク134と該タスクにより処理すべき関数(ここでは関数ポインタ)との対応関係が登録される。具体的には、タスク使用登録テーブル136には、タスクID136a、使用フラグ136b、及び関数ポインタ136c等が登録される。
【0029】
タスクID136aは、予め生成されたQoSタスク134を識別するための識別子である。使用フラグ136bは、予め生成されたQoSタスク134の使用状態(使用又は未使用)を示す情報(フラグ)である。なお、使用フラグ136bには当初は未使用を示す情報が登録されている。関数ポインタ136cは、予め生成されたQoSタスク134により処理すべき関数を示す情報である。なお、このポインタ136cにより示される関数(関数群)はメモリ130等に格納されている。
【0030】
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。以下の処理は、情報処理端末100に所定プログラムが読み込まれて、そのCPU110等により実行されることにより実現される。
【0031】
以下の説明においては、予め登録に使用されるタスク数分のQoSタスク134が生成されて、その生成された各QoSタスク134のタスクIDがタスク使用登録テーブル136(タスクID136a)に登録されているものとする。
【0032】
リアルタイムOSや所定アプリケーション等からタスク登録要求(処理すべき関数のポインタやリソース割当等を含む)があった場合、そのタスクの登録が可能か否かが判定される。例えば、そのタスクを登録すると所定のサービス品質を保証できるか否かが判定される。そして、所定サービス品質を保証できないと判定された場合には、そのタスクの登録ができないとして、タスク登録要求に対する処理は終了する。
【0033】
一方、所定サービス品質を保証できると判定されると、そのタスクの登録が可能であるとして、登録タスクID要求(サブルーチン又はモジュール等)が呼び出される(S100)。図2は、登録タスクID要求による処理を説明するためのフローチャートである。
【0034】
呼び出された登録タスクID要求は、未使用タスクの有無について判定する(S101)。この判定のために、タスク使用登録テーブル136が参照される。タスク使用登録テーブル136には、予め生成されたQoSタスク134と該タスク134の使用状態を示す情報との対応関係(ここではタスクID136a、及び使用フラグ136b)が登録されている。従って、このタスク使用登録テーブル136が参照されることで、未使用タスクの有無について判定(又は未使用タスクの選択)することが可能である。
【0035】
未使用タスク有りと判定されると(S101:Yes)、その未使用タスクのタスクID136aに対応する使用フラグ136bに、使用を示すフラグがセットされる(S102)。また、その未使用タスクのタスクID136aに対応する関数ポインタ136cに該タスクにより処理すべき関数のポインタ(タスク登録要求等に含まれる)が記入される。そして、その未使用タスクのタスクID136aが返される(S104)。一方、未使用タスク無しと判定されると(S101:No)、未使用タスクが無い旨を表す値が返される。この場合、以後の処理(S102〜S104)は実行されず、登録タスクID要求呼び出しに対する処理は終了する。
【0036】
S104で返されたタスクID136aは、実行制御対象タスクとしてタスク情報テーブル135(タスクID135a)に登録される。これは、予め生成されたQoSタスク134が実行制御対象タスクとして登録されることを意味する。タスク情報テーブル135には、さらに、そのタスクID135aに対する起動タイミング135bや割当時間135c等が登録されることもある。これらの登録は、例えば、CPU110が所定プログラムを実行することにより実現される登録部が行う。なお、その登録されたQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0037】
なお、リアルタイムOSや所定アプリケーション等からタスクの廃棄要求があった場合、タスク使用登録テーブル136から該タスク廃棄要求があったタスクに関する情報(例えばタスクID136aや使用フラグ136bや関数ポインタ136c)がクリアされる。
【0038】
以上述べたように、本実施形態のタスク管理システムによれば、予めQoSタスク134が生成されているため、タスク登録時にタスク生成を待つ必要がなくなる。このため、タスク登録を比較的高速に行うことが可能となる。また、システム全体として、登録可能なタスク数を予め生成・管理しておくことで、タスクのスケジューリングにかかるオーバーヘッドの最大値を明確にすることが可能となる。このため、スケジューリングによるシステムへの負荷の見積りが可能となる。
【0039】
次に、上記構成のタスク管理システムにおいて複数のタスクの実行を制御する動作について図面を参照しながら説明する。図3は、複数のタスクの実行を制御する動作を説明するためのフローチャートである。以下、時間起動通知用タスク133を用いないで制御する例について説明する。
【0040】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、スケジューラタスク132は、初期化され(S200)、QoSタスク134の中から実行タスクを決定する(S201)。具体的には、スケジューラタスク132は、タスク情報テーブル135中のタスク情報(起動タイミング135b等)に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0041】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0042】
これとともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S202)。例えば、タスク情報テーブル135(実行割当時間135c)へCPU使用時間を設定する(QoS制御)。
【0043】
次に、スケジューラタスク132は、次回スケジューラ起動時刻を計算し設定する(S203)。この設定が完了すると、スケジューラタスク132は、実行状態以外の状態(スリープ状態または待ち状態等)へ遷移する(S204)。実行状態以外の状態は設定時刻に達して再度実行状態へ遷移するまで継続する(S205)。
【0044】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。
【0045】
ここでは、S201で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。このQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0046】
スケジューラタスク132は、S203で設定した設定時刻に達すると、実行状態以外の状態から実行状態へ遷移する。即ち、スリープ状態等が解除される(S206)。そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S207)。
【0047】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクのスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S200〜S207の処理を繰り返す。
【0048】
以上述べたように、本実施形態においては、最も高い優先度が設定されるとともに、他のタスク(QoSタスク134)の実行制御を行うスケジューラタスク132を設けたので、リアルタイムOSのカーネル部分を修正することなく、タスク管理方式をそのリアルタイムOSに実装することが可能となる。
【0049】
また、本実施形態においては、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して、タスク情報テーブル135中のタスク情報に基づいて、他のタスク(QoSタスク134等)の実行制御を行う。
【0050】
これにより、タスクの実行におけるリソース割当制御が可能となり、アプリケーション(例えばQoSタスクを含む)実行におけるサービス品質の制御を実現することができる。また、リアルタイムOSにおいて、各タスク(QoSタスク)毎のリソース割当制御が可能となることで、優先度に依らず、タスクの実行を適切なタイミングで必要とされる時間の実行が可能となり、アプリケーションの開発およびデバックの効率が向上する。さらに、カーネル内部を修正せずに、優先度制御機能を持つリアルタイムOS自体の機能を用いて、リソース割当制御を実現することで、リソース割当制御における実装の容易性と移植性が高まる。
【0051】
次に、上記構成のタスク管理システムにおいて、時間起動通知用タスク133を用いて、複数のタスクの実行を制御する動作について説明する。図4は、複数のタスクに設定されている優先度を説明するための図である。縦軸が優先度を示しており、各タスクにはその位置に応じた優先度が設定されている。図5及び図6は、タスク管理システムの動作を説明するための図である。図6中、縦軸が優先度を、横軸が時間の経過を、それぞれ表している。
【0052】
複数のタスクに設定されている優先度は当初、図4に示すように、時間起動通知用タスク133が最も高く、スケジューラタスク132、QoSタスク134、その他のタスク(QoS設定されていないタスク、Wait状態のQoSタスク、割当待ちのタスク)の順に低くなっている。
【0053】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、図4に示すように、時間起動通知用タスク133に最も高い優先度が設定されているので、スケジューラ131は、時間起動通知用タスク133を実行する。時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに、所定通知をスケジューラタスク132へ通知等することで、スケジューラタスク132の優先度を他のタスク133、134等の優先度よりも高く設定する。これとともに、スケジューラタスク132の実行状態以外の状態(スリープ状態または待ち状態等)を解除する。
【0054】
この状態の下で、スケジューラ131は、終了又は待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスク132のスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。
【0055】
これにより、図5に示すように、スケジューラタスク132は、初期化され(S300)、QoSタスク134の中から実行タスクを決定する(S301)。具体的には、スケジューラタスク132は、タスク情報テーブル135中の起動タイミング135b等に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0056】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0057】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S302)。例えば、タスク情報テーブル135(通常時用割当時間135c)へCPU使用時間を設定する(QoS制御)。
【0058】
次に、スケジューラタスク132の優先度が他のタスク133、134等の優先度よりも低く設定される。これとともに、スケジューラタスク132は、実行状態以外の状態(スリープ状態またはReady状態(待ち状態))へ遷移する(S303)。実行状態以外の状態は時間起動通知用タスク133から所定通知等が通知され再度実行状態へ遷移するまで継続する(S304)。なお、QoSタスク割り当てが無いときは、スケジューラタスク132は、Suspend状態に遷移する。この場合、スケジューラタスク132の優先度を低く設定する必要はない。
【0059】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S301で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。このQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0060】
次に、所定期間(一定周期又は設定時刻)が経過すると、時間起動通知用タスク133は、所定通知をスケジューラタスク132に通知等することで、スケジューラタスク132の優先度を他のタスクの優先度よりも高く設定する。これとともに、スケジューラタスク132は、実行状態以外の状態から実行状態へ遷移する(起動)。即ち、Ready状態(待ち状態)が解除される(S305)。なお、QoSタスク134の割当中に起動された場合は、他のタスクが動作可能となる処理が行われる。
【0061】
そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S306)。
【0062】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクの待ち状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S300〜S306の処理を繰り返す。
【0063】
以上のようにして、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して他のタスクの実行制御を行う。これにより、上記動作と同様の効果が得られる。
なお、上記実施形態においては、各タスクについてはリアルタイムOS上で実行制御されるように説明したが、本発明はこれに限定されない。例えば、リアルタイムOS以外の他のOS上で実行制御されてもよいことは無論である。
【0064】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、これらの記載によって本発明が限定的に解釈されるものではない。
【0065】
【発明の効果】
本発明によれば、タスク登録を比較的高速に行うことが可能となる。このため、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性を低減できる。
【図面の簡単な説明】
【図1】本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【図2】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図3】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図4】複数のタスクに設定されている優先度を説明するための図である。
【図5】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図6】本発明の実施の形態であるタスク管理システムの動作を説明するための図である。
【符号の説明】
100 情報処理端末
110 CPU
120 記憶装置
130 メモリ
131 スケジューラ
132 スケジューラタスク
133 時間起動通知用タスク
134 QoSタスク
135 タスク情報テーブル
136 タスク使用登録テーブル
【発明の属する技術分野】
本発明は、タスク登録を比較的高速に行うための技術に関する。
【0002】
【従来の技術】
従来、あるプログラムの実行において、タスク登録時にタスク生成が必要となることがある(例えばQoS制御されるタスク)(例えば、特許文献1参照)。しかしながら、OS(Operating System)によってはタスク生成に相当の時間を要することがある。この場合、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性がある。
【0003】
【特許文献1】
特開平10−228385号公報
【0004】
【発明が解決しようとする課題】
本発明の課題は、タスク登録を比較的高速に行うことが可能な技術を提供することにある。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、タスク管理システムであって、予め生成されたタスクと、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部と、を備える構成とした。
【0006】
本発明によれば、タスク登録要求があった場合に、新たにタスクを生成することなく、予め生成されたタスクを実行制御タスクとして登録するため、タスク生成に関するオーバーヘッドが削減されることになり、タスク登録を比較的高速に行うことが可能となる。このため、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性を低減できる。
【0007】
上記タスク管理システムにおいては、例えば、前記登録部は、前記実行制御対象タスクとして前記予め生成されたタスクのうちの未使用のタスクを登録する。また、上記タスク管理システムにおいては、例えば、前記予め生成されたタスクと該タスクの使用状態を示す情報との対応関係が登録されるテーブルをさらに備え、前記未使用のタスクは該対応関係に基づいて判定される。これは、未使用のタスクの判定方法の一例を示したものである。
【0008】
このようにすれば、未使用タスクを重複して実行制御対象タスクとして登録することを防止できる。
【0009】
また、上記タスク管理システムにおいては、例えば、前記予め生成されたタスクと該タスクにより処理すべき関数との対応関係が登録されるテーブルをさらに備え、前記実行制御対象タスクとして登録された前記予め生成されたタスクは、その対応する関数を実行する。
【0010】
このようにすれば、例えば、タスク登録要求時に所定アプリケーション等から渡される処理すべき関数を、予め生成されたタスクに実行させることが可能となる。
【0011】
また、上記タスク管理システムにおいては、例えば、タスク廃棄要求があった場合に、前記テーブルから該タスク廃棄要求があったタスクに関する情報がクリアされる。このようにすれば、テーブルを有効利用することが可能となる。
【0012】
本発明は、方法の発明として次のように特定できる。
【0013】
タスク登録要求があった場合に、新たにタスクを生成することなく、予め生成されたタスクを実行制御対象タスクとして登録するタスク管理方法。
【0014】
また、本発明は、プログラムの発明として次のように特定できる。
【0015】
コンピュータを、予め生成されたタスク、タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部、として機能させるためのプログラム。
【0016】
また、本発明は、このプログラムを記録した記録媒体の発明としても特定できる。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態であるタスク管理システムについて図面を参照しながら説明する。図1は、本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【0018】
本実施形態のタスク管理システムは、PDA(Personal Digital Assistants)やパーソナルコンピュータ等の情報処理端末100により実現される。図1に示すように、情報処理端末100は、CPU110、ハードディスク装置等の記憶装置120、及びRAM等のメモリ130等を備えている。また、情報処理端末100は、液晶ディスプレイ等の画像表示装置やスピーカ等の音声出力装置等も備えている(いずれも図示せず)。これら各要素はバス等を介して相互に接続されている。
【0019】
記憶装置120には、リアルタイムOS(Operating System)、そのリアルタイムOS上で実行される各種プログラム(優先度が設定されている複数のタスク等)、タスク情報テーブル135、及びタスク使用登録テーブル136等がインストールされている。これらのリアルタイムOS等は適宜、記憶装置120からメモリ130へ読み出される。図1は、これらのリアルタイムOS等がメモリ130へ読み出された状態を示している。
【0020】
リアルタイムOSは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能(又はタスク管理機能ともいう)を有するオペレーティングシステムである。優先度制御機能は、リアルタイムOSが有するスケジューラ131によって実現される。
【0021】
スケジューラ131は、各タスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。スケジューラ131は、アプリケーションプログラム群(これらは優先度が設定されている複数のタスクとして把握される)や各種デバイスの制御などの処理のタイミングやどの処理を動かすかを決定する。具体的には、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行(処理)する。リアルタイムOSにおいては、低い優先度が設定されているタスクは全く動作しない可能性もある。スケジューラ131はまた、各タスクの状態(実行可能状態、実行状態、待ち状態等)も管理している。
【0022】
スケジューラ131によって優先度制御される複数のタスクとしては、スケジューラタスク132、時間起動通知用タスク133、及び、QoS(Quality of Service)タスク134等がある。これらのタスクには優先度が設定されている。スケジューラタスク132には最も高い優先度(他のタスク133、134等と比較して高い優先度)が設定される。
【0023】
スケジューラタスク132は、他のタスク(QoSタスク134)の実行制御を行うためのタスクである。スケジューラタスク132は、他のタスクの実行制御として、QoSタスク134の中から実行タスクの決定、実行タスクの優先度の変更、及び、実行タスクの所要リソース量の制御(リソース割り当て)等を行う。
【0024】
時間起動通知用タスク133は、スケジューラタスク132を実行状態(Running状態)へ遷移させるためのものである。そのために、時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに所定通知(イベントフラグまたはセマフォ等)をスケジューラタスク132へ通知する。所定通知を受けると、スケジューラタスク132は、実行状態へ遷移して他のタスク(QoSタスク134)の実行制御を行う。
【0025】
QoSタスク134はその所要リソース量を制御可能な可変タスクである。所要リソース量を最低限保証すべき保証部分と制御可能部分とに分けることで、最低限の品質(保証部分)が保たれるようになっている。本実施形態では、複数のQoSタスク134が予め生成されており、それらのQoSタスク134がメモリ130等に格納されているものとする。
【0026】
タスク情報テーブル135は、QoSタスク134(実行制御対象タスク)に関する情報を管理するためのテーブルである。タスク情報テーブル135は、タスクID135a、起動タイミング135b、及び実行割当時間135c等の項目によって構成される。
【0027】
タスクID135aは、QoSタスク134を識別するための識別子である。起動タイミング135bは、QoSタスク134における実行開始時点から次の実行開始時点までの時間(周期)である。あるQoSタスク134が実行されると、設定された周期の間、このQoSタスク134が新たに実行されることはない。通常時用割当時間135cは、QoSタスク134に割り当てられたリソース量(ここでは、CPUの使用時間)である。
【0028】
タスク使用登録テーブル136は、予め生成されたQoSタスク134の使用状態や該タスク134により処理すべき関数を把握するためのテーブルである。この把握のために、タスク使用登録テーブル136には、予め生成されたQoSタスク134と該タスク134の使用状態を示す情報(ここでは使用フラグ)との対応関係、及び予め生成されたQoSタスク134と該タスクにより処理すべき関数(ここでは関数ポインタ)との対応関係が登録される。具体的には、タスク使用登録テーブル136には、タスクID136a、使用フラグ136b、及び関数ポインタ136c等が登録される。
【0029】
タスクID136aは、予め生成されたQoSタスク134を識別するための識別子である。使用フラグ136bは、予め生成されたQoSタスク134の使用状態(使用又は未使用)を示す情報(フラグ)である。なお、使用フラグ136bには当初は未使用を示す情報が登録されている。関数ポインタ136cは、予め生成されたQoSタスク134により処理すべき関数を示す情報である。なお、このポインタ136cにより示される関数(関数群)はメモリ130等に格納されている。
【0030】
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。以下の処理は、情報処理端末100に所定プログラムが読み込まれて、そのCPU110等により実行されることにより実現される。
【0031】
以下の説明においては、予め登録に使用されるタスク数分のQoSタスク134が生成されて、その生成された各QoSタスク134のタスクIDがタスク使用登録テーブル136(タスクID136a)に登録されているものとする。
【0032】
リアルタイムOSや所定アプリケーション等からタスク登録要求(処理すべき関数のポインタやリソース割当等を含む)があった場合、そのタスクの登録が可能か否かが判定される。例えば、そのタスクを登録すると所定のサービス品質を保証できるか否かが判定される。そして、所定サービス品質を保証できないと判定された場合には、そのタスクの登録ができないとして、タスク登録要求に対する処理は終了する。
【0033】
一方、所定サービス品質を保証できると判定されると、そのタスクの登録が可能であるとして、登録タスクID要求(サブルーチン又はモジュール等)が呼び出される(S100)。図2は、登録タスクID要求による処理を説明するためのフローチャートである。
【0034】
呼び出された登録タスクID要求は、未使用タスクの有無について判定する(S101)。この判定のために、タスク使用登録テーブル136が参照される。タスク使用登録テーブル136には、予め生成されたQoSタスク134と該タスク134の使用状態を示す情報との対応関係(ここではタスクID136a、及び使用フラグ136b)が登録されている。従って、このタスク使用登録テーブル136が参照されることで、未使用タスクの有無について判定(又は未使用タスクの選択)することが可能である。
【0035】
未使用タスク有りと判定されると(S101:Yes)、その未使用タスクのタスクID136aに対応する使用フラグ136bに、使用を示すフラグがセットされる(S102)。また、その未使用タスクのタスクID136aに対応する関数ポインタ136cに該タスクにより処理すべき関数のポインタ(タスク登録要求等に含まれる)が記入される。そして、その未使用タスクのタスクID136aが返される(S104)。一方、未使用タスク無しと判定されると(S101:No)、未使用タスクが無い旨を表す値が返される。この場合、以後の処理(S102〜S104)は実行されず、登録タスクID要求呼び出しに対する処理は終了する。
【0036】
S104で返されたタスクID136aは、実行制御対象タスクとしてタスク情報テーブル135(タスクID135a)に登録される。これは、予め生成されたQoSタスク134が実行制御対象タスクとして登録されることを意味する。タスク情報テーブル135には、さらに、そのタスクID135aに対する起動タイミング135bや割当時間135c等が登録されることもある。これらの登録は、例えば、CPU110が所定プログラムを実行することにより実現される登録部が行う。なお、その登録されたQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0037】
なお、リアルタイムOSや所定アプリケーション等からタスクの廃棄要求があった場合、タスク使用登録テーブル136から該タスク廃棄要求があったタスクに関する情報(例えばタスクID136aや使用フラグ136bや関数ポインタ136c)がクリアされる。
【0038】
以上述べたように、本実施形態のタスク管理システムによれば、予めQoSタスク134が生成されているため、タスク登録時にタスク生成を待つ必要がなくなる。このため、タスク登録を比較的高速に行うことが可能となる。また、システム全体として、登録可能なタスク数を予め生成・管理しておくことで、タスクのスケジューリングにかかるオーバーヘッドの最大値を明確にすることが可能となる。このため、スケジューリングによるシステムへの負荷の見積りが可能となる。
【0039】
次に、上記構成のタスク管理システムにおいて複数のタスクの実行を制御する動作について図面を参照しながら説明する。図3は、複数のタスクの実行を制御する動作を説明するためのフローチャートである。以下、時間起動通知用タスク133を用いないで制御する例について説明する。
【0040】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、スケジューラタスク132は、初期化され(S200)、QoSタスク134の中から実行タスクを決定する(S201)。具体的には、スケジューラタスク132は、タスク情報テーブル135中のタスク情報(起動タイミング135b等)に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0041】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0042】
これとともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S202)。例えば、タスク情報テーブル135(実行割当時間135c)へCPU使用時間を設定する(QoS制御)。
【0043】
次に、スケジューラタスク132は、次回スケジューラ起動時刻を計算し設定する(S203)。この設定が完了すると、スケジューラタスク132は、実行状態以外の状態(スリープ状態または待ち状態等)へ遷移する(S204)。実行状態以外の状態は設定時刻に達して再度実行状態へ遷移するまで継続する(S205)。
【0044】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。
【0045】
ここでは、S201で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。このQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0046】
スケジューラタスク132は、S203で設定した設定時刻に達すると、実行状態以外の状態から実行状態へ遷移する。即ち、スリープ状態等が解除される(S206)。そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S207)。
【0047】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクのスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S200〜S207の処理を繰り返す。
【0048】
以上述べたように、本実施形態においては、最も高い優先度が設定されるとともに、他のタスク(QoSタスク134)の実行制御を行うスケジューラタスク132を設けたので、リアルタイムOSのカーネル部分を修正することなく、タスク管理方式をそのリアルタイムOSに実装することが可能となる。
【0049】
また、本実施形態においては、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して、タスク情報テーブル135中のタスク情報に基づいて、他のタスク(QoSタスク134等)の実行制御を行う。
【0050】
これにより、タスクの実行におけるリソース割当制御が可能となり、アプリケーション(例えばQoSタスクを含む)実行におけるサービス品質の制御を実現することができる。また、リアルタイムOSにおいて、各タスク(QoSタスク)毎のリソース割当制御が可能となることで、優先度に依らず、タスクの実行を適切なタイミングで必要とされる時間の実行が可能となり、アプリケーションの開発およびデバックの効率が向上する。さらに、カーネル内部を修正せずに、優先度制御機能を持つリアルタイムOS自体の機能を用いて、リソース割当制御を実現することで、リソース割当制御における実装の容易性と移植性が高まる。
【0051】
次に、上記構成のタスク管理システムにおいて、時間起動通知用タスク133を用いて、複数のタスクの実行を制御する動作について説明する。図4は、複数のタスクに設定されている優先度を説明するための図である。縦軸が優先度を示しており、各タスクにはその位置に応じた優先度が設定されている。図5及び図6は、タスク管理システムの動作を説明するための図である。図6中、縦軸が優先度を、横軸が時間の経過を、それぞれ表している。
【0052】
複数のタスクに設定されている優先度は当初、図4に示すように、時間起動通知用タスク133が最も高く、スケジューラタスク132、QoSタスク134、その他のタスク(QoS設定されていないタスク、Wait状態のQoSタスク、割当待ちのタスク)の順に低くなっている。
【0053】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、図4に示すように、時間起動通知用タスク133に最も高い優先度が設定されているので、スケジューラ131は、時間起動通知用タスク133を実行する。時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに、所定通知をスケジューラタスク132へ通知等することで、スケジューラタスク132の優先度を他のタスク133、134等の優先度よりも高く設定する。これとともに、スケジューラタスク132の実行状態以外の状態(スリープ状態または待ち状態等)を解除する。
【0054】
この状態の下で、スケジューラ131は、終了又は待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスク132のスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。
【0055】
これにより、図5に示すように、スケジューラタスク132は、初期化され(S300)、QoSタスク134の中から実行タスクを決定する(S301)。具体的には、スケジューラタスク132は、タスク情報テーブル135中の起動タイミング135b等に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0056】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0057】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S302)。例えば、タスク情報テーブル135(通常時用割当時間135c)へCPU使用時間を設定する(QoS制御)。
【0058】
次に、スケジューラタスク132の優先度が他のタスク133、134等の優先度よりも低く設定される。これとともに、スケジューラタスク132は、実行状態以外の状態(スリープ状態またはReady状態(待ち状態))へ遷移する(S303)。実行状態以外の状態は時間起動通知用タスク133から所定通知等が通知され再度実行状態へ遷移するまで継続する(S304)。なお、QoSタスク割り当てが無いときは、スケジューラタスク132は、Suspend状態に遷移する。この場合、スケジューラタスク132の優先度を低く設定する必要はない。
【0059】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S301で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。このQoSタスク134は、その実行時にその対応する関数ポインタ136cにより示される関数を実行する。
【0060】
次に、所定期間(一定周期又は設定時刻)が経過すると、時間起動通知用タスク133は、所定通知をスケジューラタスク132に通知等することで、スケジューラタスク132の優先度を他のタスクの優先度よりも高く設定する。これとともに、スケジューラタスク132は、実行状態以外の状態から実行状態へ遷移する(起動)。即ち、Ready状態(待ち状態)が解除される(S305)。なお、QoSタスク134の割当中に起動された場合は、他のタスクが動作可能となる処理が行われる。
【0061】
そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S306)。
【0062】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクの待ち状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S300〜S306の処理を繰り返す。
【0063】
以上のようにして、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して他のタスクの実行制御を行う。これにより、上記動作と同様の効果が得られる。
なお、上記実施形態においては、各タスクについてはリアルタイムOS上で実行制御されるように説明したが、本発明はこれに限定されない。例えば、リアルタイムOS以外の他のOS上で実行制御されてもよいことは無論である。
【0064】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、これらの記載によって本発明が限定的に解釈されるものではない。
【0065】
【発明の効果】
本発明によれば、タスク登録を比較的高速に行うことが可能となる。このため、登録されるタスクの起動に時間がかかり、登録されるタスクの処理の完了が要求される期限を越えてしまう等の可能性を低減できる。
【図面の簡単な説明】
【図1】本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【図2】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図3】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図4】複数のタスクに設定されている優先度を説明するための図である。
【図5】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図6】本発明の実施の形態であるタスク管理システムの動作を説明するための図である。
【符号の説明】
100 情報処理端末
110 CPU
120 記憶装置
130 メモリ
131 スケジューラ
132 スケジューラタスク
133 時間起動通知用タスク
134 QoSタスク
135 タスク情報テーブル
136 タスク使用登録テーブル
Claims (7)
- 予め生成されたタスクと、
タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部と、
を備えるタスク管理システム。 - 前記登録部は、前記実行制御対象タスクとして前記予め生成されたタスクのうちの未使用のタスクを登録する請求項1に記載のタスク管理システム。
- 前記予め生成されたタスクと該タスクの使用状態を示す情報との対応関係が登録されるテーブルをさらに備え、
前記未使用のタスクは該対応関係に基づいて判定される請求項2に記載のタスク管理システム。 - 前記予め生成されたタスクと該タスクにより処理すべき関数との対応関係が登録されるテーブルをさらに備え、
前記実行制御対象タスクとして登録された前記予め生成されたタスクは、その対応する関数を実行する、
請求項1から3のいずれかに記載のタスク管理システム。 - タスク廃棄要求があった場合に、前記テーブルから該タスク廃棄要求があったタスクに関する情報がクリアされる、
請求項3又は4に記載のタスク管理システム。 - タスク登録要求があった場合に、新たにタスクを生成することなく、予め生成されたタスクを実行制御対象タスクとして登録するタスク管理方法。
- コンピュータを、
予め生成されたタスク、
タスク登録要求があった場合に、新たにタスクを生成することなく、前記予め生成されたタスクを実行制御対象タスクとして登録する登録部、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119559A JP2004326399A (ja) | 2003-04-24 | 2003-04-24 | タスク管理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119559A JP2004326399A (ja) | 2003-04-24 | 2003-04-24 | タスク管理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326399A true JP2004326399A (ja) | 2004-11-18 |
Family
ID=33498751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003119559A Withdrawn JP2004326399A (ja) | 2003-04-24 | 2003-04-24 | タスク管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004326399A (ja) |
-
2003
- 2003-04-24 JP JP2003119559A patent/JP2004326399A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5324934B2 (ja) | 情報処理装置および情報処理方法 | |
JP5434616B2 (ja) | 仮想計算機、仮想計算機モニタ、および計算機の制御方法 | |
KR100864964B1 (ko) | 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체 | |
EP1837762B1 (en) | Scheduling method, scheduling device, and multiprocessor system | |
US20060010446A1 (en) | Method and system for concurrent execution of multiple kernels | |
JP3952992B2 (ja) | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム | |
WO2009023461A1 (en) | Multi-threaded processing with reduced context switching | |
JP5347451B2 (ja) | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 | |
JP2007058601A (ja) | タスク実行装置および方法 | |
JP2002099433A (ja) | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 | |
US20120284720A1 (en) | Hardware assisted scheduling in computer system | |
WO2023246044A1 (zh) | 调度方法及装置、芯片、电子设备及存储介质 | |
JP4523910B2 (ja) | 並列処理装置及び並列処理方法及び並列処理プログラム | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
WO2016177138A1 (zh) | 一种调度任务的方法、装置及系统 | |
JP6311330B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2005149312A (ja) | タスク管理システム | |
JP2004326399A (ja) | タスク管理システム | |
JP2001236236A (ja) | タスク制御装置およびそのタスクスケジューリング方法 | |
WO2001035209A2 (en) | Modified move to rear list system and methods for thread scheduling | |
Inam et al. | Mode-change mechanisms support for hierarchical freertos implementation | |
JP2007193744A (ja) | 情報処理装置、プログラム、およびスケジューリング方法 | |
JP2004157737A (ja) | タスク管理システム | |
Lee et al. | Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks | |
JP2004326364A (ja) | タスク管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |