JP2005209117A - タスク実行システム - Google Patents

タスク実行システム Download PDF

Info

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
Application number
JP2004017638A
Other languages
English (en)
Inventor
Yutaka Kondo
裕 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004017638A priority Critical patent/JP2005209117A/ja
Publication of JP2005209117A publication Critical patent/JP2005209117A/ja
Pending legal-status Critical Current

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

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には、マルチタスク機能を有するオペレーティングシステムプログラムが予め格納されている。
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に相当するアプリケーションプログラムに従って各種処理を実行するようになされていることは言うまでもない。
プロセッサ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を指定する。
このときデータ管理タスク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を適用する場合について述べたが、本発明はこれに限らず、複数のタスクを実行するものであればこの他種々の電子機器を適用するようにしても良い。
また上述の実施の形態においては、タスク(タスクT1、T2、T3)の処理対象となる複数種の処理対象データ(第1〜第3の処理対象データD1、D2、D3)のそれぞれに対し固有に割り当てられている識別情報(識別子ID1、ID2、ID3)と、各処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報(対応テーブルTB)を保持する機能と、対応情報を参照することによりタスクから引き渡される識別情報に対応する格納位置を認識する機能と、認識した格納位置に格納されている処理対象データを参照する機能とを、プログラムからなるデータ管理タスクTMに具備させる場合について述べたが、本発明はこれに限らず、これら機能をハードウェア的に実現するようにしても良い。
本発明は、例えば、複数のタスクを擬似的に同時並行で実行するパーソナルコンピュータ等の情報処理装置に利用することができる。
本実施の形態における情報処理装置の構成を示すブロック図である。 データ管理タスクの構成を示す略線図である。 タスク実行手順を示すシーケンスチャートである。 タスクから処理対象データを参照する様子を示す略線図である。 従来例を示す略線図である。
符号の説明
1……情報処理装置、2……プロセッサ、5……メモリ、T1〜T3……タスク、TM……データ管理タスク。

Claims (4)

  1. 複数のタスクを実行するタスク実行システムであって、
    上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する対応情報保持手段と、
    上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する格納位置認識手段と、
    上記認識した格納位置に格納されている上記処理対象データを参照するデータ参照手段と
    を具えることを特徴とするタスク実行システム。
  2. 上記処理対象データに対してそれぞれ所定処理を実行する複数の処理実行部を有し、
    上記タスクから上記識別情報が引き渡されると共に上記複数の処理実行部のうちの一の処理実行部が指定されると、上記格納位置認識手段により当該引き渡された識別情報に対応する上記格納位置を認識し、上記データ参照手段により当該認識した格納位置に格納されている上記処理対象データを参照し、上記一の処理実行部により当該参照した処理対象データに対し上記所定処理を実行する
    ことを特徴とする請求項1に記載のタスク実行システム。
  3. 複数のタスクを実行するコンピュータのタスク実行方法であって、
    上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、
    上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第2のステップと、
    上記認識した格納位置に格納されている上記処理対象データを参照する第3のステップと
    を具えることを特徴とするタスク実行方法。
  4. 複数のタスクを実行するコンピュータに対して、
    上記タスクの処理対象となる複数種の処理対象データのそれぞれに対し固有に割り当てられている識別情報と、各上記処理対象データの格納されているメモリ上の格納位置とを対応付けてなる対応情報を保持する第1のステップと、
    上記対応情報を参照することにより上記タスクから引き渡される上記識別情報に対応する上記格納位置を認識する第2のステップと、
    上記認識した格納位置に格納されている上記処理対象データを参照する第3のステップと
    を実行させるタスク実行プログラム。
JP2004017638A 2004-01-26 2004-01-26 タスク実行システム Pending JP2005209117A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176145A (ja) * 2008-01-25 2009-08-06 Nippon Signal Co Ltd:The 保安処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
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) コンピュータ制御方法および該方法により制御されるコンピュータ