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
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はこの時の再処
理管理表を示している。
を共有して処理を実行し、デツドロツク自動解除
方式を有するシステムにおけるデツドロツク発生
時の処理方式に関する。 <従来技術> 従来、複数のタスクが複数のフアイル資源を共
有して処理を実行するデータ処理システムでは、
資源単位の排他制御によりタスク間でデツドロツ
ク状態が発生すると、フアイル更新とともに出力
されている更新前のデータである履歴情報により
バツクアウト処理を行ない、デツドロツク自動解
除を行なつて、即時に自タスクの処理の再実行を
行なつている。通常は上記のような方式によつて
デツドロツクが発生しても再実行をすることによ
り処理が完了している。ところが、第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はこのときの再処理管理表を示している。
ると、表−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
図のような処理のときにデツドロツクが発生して
もデツドロツクおよび再処理とが繰り返されるこ
となく処理が完了する。 <発明の効果> 本発明は以上説明したように、複数のタスクが
複数のフアイル資源をアクセスするとき、資源単
位の排他制御によりデツドロツクが発生しても、
再処理を遅延することにより、デツドロツクおよ
び再処理の繰り返しを回避し、複数のタスクによ
る処理のスループツトを上げることができる。
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:再処理。
れる従来のデータ処理システムにおけるアクセス
順序例を示す図、第2図は本発明の第1の実施例
で、タスクt1,t2の処理の時間的な流れを示す
図、第3図は本発明の第2の実施例で、タスク
t1,t2の処理の時間的な流れを示す図である。 t1,t2:タスク、tx:タイマ処理タスク、P1o,
P2o:フアイルアクセス処理、Dl:デツドロツ
ク、Bo:デツドロツク自動解除処理、W1:待
ち、Iw,Is,Ie:イベント、P1r:再処理。
Claims (1)
- 【特許請求の範囲】 1 複数のタスクが複数のフアイル資源を共有し
て処理を実行するデータ処理システムであつて、
フアイル資源共有のためにデツドロツク検出機構
を持つ資源単位の排他制御機構を備え、この排他
制御機構によりデツドロツク状態の発生を検出し
たときバツクアウトできるようにフアイル更新と
ともに更新前のデータを履歴情報として出力して
おき、タスク間でデツドロツク状態が発生する
と、上記更新前のデータによりバツクアウト処理
を行なつてフアイルを復元しタスクの占有資源を
解放するデツドロツク自動解除方式を備えるシス
テムにおいて、 タスクごとに再処理回数および待ちタスクと待
ちを発生させるタスクのリンク情報を記録する再
処理管理表を設け、タスク間でデツドロツク状態
が発生しデツドロツク自動解除処理が完了すると
前記再処理管理表の再処理回数をカウントアツプ
し、この再処理回数が所定値になると、待ちタス
クと待ちを発生させるタスクのリンク情報を登録
し、待ちタスクを待状態にし、待ちを発生させた
タスクの処理が終了し資源を解放したら前記リン
ク情報により待ちタスクを起動させ、再処理を行
なわせることを特徴とするデツドロツク発生時の
遅延再処理方式。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07271617A (ja) * | 1994-03-30 | 1995-10-20 | Nec Corp | デッドロック再発生防止機能付き復旧方式 |
Family Cites Families (1)
| 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 |
-
1984
- 1984-03-29 JP JP6154484A patent/JPS60205634A/ja active Granted
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) | 一种剧本动态调度与中断的处理方法 |