(57)【要約】【課題】  プログラムの構造を格段と簡易化し得るようにする。【解決手段】  タスクＴ１は、第１のデータ処理関数ＦＸによって第１の処理対象データＤ１を処理する場合、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、引数として第１の処理対象データＤ１の識別子ＩＤ１を指定する。このときデータ管理タスクＴＭは、保持している対応テーブルＴＢを参照することにより、引数として指定された識別子ＩＤ１に対応するアドレス＃１００を認識する。そしてデータ管理タスクＴＭは、メモリ５のアドレス＃１００以降に格納されている第１の処理対象データＤ１を参照し、これに対して第１のデータ処理関数ＦＸによる所定処理を施す。【選択図】        図４
2005209117.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクを実行するタスク実行システムであって、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する対応情報保持手段と、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する格納位置認識手段と、
上記認識した格納位置に格納されている上記処理対象データを参照するデータ参照手段と
を具えることを特徴とするタスク実行システム。
【請求項２】
上記処理対象データに対してそれぞれ所定処理を実行する複数の処理実行部を有し、
上記タスクから上記識別情報が引き渡されると共に上記複数の処理実行部のうちの一の処理実行部が指定されると、上記格納位置認識手段により当該引き渡された識別情報に対応する上記格納位置を認識し、上記データ参照手段により当該認識した格納位置に格納されている上記処理対象データを参照し、上記一の処理実行部により当該参照した処理対象データに対し上記所定処理を実行する
ことを特徴とする請求項１に記載のタスク実行システム。
【請求項３】
複数のタスクを実行するコンピュータのタスク実行方法であって、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第１のステップと、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第２のステップと、
上記認識した格納位置に格納されている上記処理対象データを参照する第３のステップと
を具えることを特徴とするタスク実行方法。
【請求項４】
複数のタスクを実行するコンピュータに対して、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第１のステップと、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第２のステップと、
上記認識した格納位置に格納されている上記処理対象データを参照する第３のステップと
を実行させるタスク実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はタスク実行システムに関し、例えば複数のタスクからなるプログラムを実行する情報処理装置に適用して好適なものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータやＤＶＤ録画再生装置等の情報処理装置には、複数のタスクを擬似的に同時並行で実行するためのマルチタスク機能を有するオペレーティングシステムプログラム（いわゆる、基本プログラム）が予め実装されている。（例えば特許文献１参照）
【０００３】
このような情報処理装置に対し、例えばユーザがある機能を利用するための操作を行うと、図５（Ａ）に示すように、当該機能を実現するタスク群ＧＰ１０における各タスクＴ１０、Ｔ２０、Ｔ３０を順次実行することにより、ユーザに対して当該機能を提供し得るようになされている。
【特許文献１】特開平１１−３２７９２２号公報（第３頁）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来のオペレーティングシステムプログラムが実装されている情報処理装置において、各タスクＴ１０、Ｔ２０、Ｔ３０の処理対象となる処理対象データは、各タスクＴ１０、Ｔ２０、Ｔ３０ごとに予め割り当てられているメモリ領域ＡＲ１０、ＡＲ２０、ＡＲ３０にそれぞれ格納され、各タスクＴ１０、Ｔ２０、Ｔ３０は、それぞれ対応するメモリ領域ＡＲ１０、ＡＲ２０、ＡＲ３０に格納されている処理対象データしかアクセスできないようになされている。
【０００５】
従って、例えばタスクＴ１０が処理した後の処理対象データに対してタスクＴ２０が処理を実行し、さらにタスクＴ２０が処理した後の処理対象データに対してタスクＴ３０が処理を実行するためには、例えば図５（Ｂ）に示すように、タスクＴ１０の処理が終了した後メモリ領域ＡＲ１０に記憶されている処理対象データをメモリ領域ＡＲ２０に反映するためのタスク（以下、これをデータ反映タスクと呼ぶ）と、タスクＴ２０の処理が終了した後メモリ領域ＡＲ２０に記憶されている処理対象データをメモリ領域ＡＲ３０に反映するためのデータ反映タスクとを別途設けなければならず、この結果、データ反映タスクを別途設ける分だけプログラムの構造が複雑化してしまう問題があった。
【０００６】
本発明は以上の点を考慮してなされたもので、プログラムの構造を格段と簡易化し得るタスク実行システムを提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、複数のタスクを実行するタスク実行システムにおいて、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する対応情報保持手段と、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する格納位置認識手段と、認識した格納位置に格納されている処理対象データを参照するデータ参照手段とを設けるようにした。
【０００８】
また本発明においては、複数のタスクを実行するコンピュータのタスク実行方法において、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第１のステップと、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する第２のステップと、認識した格納位置に格納されている処理対象データを参照する第３のステップとを設けるようにした。
【０００９】
さらに本発明においては、複数のタスクを実行するコンピュータに対して実行させるタスク実行プログラムにおいて、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第１のステップと、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する第２のステップと、認識した格納位置に格納されている処理対象データを参照する第３のステップとを設けるようにした。
【００１０】
この結果、各タスクは、それぞれ異なるメモリ領域に格納されている複数種の処理対象データの何れも参照することができる。
【発明の効果】
【００１１】
本発明によれば、各タスクは、それぞれ異なるメモリ領域に格納されている複数種の処理対象データの何れも参照することができる。これにより、従来のようにデータ反映タスク等を別途設けなくて良く、かくしてプログラムの構造を格段と簡易化することができる。
【発明を実施するための最良の形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）情報処理装置の構成
図１において、１は情報処理装置を示し、プロセッサ２に対しシステムバス３及び外部記憶装置インターフェース部７−３を介して接続されているハードディスクドライブ４には、マルチタスク機能を有するオペレーティングシステムプログラムが予め格納されている。
【００１４】
ＣＰＵ（Central Processing Unit）等からなるプロセッサ２は、このオペレーティングシステムプログラムに従って処理を実行することにより、マルチタスク機能を実現している。
【００１５】
またこのハードディスクドライブ４には、所定機能を実現するためのアプリケーションプログラムも予め記憶されている。プロセッサ２は、このアプリケーションプログラムに従ってタスク群ＧＰ１（図２）を生成し、当該タスク群ＧＰ１中の各タスクＴ１、Ｔ２、Ｔ３を順次実行することにより、ユーザに対してかかる所定機能を提供するようになされている。
【００１６】
因みに本実施の形態の情報処理装置１において、プロセッサ２に対しては、ハードディスクドライブ４が接続されているだけでなく、ＲＡＭ（Random Access Memory）等からなるメモリ５やＲＯＭ（Read Only Memory）６も接続されており、またディスプレイインターフェース部７−１を介してディスプレイ装置８も接続されている。これに加えてプロセッサ２に対しては、入力インターフェース部７−２を介してキーボード９やマウス１０等も接続されており、また外部記憶装置インターフェース部７−３を介してハードディスクドライブ４やＤＶＤ等を再生するためのメディアドライブ１１も接続されており、またインターネット等の外部ネットワークと接続するためのネットワークインターフェース部７−４も接続されている。
【００１７】
これら各インターフェース部７−１〜７−４は、予め割り込みレベルが割り当てられており、割り込みイベント（ハードディスクドライブ４におけるデータ転送完了イベントや、キーボード９における入力イベント等）の発生に応じて、割り込みを要求する旨の信号（以下、これを割り込み信号と呼ぶ）を発生させ、これを割り込み要求線１２を介してプロセッサ２に供給する。またタイマ１３に対しても予め割り込みレベルが割り当てられており、周期的に割り込み信号を発生して、これを割り込み要求線１２を介してプロセッサ２に供給する。
【００１８】
タスクのスケジューリング機能を有するプロセッサ２は、当該供給される割り込み信号に応じて、タスクの状態を実行可能状態や実行状態や待ち状態に適宜遷移させるようになされている。
【００１９】
（２）情報処理装置におけるタスクの実行方法
次に、情報処理装置１におけるタスクの実行方法を、図２及び図３を用いて説明する。なお以下では、説明の便宜上、アプリケーションプログラムの実行に伴って生成されるタスクＴ１、Ｔ２、Ｔ３等を適宜主体的に扱って説明を行うが、実際にはプロセッサ２が、当該タスクＴ１、Ｔ２、Ｔ３に相当するアプリケーションプログラムに従って各種処理を実行するようになされていることは言うまでもない。
【００２０】
プロセッサ２は、図２に示すように、アプリケーションプログラムに基づいて生成されるタスクＴ１、Ｔ２、Ｔ３を順次実行することにより、ユーザに対して所定機能を提供するようになされている。
【００２１】
タスクＴ１、Ｔ２、Ｔ３の処理対象となる第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３は、メモリ５（図１）に格納されるようになされている。本実施の形態の場合、第１の処理対象データＤ１はアドレス＃１００以降のメモリ領域に格納されており、第２の処理対象データＤ２はアドレス＃２００以降のメモリ領域に格納されており、第３の処理対象データはアドレス＃３００以降のメモリ領域に格納されている。また本実施の形態の場合、第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３のそれぞれには、予め固有の識別子ＩＤ１、ＩＤ２及びＩＤ３が割り当てられている。
【００２２】
これら第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３を一元的に管理するためのデータ管理タスクＴＭは、各タスクＴ１、Ｔ２、Ｔ３からの命令を受け入れるための外部インターフェース部分ＴＭ１と、各処理対象データＤ１、Ｄ２、Ｄ３に対してそれぞれ所定処理を実行するようにコーディングされてなる第１のデータ処理関数部分ＦＸ及び第２のデータ処理関数部分ＦＹと、第１のデータ処理関数部分ＦＸ及び第２のデータ処理関数部分ＦＹの実行を制御する制御部分ＴＭ２とを有する。
【００２３】
この制御部分ＴＭ２は、第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３のそれぞれの識別子ＩＤ１、ＩＤ２及びＩＤ３と、第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３のそれぞれが格納されているアドレス＃１００、＃２００、＃３００とを対応付けてなる対応テーブルＴＢを保持している。
【００２４】
ここで一例として、タスクＴ１が第１の処理対象データＤ１を第１のデータ処理関数ＦＸによって処理する場合の処理手順を、図３のシーケンスチャートを用いて説明する。
【００２５】
タスクＴ１は、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う。このとき当該呼び出した第１のデータ処理関数ＦＸの引数として、第１の処理対象データＤ１の識別子ＩＤ１を指定する。（ステップＳＰ１）
【００２６】
データ管理タスクＴＭにおける外部インターフェース部分ＴＭ１は、第１のデータ処理関数ＦＸが呼び出された旨と、引数として識別子ＩＤ１が指定された旨とを、制御部分ＴＭ２に対して通知する。（ステップＳＰ２）
【００２７】
これに応じて制御部分ＴＭ２は、保持している対応テーブルＴＢを参照し（ステップＳＰ３）、これにより外部インターフェース部分ＴＭ１から通知された識別子ＩＤ１に対応するアドレス＃１００を認識する。（ステップＳＰ４）
【００２８】
続いて制御部分ＴＭ２は、外部インターフェース部分ＴＭ１から呼び出された旨が通知された第１のデータ処理関数部分ＦＸに対し、当該認識したアドレス＃１００以降に格納されている処理対象データ（つまり、第１の処理対象データＤ１）を処理するように命令する。（ステップＳＰ５）
【００２９】
これに応じて第１のデータ処理関数部分ＦＸは、メモリ５におけるアドレス＃１００以降のメモリ領域を参照し（ステップＳＰ６）、当該参照したメモリ領域から第１の処理対象データＤ１を読み出して、これに対し所定処理を実行する。（ステップＳＰ７）
【００３０】
そして第１のデータ処理関数部分ＦＸは、当該所定処理の実行結果を、外部インターフェース部分ＴＭ１を介してタスクＴ１に通知するようになされている。（ステップＳＰ８、９）
【００３１】
このようにタスクＴ１が、第１のデータ処理関数ＦＸによって第１の処理対象データＤ１を処理する場合、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、引数として第１の処理対象データの識別子ＩＤ１を指定すれば良い。
【００３２】
またタスクＴ１が、第１のデータ処理関数ＦＸによって第２の処理対象データＤ２又は第３の処理対象データＤ３を処理する場合には、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、引数として第２の処理対象データＤ２の識別子ＩＤ２又は第３の処理対象データＤ３の識別子ＩＤ３を指定すれば良い。
【００３３】
（３）動作及び効果
以上の構成において、タスクＴ１は、第１のデータ処理関数ＦＸによって第１の処理対象データＤ１を処理する場合、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、図４（Ａ）に示すように、引数として第１の処理対象データＤ１の識別子ＩＤ１を指定する。
【００３４】
このときデータ管理タスクＴＭは、保持している対応テーブルＴＢを参照することにより、引数として指定された識別子ＩＤ１に対応するアドレス＃１００を認識する。そしてデータ管理タスクＴＭは、メモリ５のアドレス＃１００以降に格納されている第１の処理対象データＤ１を参照し、これに対して第１のデータ処理関数ＦＸによる所定処理を施す。
【００３５】
またこのタスクＴ１は、第１のデータ処理関数ＦＸによって第２の処理対象データＤ２又は第３の処理対象データＤ３を処理する場合、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、引数として第２の処理対象データＤ２の識別子ＩＤ２又は第３の処理対象データＤ３の識別子ＩＤ３を指定する。
【００３６】
このときデータ管理タスクＴＭは、対応テーブルＴＢを参照することにより、引数として指定された識別子ＩＤ２又は識別子ＩＤ３に対応するアドレス＃２００又はアドレス＃３００を認識する。そしてデータ管理タスクＴＭは、メモリ５のアドレス＃２００以降又はアドレス＃３００以降に格納されている第２の処理対象データＤ２又は第３の処理対象データＤ３を参照し、これに対して第１のデータ処理関数ＦＸによる所定処理を施す。
【００３７】
かくしてこの情報処理装置１においては、１つのタスク（この場合、タスクＴ１）から、それぞれ異なるメモリ領域に格納されている複数種の処理対象データ（この場合、第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３）を参照することができる。
【００３８】
また、図４（Ｂ）に示すようにタスクＴ２及びタスクＴ３も、第１のデータ処理関数ＦＸを呼び出す命令をデータ管理タスクＴＭに対して行う際に、引数として第１の処理対象データＤ１の識別子ＩＤ１を指定すれば、第１の処理対象データＤ１を参照することができる。
【００３９】
従ってこの情報処理装置１においては、複数のタスク（この場合、タスクＴ１、Ｔ２、Ｔ３）のそれぞれから、１つの処理対象データ（この場合、アドレス＃１００に格納されている第１の処理対象データＤ１）を参照することもできる。
【００４０】
以上の構成によれば、各タスクＴ１、Ｔ２、Ｔ３は、データ管理タスクＴＭを介すことにより、それぞれ異なるメモリ領域に格納されている複数種の処理対象データＤ１、Ｄ２、Ｄ３の何れも参照することができる。この結果、従来のようにデータ反映タスク等を別途設けたりタスクＴ１、Ｔ２、Ｔ３と同じようなタスクを別途設けなくて良く、かくしてプログラムの構造を格段と簡易化することができる。
【００４１】
これにより、アプリケーションプログラムを作成する際において、プログラミングの効率やコードの再利用性を向上させることができる。
【００４２】
（４）他の実施の形態
なお上述の実施の形態においては、タスク実行システムとして、パーソナルコンピュータやＤＶＤ録画再生装置等の情報処理装置１を適用する場合について述べたが、本発明はこれに限らず、複数のタスクを実行するものであればこの他種々の電子機器を適用するようにしても良い。
【００４３】
また上述の実施の形態においては、タスク（タスクＴ１、Ｔ２、Ｔ３）の処理対象となる複数種の処理対象データ（第１〜第３の処理対象データＤ１、Ｄ２、Ｄ３）のそれぞれに対し固有に割り当てられている識別情報（識別子ＩＤ１、ＩＤ２、ＩＤ３）と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報（対応テーブルＴＢ）を保持する機能と、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する機能と、認識した格納位置に格納されている処理対象データを参照する機能とを、プログラムからなるデータ管理タスクＴＭに具備させる場合について述べたが、本発明はこれに限らず、これら機能をハードウェア的に実現するようにしても良い。
【産業上の利用可能性】
【００４４】
本発明は、例えば、複数のタスクを擬似的に同時並行で実行するパーソナルコンピュータ等の情報処理装置に利用することができる。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態における情報処理装置の構成を示すブロック図である。
【図２】データ管理タスクの構成を示す略線図である。
【図３】タスク実行手順を示すシーケンスチャートである。
【図４】タスクから処理対象データを参照する様子を示す略線図である。
【図５】従来例を示す略線図である。
【符号の説明】
【００４６】
１……情報処理装置、２……プロセッサ、５……メモリ、Ｔ１〜Ｔ３……タスク、ＴＭ……データ管理タスク。
【図１】
2005209117.tif 000003
【図２】
2005209117.tif 000004
【図３】
2005209117.tif 000005
【図４】
2005209117.tif 000006
【図５】
2005209117.tif 000007