JP2005209117A - タスク実行システム - Google Patents
タスク実行システム Download PDFInfo
- Publication number
- JP2005209117A JP2005209117A JP2004017638A JP2004017638A JP2005209117A JP 2005209117 A JP2005209117 A JP 2005209117A JP 2004017638 A JP2004017638 A JP 2004017638A JP 2004017638 A JP2004017638 A JP 2004017638A JP 2005209117 A JP2005209117 A JP 2005209117A
- Authority
- JP
- Japan
- Prior art keywords
- task
- target data
- processing target
- processing
- data
- 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.)
- Pending
Links
Images
Abstract
【課題】
プログラムの構造を格段と簡易化し得るようにする。
【解決手段】
タスクT1は、第1のデータ処理関数FXによって第1の処理対象データD1を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第1の処理対象データD1の識別子ID1を指定する。このときデータ管理タスクTMは、保持している対応テーブルTBを参照することにより、引数として指定された識別子ID1に対応するアドレス#100を認識する。そしてデータ管理タスクTMは、メモリ5のアドレス#100以降に格納されている第1の処理対象データD1を参照し、これに対して第1のデータ処理関数FXによる所定処理を施す。
【選択図】 図4
プログラムの構造を格段と簡易化し得るようにする。
【解決手段】
タスクT1は、第1のデータ処理関数FXによって第1の処理対象データD1を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第1の処理対象データD1の識別子ID1を指定する。このときデータ管理タスクTMは、保持している対応テーブルTBを参照することにより、引数として指定された識別子ID1に対応するアドレス#100を認識する。そしてデータ管理タスクTMは、メモリ5のアドレス#100以降に格納されている第1の処理対象データD1を参照し、これに対して第1のデータ処理関数FXによる所定処理を施す。
【選択図】 図4
Description
本発明はタスク実行システムに関し、例えば複数のタスクからなるプログラムを実行する情報処理装置に適用して好適なものである。
近年、パーソナルコンピュータやDVD録画再生装置等の情報処理装置には、複数のタスクを擬似的に同時並行で実行するためのマルチタスク機能を有するオペレーティングシステムプログラム(いわゆる、基本プログラム)が予め実装されている。(例えば特許文献1参照)
このような情報処理装置に対し、例えばユーザがある機能を利用するための操作を行うと、図5(A)に示すように、当該機能を実現するタスク群GP10における各タスクT10、T20、T30を順次実行することにより、ユーザに対して当該機能を提供し得るようになされている。
特開平11−327922号公報(第3頁)
ところで、従来のオペレーティングシステムプログラムが実装されている情報処理装置において、各タスクT10、T20、T30の処理対象となる処理対象データは、各タスクT10、T20、T30ごとに予め割り当てられているメモリ領域AR10、AR20、AR30にそれぞれ格納され、各タスクT10、T20、T30は、それぞれ対応するメモリ領域AR10、AR20、AR30に格納されている処理対象データしかアクセスできないようになされている。
従って、例えばタスクT10が処理した後の処理対象データに対してタスクT20が処理を実行し、さらにタスクT20が処理した後の処理対象データに対してタスクT30が処理を実行するためには、例えば図5(B)に示すように、タスクT10の処理が終了した後メモリ領域AR10に記憶されている処理対象データをメモリ領域AR20に反映するためのタスク(以下、これをデータ反映タスクと呼ぶ)と、タスクT20の処理が終了した後メモリ領域AR20に記憶されている処理対象データをメモリ領域AR30に反映するためのデータ反映タスクとを別途設けなければならず、この結果、データ反映タスクを別途設ける分だけプログラムの構造が複雑化してしまう問題があった。
本発明は以上の点を考慮してなされたもので、プログラムの構造を格段と簡易化し得るタスク実行システムを提案しようとするものである。
かかる課題を解決するため本発明においては、複数のタスクを実行するタスク実行システムにおいて、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する対応情報保持手段と、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する格納位置認識手段と、認識した格納位置に格納されている処理対象データを参照するデータ参照手段とを設けるようにした。
また本発明においては、複数のタスクを実行するコンピュータのタスク実行方法において、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する第2のステップと、認識した格納位置に格納されている処理対象データを参照する第3のステップとを設けるようにした。
さらに本発明においては、複数のタスクを実行するコンピュータに対して実行させるタスク実行プログラムにおいて、タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する第2のステップと、認識した格納位置に格納されている処理対象データを参照する第3のステップとを設けるようにした。
この結果、各タスクは、それぞれ異なるメモリ領域に格納されている複数種の処理対象データの何れも参照することができる。
本発明によれば、各タスクは、それぞれ異なるメモリ領域に格納されている複数種の処理対象データの何れも参照することができる。これにより、従来のようにデータ反映タスク等を別途設けなくて良く、かくしてプログラムの構造を格段と簡易化することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)情報処理装置の構成
図1において、1は情報処理装置を示し、プロセッサ2に対しシステムバス3及び外部記憶装置インターフェース部7−3を介して接続されているハードディスクドライブ4には、マルチタスク機能を有するオペレーティングシステムプログラムが予め格納されている。
図1において、1は情報処理装置を示し、プロセッサ2に対しシステムバス3及び外部記憶装置インターフェース部7−3を介して接続されているハードディスクドライブ4には、マルチタスク機能を有するオペレーティングシステムプログラムが予め格納されている。
CPU(Central Processing Unit)等からなるプロセッサ2は、このオペレーティングシステムプログラムに従って処理を実行することにより、マルチタスク機能を実現している。
またこのハードディスクドライブ4には、所定機能を実現するためのアプリケーションプログラムも予め記憶されている。プロセッサ2は、このアプリケーションプログラムに従ってタスク群GP1(図2)を生成し、当該タスク群GP1中の各タスクT1、T2、T3を順次実行することにより、ユーザに対してかかる所定機能を提供するようになされている。
因みに本実施の形態の情報処理装置1において、プロセッサ2に対しては、ハードディスクドライブ4が接続されているだけでなく、RAM(Random Access Memory)等からなるメモリ5やROM(Read Only Memory)6も接続されており、またディスプレイインターフェース部7−1を介してディスプレイ装置8も接続されている。これに加えてプロセッサ2に対しては、入力インターフェース部7−2を介してキーボード9やマウス10等も接続されており、また外部記憶装置インターフェース部7−3を介してハードディスクドライブ4やDVD等を再生するためのメディアドライブ11も接続されており、またインターネット等の外部ネットワークと接続するためのネットワークインターフェース部7−4も接続されている。
これら各インターフェース部7−1〜7−4は、予め割り込みレベルが割り当てられており、割り込みイベント(ハードディスクドライブ4におけるデータ転送完了イベントや、キーボード9における入力イベント等)の発生に応じて、割り込みを要求する旨の信号(以下、これを割り込み信号と呼ぶ)を発生させ、これを割り込み要求線12を介してプロセッサ2に供給する。またタイマ13に対しても予め割り込みレベルが割り当てられており、周期的に割り込み信号を発生して、これを割り込み要求線12を介してプロセッサ2に供給する。
タスクのスケジューリング機能を有するプロセッサ2は、当該供給される割り込み信号に応じて、タスクの状態を実行可能状態や実行状態や待ち状態に適宜遷移させるようになされている。
(2)情報処理装置におけるタスクの実行方法
次に、情報処理装置1におけるタスクの実行方法を、図2及び図3を用いて説明する。なお以下では、説明の便宜上、アプリケーションプログラムの実行に伴って生成されるタスクT1、T2、T3等を適宜主体的に扱って説明を行うが、実際にはプロセッサ2が、当該タスクT1、T2、T3に相当するアプリケーションプログラムに従って各種処理を実行するようになされていることは言うまでもない。
次に、情報処理装置1におけるタスクの実行方法を、図2及び図3を用いて説明する。なお以下では、説明の便宜上、アプリケーションプログラムの実行に伴って生成されるタスクT1、T2、T3等を適宜主体的に扱って説明を行うが、実際にはプロセッサ2が、当該タスクT1、T2、T3に相当するアプリケーションプログラムに従って各種処理を実行するようになされていることは言うまでもない。
プロセッサ2は、図2に示すように、アプリケーションプログラムに基づいて生成されるタスクT1、T2、T3を順次実行することにより、ユーザに対して所定機能を提供するようになされている。
タスクT1、T2、T3の処理対象となる第1〜第3の処理対象データD1、D2、D3は、メモリ5(図1)に格納されるようになされている。本実施の形態の場合、第1の処理対象データD1はアドレス#100以降のメモリ領域に格納されており、第2の処理対象データD2はアドレス#200以降のメモリ領域に格納されており、第3の処理対象データはアドレス#300以降のメモリ領域に格納されている。また本実施の形態の場合、第1〜第3の処理対象データD1、D2、D3のそれぞれには、予め固有の識別子ID1、ID2及びID3が割り当てられている。
これら第1〜第3の処理対象データD1、D2、D3を一元的に管理するためのデータ管理タスクTMは、各タスクT1、T2、T3からの命令を受け入れるための外部インターフェース部分TM1と、各処理対象データD1、D2、D3に対してそれぞれ所定処理を実行するようにコーディングされてなる第1のデータ処理関数部分FX及び第2のデータ処理関数部分FYと、第1のデータ処理関数部分FX及び第2のデータ処理関数部分FYの実行を制御する制御部分TM2とを有する。
この制御部分TM2は、第1〜第3の処理対象データD1、D2、D3のそれぞれの識別子ID1、ID2及びID3と、第1〜第3の処理対象データD1、D2、D3のそれぞれが格納されているアドレス#100、#200、#300とを対応付けてなる対応テーブルTBを保持している。
ここで一例として、タスクT1が第1の処理対象データD1を第1のデータ処理関数FXによって処理する場合の処理手順を、図3のシーケンスチャートを用いて説明する。
タスクT1は、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う。このとき当該呼び出した第1のデータ処理関数FXの引数として、第1の処理対象データD1の識別子ID1を指定する。(ステップSP1)
データ管理タスクTMにおける外部インターフェース部分TM1は、第1のデータ処理関数FXが呼び出された旨と、引数として識別子ID1が指定された旨とを、制御部分TM2に対して通知する。(ステップSP2)
これに応じて制御部分TM2は、保持している対応テーブルTBを参照し(ステップSP3)、これにより外部インターフェース部分TM1から通知された識別子ID1に対応するアドレス#100を認識する。(ステップSP4)
続いて制御部分TM2は、外部インターフェース部分TM1から呼び出された旨が通知された第1のデータ処理関数部分FXに対し、当該認識したアドレス#100以降に格納されている処理対象データ(つまり、第1の処理対象データD1)を処理するように命令する。(ステップSP5)
これに応じて第1のデータ処理関数部分FXは、メモリ5におけるアドレス#100以降のメモリ領域を参照し(ステップSP6)、当該参照したメモリ領域から第1の処理対象データD1を読み出して、これに対し所定処理を実行する。(ステップSP7)
そして第1のデータ処理関数部分FXは、当該所定処理の実行結果を、外部インターフェース部分TM1を介してタスクT1に通知するようになされている。(ステップSP8、9)
このようにタスクT1が、第1のデータ処理関数FXによって第1の処理対象データD1を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第1の処理対象データの識別子ID1を指定すれば良い。
またタスクT1が、第1のデータ処理関数FXによって第2の処理対象データD2又は第3の処理対象データD3を処理する場合には、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第2の処理対象データD2の識別子ID2又は第3の処理対象データD3の識別子ID3を指定すれば良い。
(3)動作及び効果
以上の構成において、タスクT1は、第1のデータ処理関数FXによって第1の処理対象データD1を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、図4(A)に示すように、引数として第1の処理対象データD1の識別子ID1を指定する。
以上の構成において、タスクT1は、第1のデータ処理関数FXによって第1の処理対象データD1を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、図4(A)に示すように、引数として第1の処理対象データD1の識別子ID1を指定する。
このときデータ管理タスクTMは、保持している対応テーブルTBを参照することにより、引数として指定された識別子ID1に対応するアドレス#100を認識する。そしてデータ管理タスクTMは、メモリ5のアドレス#100以降に格納されている第1の処理対象データD1を参照し、これに対して第1のデータ処理関数FXによる所定処理を施す。
またこのタスクT1は、第1のデータ処理関数FXによって第2の処理対象データD2又は第3の処理対象データD3を処理する場合、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第2の処理対象データD2の識別子ID2又は第3の処理対象データD3の識別子ID3を指定する。
このときデータ管理タスクTMは、対応テーブルTBを参照することにより、引数として指定された識別子ID2又は識別子ID3に対応するアドレス#200又はアドレス#300を認識する。そしてデータ管理タスクTMは、メモリ5のアドレス#200以降又はアドレス#300以降に格納されている第2の処理対象データD2又は第3の処理対象データD3を参照し、これに対して第1のデータ処理関数FXによる所定処理を施す。
かくしてこの情報処理装置1においては、1つのタスク(この場合、タスクT1)から、それぞれ異なるメモリ領域に格納されている複数種の処理対象データ(この場合、第1〜第3の処理対象データD1、D2、D3)を参照することができる。
また、図4(B)に示すようにタスクT2及びタスクT3も、第1のデータ処理関数FXを呼び出す命令をデータ管理タスクTMに対して行う際に、引数として第1の処理対象データD1の識別子ID1を指定すれば、第1の処理対象データD1を参照することができる。
従ってこの情報処理装置1においては、複数のタスク(この場合、タスクT1、T2、T3)のそれぞれから、1つの処理対象データ(この場合、アドレス#100に格納されている第1の処理対象データD1)を参照することもできる。
以上の構成によれば、各タスクT1、T2、T3は、データ管理タスクTMを介すことにより、それぞれ異なるメモリ領域に格納されている複数種の処理対象データD1、D2、D3の何れも参照することができる。この結果、従来のようにデータ反映タスク等を別途設けたりタスクT1、T2、T3と同じようなタスクを別途設けなくて良く、かくしてプログラムの構造を格段と簡易化することができる。
これにより、アプリケーションプログラムを作成する際において、プログラミングの効率やコードの再利用性を向上させることができる。
(4)他の実施の形態
なお上述の実施の形態においては、タスク実行システムとして、パーソナルコンピュータやDVD録画再生装置等の情報処理装置1を適用する場合について述べたが、本発明はこれに限らず、複数のタスクを実行するものであればこの他種々の電子機器を適用するようにしても良い。
なお上述の実施の形態においては、タスク実行システムとして、パーソナルコンピュータやDVD録画再生装置等の情報処理装置1を適用する場合について述べたが、本発明はこれに限らず、複数のタスクを実行するものであればこの他種々の電子機器を適用するようにしても良い。
また上述の実施の形態においては、タスク(タスクT1、T2、T3)の処理対象となる複数種の処理対象データ(第1〜第3の処理対象データD1、D2、D3)のそれぞれに対し固有に割り当てられている識別情報(識別子ID1、ID2、ID3)と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報(対応テーブルTB)を保持する機能と、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する機能と、認識した格納位置に格納されている処理対象データを参照する機能とを、プログラムからなるデータ管理タスクTMに具備させる場合について述べたが、本発明はこれに限らず、これら機能をハードウェア的に実現するようにしても良い。
本発明は、例えば、複数のタスクを擬似的に同時並行で実行するパーソナルコンピュータ等の情報処理装置に利用することができる。
1……情報処理装置、2……プロセッサ、5……メモリ、T1〜T3……タスク、TM……データ管理タスク。
Claims (4)
- 複数のタスクを実行するタスク実行システムであって、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する対応情報保持手段と、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する格納位置認識手段と、
上記認識した格納位置に格納されている上記処理対象データを参照するデータ参照手段と
を具えることを特徴とするタスク実行システム。 - 上記処理対象データに対してそれぞれ所定処理を実行する複数の処理実行部を有し、
上記タスクから上記識別情報が引き渡されると共に上記複数の処理実行部のうちの一の処理実行部が指定されると、上記格納位置認識手段により当該引き渡された識別情報に対応する上記格納位置を認識し、上記データ参照手段により当該認識した格納位置に格納されている上記処理対象データを参照し、上記一の処理実行部により当該参照した処理対象データに対し上記所定処理を実行する
ことを特徴とする請求項1に記載のタスク実行システム。 - 複数のタスクを実行するコンピュータのタスク実行方法であって、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第2のステップと、
上記認識した格納位置に格納されている上記処理対象データを参照する第3のステップと
を具えることを特徴とするタスク実行方法。 - 複数のタスクを実行するコンピュータに対して、
上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、
上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第2のステップと、
上記認識した格納位置に格納されている上記処理対象データを参照する第3のステップと
を実行させるタスク実行プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017638A JP2005209117A (ja) | 2004-01-26 | 2004-01-26 | タスク実行システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017638A JP2005209117A (ja) | 2004-01-26 | 2004-01-26 | タスク実行システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005209117A true JP2005209117A (ja) | 2005-08-04 |
Family
ID=34902392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004017638A Pending JP2005209117A (ja) | 2004-01-26 | 2004-01-26 | タスク実行システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005209117A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009176145A (ja) * | 2008-01-25 | 2009-08-06 | Nippon Signal Co Ltd:The | 保安処理装置 |
-
2004
- 2004-01-26 JP JP2004017638A patent/JP2005209117A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009176145A (ja) * | 2008-01-25 | 2009-08-06 | Nippon Signal Co Ltd:The | 保安処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524223C (zh) | 基于pmi和smi的调度执行框架中用于并发处理程序执行的方法 | |
US6996821B1 (en) | Data processing systems and method for batching tasks of the same type in an instruction cache | |
JP4148528B2 (ja) | 排他制御を効率化する技術 | |
TWI401604B (zh) | 用以管理多處理器電腦系統內之系統管理中斷的系統與方法 | |
CN100527087C (zh) | 多核计算机系统驱动程序的支持多执行绪指令执行的方法 | |
JP4563829B2 (ja) | ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム | |
JP2002117002A (ja) | 共用型ペリフェラルアーキテクチャ | |
JP2004054916A (ja) | プロセッサ間のハードウェア支援通信を実行する方法 | |
US8732441B2 (en) | Multiprocessing system | |
US7386647B2 (en) | System and method for processing an interrupt in a processor supporting multithread execution | |
TW434491B (en) | Increasing I/O performance through storage of packetized operational information in local memory | |
JP2005209117A (ja) | タスク実行システム | |
JP2000227872A (ja) | 複数メモリ要求の動的スロット割当および追跡 | |
JPH06309265A (ja) | 情報処理装置におけるドライバプログラムの動的選択方法 | |
JP4597032B2 (ja) | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム | |
JP3524961B2 (ja) | マルチプロセッサシステムおよび同システムにおけるタスクスケジューリング方法 | |
US6842900B2 (en) | Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread | |
JP6940283B2 (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム | |
JPH07325779A (ja) | 入出力制御装置 | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JP3797274B2 (ja) | ファームウェアディスパッチ方式,方法,およびプログラム | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
JPH1021203A (ja) | I/o装置のアクセス方法およびそのためのマルチプロセッサシステム | |
JP2933569B2 (ja) | 中央演算処理装置 | |
JP2001297007A (ja) | コンピュータ制御方法および該方法により制御されるコンピュータ |