JP2915074B2 - マルチタスク処理システムにおけるイベントデキューイング方法 - Google Patents

マルチタスク処理システムにおけるイベントデキューイング方法

Info

Publication number
JP2915074B2
JP2915074B2 JP12585790A JP12585790A JP2915074B2 JP 2915074 B2 JP2915074 B2 JP 2915074B2 JP 12585790 A JP12585790 A JP 12585790A JP 12585790 A JP12585790 A JP 12585790A JP 2915074 B2 JP2915074 B2 JP 2915074B2
Authority
JP
Japan
Prior art keywords
event
task
processing
order
passed
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 - Lifetime
Application number
JP12585790A
Other languages
English (en)
Other versions
JPH0421134A (ja
Inventor
肇 ▲高▼塚
裕央 藤田
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.)
ENU TEI TEI SOFUTOEA KK
Nippon Telegraph and Telephone Corp
Original Assignee
ENU TEI TEI SOFUTOEA KK
Nippon Telegraph and Telephone 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 ENU TEI TEI SOFUTOEA KK, Nippon Telegraph and Telephone Corp filed Critical ENU TEI TEI SOFUTOEA KK
Priority to JP12585790A priority Critical patent/JP2915074B2/ja
Publication of JPH0421134A publication Critical patent/JPH0421134A/ja
Application granted granted Critical
Publication of JP2915074B2 publication Critical patent/JP2915074B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチタスク処理システムにおいて、同一
種別のイベントの処理の順序性を保証するイベントデキ
ューイング方法に関する。
〔従来の技術〕
キューを使用し、マルチタスクでプログラムが走行す
る計算機システム(マルチタスク処理システム)では、
キューイングされている複数のイベントが別々のタスク
に渡され、即ち、デキューイングされ、同時に処理が実
行される。この場合、従来はイベントをその種別に関係
なくキューイングされた順序に一義的にデキューイング
していた。
従来のイベントデキューイング方法を第2図、第3図
により説明する。第2図はデキューイング前の状態であ
り、キュー1上に、複数のイベント2がA1,A2,B1,…
の順序にデキューイングされている。ここで、A1とA2
A3、あるいはB1B2はそれぞれ同一種別のイベントを示
す。4と5は走行中のタスクである。コントローラ3
は、タスク4,5の状態を監視し、空きタスクがあると、
キュー1上のイベント2を先頭から取り出し、空きタス
クに渡す制御を行うものである。今、タスク4,5がいず
れも空きタスクとした場合、コントローラ3は、まずキ
ュー1上のイベントA1を取り出して例えばタスク4に渡
し、引き続きイベントA2を取り出してタスク5に渡す。
第3図はこのデキューイング後の状態を示したものであ
る。即ち、キュー1上のイベント2は、A1,A2の2個分
ブッシュアップされ、B1が先頭になる。また、キュー1
からデキューイングされたA1,A2はタスク4,5により同
時に実行される。
〔発明が解決しようとする課題〕
プログラムが走行中、同一種別のイベント同士では処
理の順序性が保証される必要がある。しかしながら、上
記従来技術では、イベントをその種別に関係なくキュー
イングされた順序に一義的にデキューイングするので、
マルチタスク環境下では同一種別のイベントについて処
理の順序性が必ず保証されるとは限らなかった。例えば
第2図の例の場合、同一種別のA1,A2,A3はこの順序に
処理を終える必要があるが、先にタスク4に渡されたA1
がI/O処理待ちなどにより待ち状態となると、後にタス
ク5に渡されたA2が先に処理を終了して追い越される可
能性があり、処理の順序性が保証されなくなる。
本発明の目的は、複数のイベントが同時に実行される
マルチタスク処理システムにおいて、同一種別のイベン
ト同士の追い越しを防止し、並列処理と同一種別のイベ
ントの処理順序性の保証とを同時に満たすイベントデキ
ューイング方法を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、イベントの種
別を定義し、キューイングされているイベントを先頭か
ら順番に取り出して空きタスクに渡す時、あるタスクで
処理中のイベントがあると、該イベントと同一種別のイ
ベントはスキップし、異なる種別のイベントを取り出し
て空きタスクに渡すようにしたことである。
〔作用〕
空きタスクが発生して、キューイングされているイベ
ントを先頭から取り出して空きタスクに渡す時、同一種
別のイベントについては、以前に空きタスクに渡された
イベントの処理が完了するまでは取り出しをスキップ
し、それ以降の異なる種別のイベントを先に取り出して
空きタスクに渡し、処理させる。これにより、処理の順
序性を考慮する必要のない異種のイベントは並列に処理
を実行し、同一種別のイベントについては、その順序に
従って処理を実行することが可能になる。
〔実施例〕
以下、本発明の一実施例について図面により説明す
る。
第1図に本発明の一実施例の処理フローを示す。第1
図中、制御表とは、各タスクで処理中のイベントの種別
を管理するテーブルであり、ここでは第2図のコントロ
ーラ3が保持しているとする。
コントローラは、常にタスクの状態を監視しており
(ステップ101)、空きタスクが発生した場合、キュー
上にイベントが存在するかどうか調べる(ステップ10
2)。キュー上にイベントが存在する場合、制御表を参
照して、処理中のタスクに、キューイングされている先
頭のイベントと同一種別のイベントがあるかどうか調べ
る(ステップ103)。そして、同一種別の処理中のイベ
ントがあれば、キューイングされている先頭のイベント
をスキップする(ステップ104)。ここで、キュー上に
次のイベントがなければ(ステップ105)、キューの先
頭に戻り(ステップ106)、キュー上にイベントが到着
するのを待つことになる。
一方、キューイングされているイベントが終りでなけ
れば、スキップした次のイベントについて、再びステッ
プ103の処理を実行する。ここで、該イベントに対し
て、同一種別の処理中のイベントがなければ、該イベン
トを取り出して空きタスクへ渡し、処理させる(ステッ
プ107)。そして、制御表に当該イベントの種別を登録
する(ステップ108)。その後、イベントを渡したタス
クが処理を完了したかどうか監視し(ステップ109)、
処理を完了すれば(ステップ110)、該完了したイベン
トを制御表から削除し(ステップ111)、ステップ101に
戻る。
上記処理を第2図の場合に適用すると、デキューイン
グ後の状態は第4図のようになる。即ち、コントローラ
3は、タスク4,5がいずれも空き状態の場合、まず、キ
ュー1上の先頭のイベントA1を例えば空きタスク4に渡
し処理させる。その時、制御表31にA1の種別(例えば識
別子IDなど)を登録する。次にコントローラ3はキュー
1上の次のイベントA2を空きタスク5に渡そうとする
が、それと同一種別のA1が制御表31に登録されているた
め、A2をスキップし、その次のA1とは異なる種別のイベ
ントB1を空きタスク5に渡して処理させ、制御表31にB1
の種別を登録する。これらの処理と並行してコントロー
ラ3はイベント処理中のタスク4,5を監視し、処理の完
了したものから、そのイベントの種別を制御表31から削
除する。
次に、具体的システムについて本発明と従来のマルチ
タスク処理を比較してみる。
第5図は、センタ計算機10と端末計算機30でデータ通
信を行う際、該センタ計算機10と端末計算機30の間にプ
ロトコル変換等を行う中継計算機20を設置した例であ
る。このような環境下で中継計算機20上のプログラムを
マルチタスクで走行させた場合(本例ではタスクAとタ
スクB)、送信側で送信した電文の順番と受信側で受信
した電文の順番が等しくなるようにするためには、イベ
ントの追越しがあってはならない。
しかるに、従来のマルチタスク処理では、イベントの
追越しが発生する事があった。これを第5図で説明する
と、まず、センタ計算機10より送信された電文が中継計
算機20に到着し、その時の電文の順番は“●,□,△”
であったとする。ところが、●と□が並行に処理される
場合、I/O時間の長さの違いによって、到着した順番と
処理が完了して送信される順番が逆転し、“□,●,
△”となる事があった。これに対し、本発明を適用する
と、第6図に示すように、中継計算機20上のプログラム
をマルチタスクで走行させても、センタ計算機10で送信
した電文の順番送り、端末計算機30で電文が受信され
る。
〔発明の効果〕
以上説明したように、本発明によれば、マルチタスク
でイベント処理を実行する計算機システムにおいて、キ
ュー上のイベントをデキューイングする際、同一種別の
イベントについて、比較的容易に処理の順序性が保証さ
れるようにデキューイングを実行することができ、イベ
ントの並列処理と処理の順序性を同時に満たすことが可
能になる。
【図面の簡単な説明】
第1図は本発明のイベントデキューイング方法を実現す
る処理フローの一例を示す図、第2図は従来及び本発明
の方法を説明するための具体例のデキューイング前の状
態を示す図、第3図は第2図の例について従来のデキュ
ーイング後の状態を示す図、第4図は本発明のデキュー
イング後の状態を示す図、第5図及び第6図は具体的シ
ステムについて従来及び本発明の動作を比較した図であ
る。 1……キュー、2……キューイングイベント、3……コ
ントローラ、31……制御表、4,5……タスク。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−140453(JP,A) 特開 平1−149117(JP,A) 特開 昭56−137462(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/46,12/00 G06F 13/00,13/10,13/12 G06F 15/00,15/16,3/06

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】マルチタスクでプログラムが走行中、処理
    待ちのイベントをキューイングし、該キューイングされ
    ているイベントを先頭から順番に空きタスクに渡すこと
    で、複数のイベントを同時に実行するマルチタスク処理
    システムにおいて、 空きタスクが発生して、キューイングされているイベン
    トを先頭から順番に取り出して空きタスクに渡すとき、
    当該イベントと同一種別のイベントが処理中の他のイベ
    ントに存在するかどうか判定し、存在しなければ、当該
    イベントを空きタスクに渡し、存在すれば、当該イベン
    トを飛ばして、後続の異なる種別のイベントを空きタス
    クに渡すことを特徴とするイベントデキューイング方
    法。
JP12585790A 1990-05-16 1990-05-16 マルチタスク処理システムにおけるイベントデキューイング方法 Expired - Lifetime JP2915074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12585790A JP2915074B2 (ja) 1990-05-16 1990-05-16 マルチタスク処理システムにおけるイベントデキューイング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12585790A JP2915074B2 (ja) 1990-05-16 1990-05-16 マルチタスク処理システムにおけるイベントデキューイング方法

Publications (2)

Publication Number Publication Date
JPH0421134A JPH0421134A (ja) 1992-01-24
JP2915074B2 true JP2915074B2 (ja) 1999-07-05

Family

ID=14920662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12585790A Expired - Lifetime JP2915074B2 (ja) 1990-05-16 1990-05-16 マルチタスク処理システムにおけるイベントデキューイング方法

Country Status (1)

Country Link
JP (1) JP2915074B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09511858A (ja) * 1995-08-18 1997-11-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Osiエージェントにおける要求の並列実行
GB2334117A (en) 1998-02-04 1999-08-11 Ibm Performing semantic concurrency control in dispatching server computer client requests
JP6215779B2 (ja) * 2014-06-10 2017-10-18 東芝テック株式会社 サーバ装置及びプログラム
US11157004B2 (en) * 2019-04-01 2021-10-26 GM Global Technology Operations LLC Real-time control system for a vehicle and a method of executing control of the vehicle via the real-time control system

Also Published As

Publication number Publication date
JPH0421134A (ja) 1992-01-24

Similar Documents

Publication Publication Date Title
EP0442615B1 (en) A communications adapter and method for operating it
US5768572A (en) Timer state control optimized for frequent cancel and reset operations
JP2915074B2 (ja) マルチタスク処理システムにおけるイベントデキューイング方法
JP2004517424A (ja) サーバーアーキテクチャー
JP2636722B2 (ja) マルチタスク実行管理方式
JPH02311932A (ja) 優先制御方式
US5392426A (en) Method and apparatus for use in program operation, control and control block management and storage
JP2001092676A (ja) 組み込みプログラムにおけるタスク管理システム
JPH1196108A (ja) 計算機システム及びバス制御装置
JPH0266640A (ja) デバッガタスクスケジューリング方式
JP2005506629A (ja) 効率的な通信方法及びシステム
JPH0385641A (ja) データ処理優先度制御方式
JPH0421150A (ja) オンライン処理方式
JPH05257888A (ja) インターフェース整合方式
JP2937552B2 (ja) タスク・スケジューリング方式及び方法
JP2867381B2 (ja) トランザクション処理の負荷分散方法
JP3112287B2 (ja) メッセージ管理処理装置
JPH0240723A (ja) メッセージ送受信管理方式
JPH04369752A (ja) スケジュール制御方式
JPH07281975A (ja) データ送受信バッファビジーリトライ方法
JPH0243657A (ja) トランザクション処理スケジュール方式
JPH0535506A (ja) プログラムデイスパツチ処理方式
JPS61101862A (ja) メツセ−ジスケジユ−ル方式
JP2957347B2 (ja) ジョブ実行クラス停止方式
JPH06250910A (ja) メッセージキュー着信管理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20100416

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20110416

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 12