JPH0452492B2 - - Google Patents

Info

Publication number
JPH0452492B2
JPH0452492B2 JP59061544A JP6154484A JPH0452492B2 JP H0452492 B2 JPH0452492 B2 JP H0452492B2 JP 59061544 A JP59061544 A JP 59061544A JP 6154484 A JP6154484 A JP 6154484A JP H0452492 B2 JPH0452492 B2 JP H0452492B2
Authority
JP
Japan
Prior art keywords
task
deadlock
reprocessing
processing
waiting
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
JP59061544A
Other languages
English (en)
Other versions
JPS60205634A (ja
Inventor
Akira Myajima
Toshihiko Takahashi
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6154484A priority Critical patent/JPS60205634A/ja
Publication of JPS60205634A publication Critical patent/JPS60205634A/ja
Publication of JPH0452492B2 publication Critical patent/JPH0452492B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】
<技術分野> 本発明は、複数のタスクが複数のフアイル資源
を共有して処理を実行し、デツドロツク自動解除
方式を有するシステムにおけるデツドロツク発生
時の処理方式に関する。 <従来技術> 従来、複数のタスクが複数のフアイル資源を共
有して処理を実行するデータ処理システムでは、
資源単位の排他制御によりタスク間でデツドロツ
ク状態が発生すると、フアイル更新とともに出力
されている更新前のデータである履歴情報により
バツクアウト処理を行ない、デツドロツク自動解
除を行なつて、即時に自タスクの処理の再実行を
行なつている。通常は上記のような方式によつて
デツドロツクが発生しても再実行をすることによ
り処理が完了している。ところが、第1図に示す
ように複数のタスクで複数のフアイル資源を異な
る順序でアクセスする処理の場合、デツドロツク
自動解除を行ない再処理をしても、複数のタスク
間で再びデツドロツク状態となる。こうなると、
デツドロツクおよび再処理が複数のタスク間で発
生し、処理が完了しないことになる。 上記の問題点を第1図を参照しながら具体的に
説明する。第1図において、タスクt1,t2が複数
のフアイル資源R1,R2,…Rnをタスクt1では
P11,P12,…の順序でタスクt2ではP21,P22
…,の順序で、それぞれ逆にアクセスする場合、
タスクt1がフアイル資源Rmまでアクセスし排他
保持したとき、タスクt2がフアイル資源Rnから
アクセスしフアイル資源Rmをアクセスすると、
タスクt2は資源単位の排他制御により待ちとな
る。そこでタスクt1がフアイル資源Rn+1をアクセ
スしようとすると、フアイル資源Rn+1はタスクt2
が排他的に保持しているデツドロツクとなり、デ
ツドロツク自動解除が行なわれ再処理を行ない、
タスクt1は再びフアイル資源R1からアクセスす
る。タスクt2は待ちが解除され処理が進むことに
なる。タスクt2がフアイル資源Rn-〓をアクセス
し、排他的に保持したとき、タスクt1がフアイル
資源Rn-〓にアクセスすると待ちとなる。その後、
タスクt2がフアイル資源Rn--1をアクセスすると
フアイル資源Rn--1はタスクt1が排他的に保持し
ているためデツドロツクとなり、タスクt2ではデ
ツドロツク自動解除が行なわれ、再処理を行な
う。タスクt2は再びフアイル資源Roからアクセス
することになる。今度はフアイル資源Rn+〓の資
源で同様なデツドロツクが発生する。このように
複数のタスクt1,t2間でデツドロツクおよび再処
理が繰り返されることになる。こうなつたとき、
従来は複数タスクt1,t2の処理のスループツトが
下がるだけでなく、タスクt1,t2のいずれかの処
理を強制的に止め、再び起動しなければならなか
つた。 <発明の目的> したがつて、本発明の目的は、複数のタスクが
複数のフアイル資源を共有して処理を実行しデツ
ドロツク自動解除方式を有するデータ処理システ
ムにおいて、資源単位の排他制御によりタスク間
でデツドロツク状態が発生したとき、デツドロツ
クおよび再処理が繰り返されて処理が完了しない
ような状態を解決した、デツドロツク発生時の遅
延再処理方式を提供することにある。 <発明の構成> 本発明は、タスクごとに再処理回数および待ち
タスクを発生させるタスクのリンク情報を記録す
る再処理管理表を設け、タスク間でデツドロツク
状態が発生しデツドロツク自動解除処理が完了す
ると前記再処理管理表の再処理回数をカウントア
ツプし、この再処理回数が所定値になると待ちタ
スクと待ちを発生させるタスクのリンク情報を登
録し、待ちタスクを待状態にし、待ちを発生させ
たタスクの処理が終了し資源を解放したら前記リ
ンク情報により待ちタスクを起動させ、再処理を
行なわせるようにしたものである。 <実施例> 以下、本発明の一実施例を図面を参照しながら
説明する。第2図は、本発明の第1の実施例で、
2つのタスクt1,t2の処理の時間的な流れを示し
ている。タスクt1,t2が複数のフアイルアクセス
処理P1o,P2oをしているとき、タスクt1において
デツドロツク状態Dlが発生すると、タスクt1にお
いてはデツドロツク自動解除処理Boが行なわれ
る。デツドロツク自動解除処理Boが完了すると、
再処理管理表のタスク識別子Tidが再処理回数Nr
(処理開始時は初期値0)のうちタスクt1の分を
カウントアツプする。そしてタスク1の再処理回
数Nrは所定値1に等しいので、待ちタスクと待
ちを発生させるタスクのリンク情報Tlkが再処理
管理表に登録され、待ちタスクであるタスクt1
待ち状態W1になる。次の表−1はこの時の再処
理管理表を示している。
【表】 待ちを発生させたタスクt2の処理P2oが完了す
ると、表−1の再処理管理表のリンク情報T1kを
再び参照し、リンクがあるので該タスクt1にイベ
ントIwを発行する。タスクt1はイベントIwによ
り待ち状態W1が解除され起動されて再処理P1r
行なう。このようにして再処理を遅延させること
によつて第1図のような処理のときにデツドロツ
クが発生しても、デツドロツクおよび再処理が繰
り返されることなく処理が完了する。 第3図は本発明の第2の実施例で2つのタスク
t1,t2の処理の時間的な流れを示している。タス
クt1,t2が複数のフアイルアクセス処理P1o,P2o
をしているとき、タスクt1においてデツドロツク
状態Dlが発生すると、タスクt1においてデツドロ
ツク自動解除処理Boが行なわれている。デツド
ロツク自動解除処理Boが完了すると、再処理管
理表のタスク識別子Tidが再処理回数Nr(処理開
始時は初期値0)のうちタスクt1の分をカウント
アツプする。そして、タスク1の再処理回数Nr
は所定値1に等しいので、待ちタスクと待ちを発
生させるタスクのリンク情報Tlkが再処理管理表
に登録され、待ちタスクであるタスクt1が待ち状
態W1になるとともにタイマ処理タスクtxに対し、
タイマセツトのイベントIsを発行する。このとき
のタイマ値は乱数によつて決定される。次の表−
2はこのときの再処理管理表を示している。
【表】 セツトした時間が経過するとタイマ処理タスク
txからタスクt1に対してタイムアツプのイベント
Ieが発行され、タスクt1の待ち状態W1が解除さ
れ、起動されて再処理P1rが行なわれる。このよ
うにして再処理を遅延させることによつて、第1
図のような処理のときにデツドロツクが発生して
もデツドロツクおよび再処理とが繰り返されるこ
となく処理が完了する。 <発明の効果> 本発明は以上説明したように、複数のタスクが
複数のフアイル資源をアクセスするとき、資源単
位の排他制御によりデツドロツクが発生しても、
再処理を遅延することにより、デツドロツクおよ
び再処理の繰り返しを回避し、複数のタスクによ
る処理のスループツトを上げることができる。
【図面の簡単な説明】
第1図はデツドロツク状態と再処理が繰り返さ
れる従来のデータ処理システムにおけるアクセス
順序例を示す図、第2図は本発明の第1の実施例
で、タスクt1,t2の処理の時間的な流れを示す
図、第3図は本発明の第2の実施例で、タスク
t1,t2の処理の時間的な流れを示す図である。 t1,t2:タスク、tx:タイマ処理タスク、P1o
P2o:フアイルアクセス処理、Dl:デツドロツ
ク、Bo:デツドロツク自動解除処理、W1:待
ち、Iw,Is,Ie:イベント、P1r:再処理。

Claims (1)

  1. 【特許請求の範囲】 1 複数のタスクが複数のフアイル資源を共有し
    て処理を実行するデータ処理システムであつて、
    フアイル資源共有のためにデツドロツク検出機構
    を持つ資源単位の排他制御機構を備え、この排他
    制御機構によりデツドロツク状態の発生を検出し
    たときバツクアウトできるようにフアイル更新と
    ともに更新前のデータを履歴情報として出力して
    おき、タスク間でデツドロツク状態が発生する
    と、上記更新前のデータによりバツクアウト処理
    を行なつてフアイルを復元しタスクの占有資源を
    解放するデツドロツク自動解除方式を備えるシス
    テムにおいて、 タスクごとに再処理回数および待ちタスクと待
    ちを発生させるタスクのリンク情報を記録する再
    処理管理表を設け、タスク間でデツドロツク状態
    が発生しデツドロツク自動解除処理が完了すると
    前記再処理管理表の再処理回数をカウントアツプ
    し、この再処理回数が所定値になると、待ちタス
    クと待ちを発生させるタスクのリンク情報を登録
    し、待ちタスクを待状態にし、待ちを発生させた
    タスクの処理が終了し資源を解放したら前記リン
    ク情報により待ちタスクを起動させ、再処理を行
    なわせることを特徴とするデツドロツク発生時の
    遅延再処理方式。
JP6154484A 1984-03-29 1984-03-29 デツドロツク発生時の遅延再処理方式 Granted JPS60205634A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6154484A JPS60205634A (ja) 1984-03-29 1984-03-29 デツドロツク発生時の遅延再処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6154484A JPS60205634A (ja) 1984-03-29 1984-03-29 デツドロツク発生時の遅延再処理方式

Publications (2)

Publication Number Publication Date
JPS60205634A JPS60205634A (ja) 1985-10-17
JPH0452492B2 true JPH0452492B2 (ja) 1992-08-24

Family

ID=13174164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6154484A Granted JPS60205634A (ja) 1984-03-29 1984-03-29 デツドロツク発生時の遅延再処理方式

Country Status (1)

Country Link
JP (1) JPS60205634A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271617A (ja) * 1994-03-30 1995-10-20 Nec Corp デッドロック再発生防止機能付き復旧方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time

Also Published As

Publication number Publication date
JPS60205634A (ja) 1985-10-17

Similar Documents

Publication Publication Date Title
US5274809A (en) Task execution control method for a multiprocessor system with enhanced post/wait procedure
CN101236509B (zh) 用于管理锁的系统和方法
US10140329B2 (en) Processing transactions in a distributed computing system
US8140483B2 (en) Transaction log management
CN101089857A (zh) 一种内存数据库事务管理方法及系统
WO1998003913A1 (en) Method and apparatus for synchronizing transactions in a distributed system
JPH077379B2 (ja) 多重処理システムの割込み選択方式
CN106503001A (zh) 分布式集群环境中的数据更新方法及装置
EP0343646B1 (en) Task execution control method for a multiprocessor system with enhanced post/wait procedure
JPH0452492B2 (ja)
US6427090B1 (en) Requalification controller for durables
CN115292092B (zh) 一种数据回滚方法、装置、设备及其存储介质
JPH04192021A (ja) 集合型装置共有制御装置
KR19980049353A (ko) 분산 트랜잭션의 회복방법
CN121233240B (zh) 数据处理方法、装置、电子设备及存储介质
CN109710690B (zh) 一种业务驱动计算方法及系统
JP3422504B2 (ja) タスク間排他制御方法
JP3005397B2 (ja) デッドロック多発自動回避方式
US6453323B1 (en) Resolving long-busy conditions for synchronized data sets
CN113296966B (zh) 数据处理方法及装置
JPH0527993A (ja) デツドロツク検出処理方式
CN118260296A (zh) 用于多数据源的事务处理方法、控制装置、存储介质及设备
JP2560514B2 (ja) デッドロック抑制方式
CN120762967A (zh) 自动驾驶进程重启的容错方法、装置、电子设备及存储介质
CN121277636A (zh) 一种剧本动态调度与中断的处理方法