JP3601677B2 - タスク処理システム - Google Patents
タスク処理システム Download PDFInfo
- Publication number
- JP3601677B2 JP3601677B2 JP16270299A JP16270299A JP3601677B2 JP 3601677 B2 JP3601677 B2 JP 3601677B2 JP 16270299 A JP16270299 A JP 16270299A JP 16270299 A JP16270299 A JP 16270299A JP 3601677 B2 JP3601677 B2 JP 3601677B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- event
- processing
- identifier
- task processing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
【発明が属する技術分野】
本発明は、タスク処理システムに関し、特に、小規模なタスクを多量に処理する場合のタスク切り替えのためのオーバーヘッドの発生を抑制して、タスク処理速度を向上させるタスク処理システムに関する。
【0002】
【従来の技術】
従来、タスク処理システムにおいて、処理すべきタスクがあらかじめ分かっている場合には、あらかじめタスクをスケジューリングすることによりシステムのタスク処理速度を最適にする。
【0003】
一方、処理すべきタスクが予測不可能な場合には、割り込み等の非同期なイベントによりタスクが処理される。たとえば、特開平10−326197号公報に開示された「キュー処理方式」においては、ソフトウエアからの通常イベントと、タイマーやハードウエア割り込み等によるイベントを随時受付けて入力キーに登録し、割込み禁止を行わずに、順次処理する。
【0004】
図5に示すように、上記公報に開示された「キュー処理方式」においては、具体的には、通常イベントキューには、割り込みイベントも含めてすべてのイベントのキューエントリーを用意する。割り込み1イベントが発生すると、その内容は、割り込み1イベント情報ブロックに格納され、そのイベントキューが、割り込み1イベントキューに追加される。割り込み2イベントが発生した場合も同様である。そして、割り込み1イベント情報ブロック及び割り込み2イベント情報ブロックに格納されたデータを、通常イベント情報ブロックに移動せずに、割り込みイベントキューの登録を解除し、通常イベントとして再登録する。
【0005】
【発明が解決しようとする課題】
しかし、従来の技術では、システム全体としてのタスク処理速度があがらない。その理由は、タスクをあらかじめスケジューリングすることが出来ないため、タスク処理に必要な資源の解放および確保のオーバーヘッドが発生するためである。
【0006】
又、従来の技術では、小規模なタスクを多量に処理することに向かない。その理由は、小規模なタスクを多量に処理する場合、タスク切り替えのオーバーヘッドが大量に発生するためである。
【0007】
そこで、本発明は、小規模なタスクを多量に処理する場合のタスク切り替えのためのオーバーヘッドの発生を抑制して、タスク処理速度を向上させることを課題としている。
【0008】
【課題を解決するための手段】
上記課題を解決するための本発明は、発生したイベントの識別子を記憶する記憶装置と、前記イベントに基づいてタスクを生成するタスク制御装置と、前記タスクを処理するタスク処理装置とを備えたタスク処理システムであって、前記タスク処理装置は、前記処理が完了したタスクと同一のタスクを生成する前記識別子を検索し、前記処理が完了したタスクと同一のタスクを更に処理する。
また、本発明は、発生したイベントの識別子を記憶する記憶装置と、前記イベントに基づいてタスクを生成するタスク制御装置と、前記タスクを処理するタスク処理装置とを備えたタスク処理システムであって、前記タスク処理装置は、前記タスクを処理した後に、当該処理したタスクに対応するイベントの識別子が前記記憶装置に登録されている否かを検索し、当該検索の結果登録されている場合、前記タスクを処理した際に使用した資源を利用して、前記記憶装置に登録されている識別子のイベントに対応するタスクを処理する。
【0009】
すなわち、本発明においては、発生するイベントの種類に応じたタスクを処理するシステムにおいて、タスク処理完了後に同一種類のイベントが発生しているかどうかをチェックし、発生していた場合、同タスクを引き続き処理することにより、タスク処理に必要な資源の解放および確保のオーバーヘッドを減らし、システム全体のタスク処理速度を上げるようにしている。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明のタスク処理システムのブロック図である。図1に示すように、本発明のタスク処理システムは、割り込み発生装置等のイベント発生装置1と、情報を記憶する記憶装置2と、プログラム制御等により動作するタスク処理装置4、および、発生したイベントに応じてタスク処理装置4を制御するタスク制御装置3とから構成されている。
【0011】
記憶装置2は、イベント発生装置で発生したイベントを記憶するイベント記憶部21とプログラムおよびデータ等のタスク処理に必要な資源を記憶するタスク資源記憶部22とを備えている。イベント記憶部21に記憶されたイベントは、イベントの種類を識別するイベント識別子211を含む。
【0012】
タスク制御装置3は、イベントチェック手段31と、タスク生成手段32と、タスク資源制御手段33とを備える。
【0013】
イベントチェック手段31は、タスク処理装置4でタスク処理が完了すると、完了したタスクと同一のタスクを生成するイベントがイベント記憶部21に登録されているかどうかをチェックする。チェックには、イベント識別子211が使用される。
【0014】
タスク生成手段32は、イベント記憶部21に登録されたイベントに対応したタスクをタスク処理装置4で起動する制御を行う。イベントとタスクの対応付けには、イベント識別子211が使用される。
【0015】
タスク資源制御手段33は、タスク実行開始時の資源の確保、および、タスク実行完了時に資源の解放を行う。
【0016】
イベント記憶部21に登録されたイベントに応じたタスクがタスク生成手段32で生成され、タスク処理装置4で処理される。またこの時、タスク処理に必要な資源がタスク資源管理手段33によってタスク資源記憶部22から読み出され、タスク処理装置4に供給(以下、資源の確保と呼ぶ)される。
【0017】
タスク処理装置4でタスク処理が完了した時点で、イベントチェック手段31により、完了したタスクを生成したイベントと同一種類のイベントがイベント記憶部21に登録されているかが検査される。登録されていない場合、完了したタスクが必要とした資源のうち、タスク資源記憶部22への書き戻しの必要な資源がタスク資源管理手段33により戻される(以下、資源の解放と呼ぶ)。
【0018】
他の種類のイベントがイベント記憶部21に登録されている場合、タスク生成および資源の確保が繰り返される。完了したタスクを生成したイベントと同一種類のイベントがイベント記憶部21に登録されている場合、資源の解放および再確保は行われず、引き続き、同一タスクがタスク処理装置4で処理される。
【0019】
このようにして、同一タスクを連続して実行することにより、異なるタスクを処理する際に必要な資源の解放および確保のオーバーヘッドを減らし、システム全体のタスク処理速度を向上させる。
【0020】
図2は、本発明のタスク処理システムの動作を説明するためのフローチャートである。イベント発生装置1で発生したイベントは、イベント記憶部21に記憶される。記憶には、イベントの種類を示すイベント識別子211が含まれる。
【0021】
まず、イベントチェック手段31は、イベント記憶部21に特定の識別子を持つイベントが記憶されているかどうかをチェックする(ステップA1およびA2)。
【0022】
イベントが記憶されていれば次に、タスク資源管理手段33は、イベント識別子211に対応するタスクに必要な資源をタスク資源記憶部22から読み出し、タスク処理装置4に供給する(ステップA3)。
【0023】
さらに、タスク生成手段32は、タスク処理装置4でイベント識別子211に対応するタスクを起動する(タスクを生成する)。この時、イベント記憶部21からは対応するイベントの記憶が削除される(ステップA4)。
【0024】
イベントチェック手段31は、イベント記憶部21に完了したタスクに対応するイベント識別子211と同じ識別子を持つイベントが記憶されているかをチェックする(ステップA5およびA6)。
【0025】
同じ識別子を持つイベントが記憶されている場合には、ステップA4に戻って、完了したタスクと同じタスクがタスク生成手段32により生成され、イベント記憶部21からは対応するイベントの記憶が削除される。
【0026】
最後に、同じ識別子を持つイベントが記憶されていない場合、タスク資源管理手段33は完了したタスクの使用した資源で解放が必要な資源を、タスク資源記憶部22に書き戻す(ステップA7)。
【0027】
図3は、本発明の他のタスク処理システムのブロック図である。図3の実施形態が図1の実施形態と異なる点は、タスク処理装置4を、タスク処理装置41、42、4Nのように複数台とした点と、記憶装置2に、実行タスク記憶部23を追加した点である。
【0028】
実行タスク記憶部23は、タスク処理装置41、タスク処理装置42、およびタスク処理装置4Nで実行中のタスクを記憶する。実行中タスク記憶部23に記憶されたタスクは、タスクの種類を識別するイベント識別子231を含む。
【0029】
図4は、図3の本発明の他のタスク処理システムの動作を説明するためのフローチャートである。図4には、タスク処理装置の個数に応じたN個のフローチャートが示されているが、これらは、同一のものであり、それぞれ並列に動作する。
【0030】
図4のステップB31からB61で示される本実施例におけるイベントチェック手段31、タスク生成手段32およびタスク資源管理手段33の動作は、図1に示された実施例の各手段31、32および33の動作と同一である。
【0031】
イベント発生装置1で発生したイベントは、イベント記憶部21に記憶される。記憶には、イベントの種類を示すイベント識別子211が含まれる。
【0032】
まず、イベントチェック手段31は、イベント記憶部21に実行中タスク記憶部23に記憶されているタスクのイベント識別子231以外の識別子を持つイベントが記憶されているかどうかをチェックする(ステップB11およびB21)。
【0033】
ステップB41で、タスク生成手段32は、タスク処理装置4でイベント識別子211に対応するタスクを起動する(タスクを生成する)。この時、イベント記憶部21からは対応するイベントの記憶が削除されると同時に、実行中タスク記憶部23に記憶される。
【0034】
最後に、ステップB71で、同じ識別子を持つイベントが記憶されていない場合、タスク資源管理手段33は完了したタスクの使用した資源で解放が必要な資源を、タスク資源記憶部22に書き戻す。また、実行中タスク記憶部23から対応するタスクの記憶が削除される。
【0035】
【発明の効果】
以上説明した本発明によれば、システム全体のタスク処理速度を向上できる。その理由は、タスク処理に必要な資源の解放および確保のオーバーヘッドを削減しているからである。
【0036】
又、本発明によれば、規模の小さなタスクを多量に処理できる。その理由は、規模の小さなタスクを多量に処理する場合には特に、タスク処理の切り替えが発生しても、タスク処理に必要な資源の解放および確保のオーバーヘッドが削減されているため高速にタスクを処理することができるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のタスク処理システムのブロック図
【図2】第1の実施形態のタスク処理システムの動作を説明するためのフローチャート
【図3】本発明の第2の実施形態のタスク処理システムのブロック図
【図4】第2の実施形態のタスク処理システムの動作を説明するためのフローチャート
【図5】従来のキュー処理方式
【符号の説明】
1 イベント発生装置
2 記憶装置
3 タスク制御装置
4、41、42、4N タスク処理装置
21 イベント記憶部
22 タスク資源記憶部
23 実行中タスク記憶部
31 イベントチェック手段
32 タスク生成手段
33 タスク資源管理手段
211、231 イベント識別子
Claims (4)
- 発生したイベントの識別子を記憶する記憶装置と、前記イベントに基づいてタスクを生成するタスク制御装置と、前記タスクを処理するタスク処理装置とを備えたタスク処理システムであって、
前記タスク処理装置は、前記タスクを処理した後に、当該処理したタスクに対応するイベントの識別子が前記記憶装置に登録されている否かを検索し、当該検索の結果登録されている場合、前記タスクを処理した際に使用した資源を利用して、前記記憶装置に登録されている識別子のイベントに対応するタスクを処理することを特徴とするタスク処理システム。 - 前記検索の結果、前記処理が完了したタスクと同一のタスクを生成する前記識別子を見出さない場合には、前記処理が完了したタスクの資源の一部又は全部を前記記憶装置に開放することを特徴とする請求項1記載のタスク処理システム。
- 前記資源を、前記記憶装置から前記タスク制御管理装置を介して前記タスク処理装置に供給した場合には、前記資源を前記記憶装置から削除することを特徴とする請求項2記載のタスク処理システム。
- 前記記憶部は、前記タスク処理装置が実行処理中のタスクの識別子を記憶し、前記タスク制御管理装置は、前記実行処理中のタスクと同一のタスクを生成する前記識別子を検索し、前記実行処理の完了を待って、前記実行処理の完了したタスクと同一のタスクを更に処理することを特徴とする請求項3記載のタスク処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16270299A JP3601677B2 (ja) | 1999-06-09 | 1999-06-09 | タスク処理システム |
US09/588,725 US7234142B1 (en) | 1999-06-09 | 2000-06-07 | Task processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16270299A JP3601677B2 (ja) | 1999-06-09 | 1999-06-09 | タスク処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000353100A JP2000353100A (ja) | 2000-12-19 |
JP3601677B2 true JP3601677B2 (ja) | 2004-12-15 |
Family
ID=15759687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16270299A Expired - Fee Related JP3601677B2 (ja) | 1999-06-09 | 1999-06-09 | タスク処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7234142B1 (ja) |
JP (1) | JP3601677B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912820B2 (en) * | 2003-06-06 | 2011-03-22 | Microsoft Corporation | Automatic task generator method and system |
US20070033247A1 (en) * | 2005-08-02 | 2007-02-08 | The Mathworks, Inc. | Methods and system for distributing data to technical computing workers |
JPWO2007032123A1 (ja) * | 2005-09-14 | 2009-03-19 | パナソニック株式会社 | マルチストリーム復号装置 |
JP4238258B2 (ja) | 2006-08-10 | 2009-03-18 | 株式会社デンソー | 車載電子制御ユニットのタスク管理装置及びタスク管理方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4636946A (en) * | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
US4685125A (en) * | 1982-06-28 | 1987-08-04 | American Telephone And Telegraph Company | Computer system with tasking |
JPH0212529A (ja) | 1988-06-30 | 1990-01-17 | Nec Corp | 共有資源のプロセス間引き継ぎ方式 |
JPH02195453A (ja) * | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
DE69130630T2 (de) * | 1990-09-14 | 1999-09-09 | Hitachi | Synchrones Verfahren und Gerät für Prozessoren |
US5337258A (en) * | 1992-07-10 | 1994-08-09 | Microsoft Corporation | Cost metrics |
JP2561801B2 (ja) | 1993-02-24 | 1996-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロセス・スケジューリングの管理方法およびシステム |
US5437032A (en) * | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
JP3655648B2 (ja) | 1994-03-07 | 2005-06-02 | 富士通株式会社 | プロセススイッチ制御装置およびプロセス制御方法 |
JP2692647B2 (ja) | 1995-05-18 | 1997-12-17 | 日本電気株式会社 | マルチタスク制御方法および制御システム |
CA2258252C (en) * | 1996-06-11 | 2008-04-22 | Edgar F. Codd | Delta model processing logic representation and execution system |
US5867675A (en) * | 1996-08-06 | 1999-02-02 | Compaq Computer Corp | Apparatus and method for combining data streams with programmable wait states |
JPH10143574A (ja) * | 1996-11-08 | 1998-05-29 | Hitachi Ltd | 業務遂行支援システム |
US6512591B1 (en) * | 1997-02-19 | 2003-01-28 | Hewlett-Packard Company | Multiple peripheral support for a single physical port in a host-based printing system |
JPH10326197A (ja) | 1997-05-27 | 1998-12-08 | Sharp Corp | キュー処理方式 |
US6243735B1 (en) * | 1997-09-01 | 2001-06-05 | Matsushita Electric Industrial Co., Ltd. | Microcontroller, data processing system and task switching control method |
JPH11306244A (ja) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US5999990A (en) * | 1998-05-18 | 1999-12-07 | Motorola, Inc. | Communicator having reconfigurable resources |
US6243788B1 (en) * | 1998-06-17 | 2001-06-05 | International Business Machines Corporation | Cache architecture to enable accurate cache sensitivity |
US6338056B1 (en) * | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Relational database extender that supports user-defined index types and user-defined search |
US6678716B1 (en) * | 2000-06-19 | 2004-01-13 | J. D. Edwards World Source Company | System and method for managing processes |
-
1999
- 1999-06-09 JP JP16270299A patent/JP3601677B2/ja not_active Expired - Fee Related
-
2000
- 2000-06-07 US US09/588,725 patent/US7234142B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000353100A (ja) | 2000-12-19 |
US7234142B1 (en) | 2007-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
KR100934533B1 (ko) | 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
JP2561801B2 (ja) | プロセス・スケジューリングの管理方法およびシステム | |
CN101923490B (zh) | 作业调度设备和作业调度方法 | |
WO1999014671A1 (en) | Data processing unit with hardware assisted context switching capability | |
JP4873423B2 (ja) | 仮想化プログラム、シミュレーション装置、仮想化方法 | |
KR20130041540A (ko) | 코루틴을 이용하여 원격 프로시저 호출 서비스를 제공하는 방법 및 장치 | |
US7401335B2 (en) | Single stack kernel | |
JP3601677B2 (ja) | タスク処理システム | |
EP0343646A2 (en) | Task execution control method for a multiprocessor system with enhanced post/wait procedure | |
JP2636722B2 (ja) | マルチタスク実行管理方式 | |
JP2693916B2 (ja) | タスクスケジュール方法 | |
JP2001282560A (ja) | 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
RU2239228C2 (ru) | Способ распределения времени центрального процессора между задачами в автоматизированных системах управления технологическими процессами | |
JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
JP2001101310A (ja) | ワークフローシステムの業務先行処理方法 | |
JPS59146387A (ja) | マルチプロセスにおけるスタツク制御方式 | |
JPH11167494A (ja) | 演算処理装置、及び演算処理装置のレジスタ管理方法 | |
JPH11161506A (ja) | 情報処理装置のディスパッチ方法、情報処理装置及びその記録媒体 | |
JPH10247161A (ja) | メモリ管理方式 | |
JPH06214811A (ja) | スケジューリング方式 | |
CN117850995A (zh) | 一种协程调度方法、装置及存储介质 | |
JP2000132409A (ja) | 待ち状態のないタスクのスタック共有方式 | |
JPH113231A (ja) | ソフトウェア処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040406 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040507 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040915 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071001 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111001 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121001 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |