JPH0477931A - 計算機システムのデッドロック防止装置 - Google Patents

計算機システムのデッドロック防止装置

Info

Publication number
JPH0477931A
JPH0477931A JP2190807A JP19080790A JPH0477931A JP H0477931 A JPH0477931 A JP H0477931A JP 2190807 A JP2190807 A JP 2190807A JP 19080790 A JP19080790 A JP 19080790A JP H0477931 A JPH0477931 A JP H0477931A
Authority
JP
Japan
Prior art keywords
access
time
deadlock
shared resource
task
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
JP2190807A
Other languages
English (en)
Inventor
Kiyoyuki Nobeoka
清之 延岡
Kazuaki Onchi
恩地 和明
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2190807A priority Critical patent/JPH0477931A/ja
Publication of JPH0477931A publication Critical patent/JPH0477931A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、複数のタスクで共有資源を使用する必要があ
る各種の計算機システムに利用される計算機システムの
デッドロック防止装置に係わり、特にタスクによる共有
資源のアクセス中に発生するであろうデッドロックを未
然に回避する計算機システムのデッドロック防止装置に
関する。
(従来の技術) 一般に、計算機システムにおいては、ある−連の処理を
複数のタスクで分割し、これらタスクが共有資源を順次
アクセスしながら必要な資源を得ながら、予め定めた役
割分担の下に所定の処理を実行する方式を採っている ところで、各タスクが共有資源を順次アクセスしていく
過程において例えばある共有資源Aをアクセスすべきと
ころを共有資源Bをアクセスするといったごとく、その
手順を間違えたとき他のりスフはその時点から当該共有
資源Aに対するアクセスとしては待ち状態となる。その
結果、]つのタスクの被害が他のタスクにも拡大し、シ
ステム全体が停止し、簡単に復旧できないプツトロック
状態に発展する懸念がある。ここで、デッドロックとは
他のタスクが待ち状態となって動作できなくなることを
いう。
そこで、従来、以上のようなデッドロック状態の発生を
未然に防止する手段としては、各タスクごとに共有資源
に対する排他制御の開始および終了の順序を正確にプロ
グラム設計することが考えられている。
しかし、各タスクごとの完全なプログラム設計は、プロ
グラム設計者がシステム全体の挙動を正確に理解して設
計しなければならないことから極めて困難なことであり
、このため通常の場合には試験時にプログラムの不具合
を少しずつ改良していくようにしているのか実状である
しかも、各タスクごとに共有資源をアクセスするために
複雑な実行条件を設定しているが、実際のオンライン時
に一旦デッドロック状態が発生すると、問題の生したタ
スクたけてなく、他のタスクも停止せざるを得ない。こ
のとき、プツトロックの発生原因を究明するのに多大の
時間と労力を要する。
(発明が解決しようとする課題) 従って、以上のように複雑な実行条件の設定されている
各タスクが共有資源を排他制御しながらアクセスすると
き、たまたま手順の間違えによって共有資源のデッドロ
ックが発生すると、その共有資源をアクセスする他のタ
スクも停止し、システム全体としてデッドロックに陥る
問題がある。
本発明は上記実情にかんがみてなされたもので、共有資
源のアクセス中にデッドロックが発生する状態となった
ときそのアクセスを解除することにより、デッドロック
現象の発生を未然に回避し、被害を最小限に抑制する計
算機システムのデッドロック防止装置を提供することを
目的とする。
[発明の構成コ (課題を解決するための手段) 本発明に係わる計算機システムのデッドロック防止装置
は上記課題を解決するために、複数のタスクが設けられ
、これらタスク間で複数の共有資源を排他制御しながら
アクセスする計算機システムにおいて、タスクによる共
有資源のアクセス経過時間を計測するアクセス時間計測
手段と、このアクセス時間計測手段によって得られた現
在のアクセス経過時間が予め設定されたアクセスリミッ
ト時間を越えたとき、当該タスクのアクセスを強制的に
終了させるアクセス強制終了手段と、前記アクセス時間
計測手段によって得られたアクセス経過時間に基づいて
適正なアクセスリミット時間に更新するアクセスリミッ
ト時間学習手段とを備え、共有資源のアクセス中でのデ
ッドロック現象を回避する構成である。
(作用) 従って、本発明は以上のような手段を講じたことにより
、アクセスリミット時間学習手段にて共有資源のアクセ
ス終了毎にアクセスリミット時間を学習して例えば一定
期間経過後にメモリ内のアクセスリミット時間を更新す
る。その後、タスクにより新たなアクセスが開始された
とき、アクセス強制終了手段はアクセス時間計測手段に
よって得られた現在アクセス経過時間が前記アクセスリ
ミット時間を越えたとき、該当タスクのアクセスを強制
的に終了させて他のタスクにアクセスを解放することに
より、他のタスクの実行条件が緩和され、デッドロック
現象を未然に回避することができる。一方、アクセスリ
ミット時間学習手段ではアクセスリミット時間を越えた
ことに基づいて前記アクセスリミット時間に適宜な値を
加算し最適なアクセスリミット時間を設定するものであ
る。
(実施例) 以下、本発明の実施例について図面を参照して説明する
。第1図は本発明の一実施例の構成を示すブロック図で
ある。同図において1は計算機システムにおけるリアル
タイムオベレーティングシステムであって、このシステ
ム1は各タスク2゜・・・相互間の占有排他制御条件等
の実行条件が記憶され、この記憶内容に基づいて排他制
御を行いながらデッドロック制御部3を介して他の共有
資源4をアクセスする機能をもっている。
前記デッドロック制御部3はデッドロック現象が発生し
ないように、さらにデッドロック現象が発生しそうなと
きにその影響を最小限に抑えるための機能を有する一種
のタスクで構成されている。
このデッドロック制御部3には、各共有資源4にそれぞ
れ対応して独立の制御用メモリブロック5、・・・の他
、共有資源4のデッドロックが発生したときそのタスク
名その他の各種の状態を格納し、後の要因解析に供する
補助記憶装置6が設けられている。
この制御用メモリブロック5にはアクセス開始時刻を記
憶するアクセス開始時刻メモリ51、アクセスリミット
時間を記憶するアクセスリミット時間メモリ52および
アクセスリミット値の学習値を記憶するアクセスリミッ
ト学習時間メモリ53が設けられている。
一方、前記デッドロック制御部3は、機能的には共有資
源4のアクセス時、そのアクセス開始時刻メモリ51の
アクセス開始時刻から現在までのアクセス経過時間を求
めるアクセス時間計測手段31と、このアクセス時間計
測手段3]によって得られたアクセス経過時間が逐次更
新設定されるアクセスリミット時間を越えたとき当該タ
スクによる共有資源4のアクセスを強制終了させるアク
セス強制終了手段32と、前記アクセス時間計測手段3
1によって得られたアクセス経過時間かアクセスリミッ
ト時間を越えたとき、最適な、アクセスリミット時間を
学習し前記アクセスリミット時間を更新登録するアクセ
スリミット時間学習手段32とによって構成されている
次に、排他制御の実行中にオペレーティングシステム1
から他の共有資源4に対しアクセス開始要求があった場
合とアクセス中のタスクに対するアクセス終了要求があ
った場合とに分けて、デッドロック制御部3の動作流れ
について説明する。
(1) アクセス開始要求があったとき(第2図参照)
今、オペレーティングシステム1から他の共有資源4に
ついてアクセス開始要求が有ると、デッドロック制御部
3では、過去にアクセスされた全ての共有資源4に対し
て現在アクセス中の共有資源4があるか否かを調べ(ス
テップS1)、現在アクセス中の共有資源4が存在しな
い場合には今回アクセスを開始する共有資源4に対応す
るアクセス開始時刻メモリ51にアクセス開始時刻TO
を設定しくステップS8)、該当共有資源4に対するア
クセスを開始要求を終了する。
一方、ステップS1において他の共有資源4についてア
クセス中のものが存在する場合、アクセス時間計測手段
31ではそれら共有資源4の各々について制御メモリブ
ロック5のアクセス開始時刻メモリ51の開始時刻TO
から現在までのアクセス経過時間Tを求める(ステップ
S2)。
しかる後、アクセス強制終了手段32ではステップS3
においてアクセスリミット時間メモリ52からアクセス
リミット時間TLを読み出した後、前記アクセス経過時
間Tがアクセスリミット時間TLを越えているか否かを
判断する(ステップS4)。ここで、アクセス経過時間
Tが未だ越えていない場合にはデッドロックの可能性な
しと判断してステップS8に移行し、今回アクセスする
共有資源4に対応するアクセス開始時刻メモリ51にア
クセス開始時刻Toを設定する(ステップS8)。
さらに、ステップS4においてアクセス経過時間Tがア
クセスリミット時間TLを越えていると判断したとき、
排他制御に何らかの支障か生じ共有資源4にデッドロッ
クの発生可能性有りと判断したとき、該当制御メモリブ
ロック5およびアクセス中のタスク2の名称等を適宜編
集した後前記補助記憶装置6に格納する。この補助記憶
装置6に名称等を格納する理由は後でデッドロックの可
能性あるタスク2および共有資源4の要因解析に行うた
めである。
しかる後、アクセス強制終了手段32は、ステツブS6
において該当タスクに対する強制終了要求信号をオペレ
ーティングシステム第1に送出する。ここで、オペレー
ティングシステム1またはアクセス強制終了手段32に
て該当タスクを強制的に終了させた後、さらにアクセス
リミット時間学習手段33では該当共有資源4のアクセ
スリミット時間TLに一定比率N1%程度の時間を加算
して新しいアクセスリミット時間TLとしてアクセスリ
ミット時間メモリ52に格納し、また前回のアクセスリ
ミット時間TLをアクセスリミット学習時間TAとして
アクセスリミット学習時間メモリ53に格納する(ステ
ップS7)。しかる後、ステップS8に移行し、ここで
今回新たにアクセスを開始した共有資源4に対応するア
クセス開始時刻メモリ51にアクセス開始時刻TOを設
定し、この動作手順を終了する。
(2) アクセス開始要求があったとき(第3図参照)
オペレーティグシステム1から共有資源4についてアク
セス終了要求があると、デッド口・ツク制御部3のアク
セス時間計測手段3]はステップSllにてアクセス終
了対象となる共有資源4に対応する制御メモリブロック
5のアクセス開始時刻メモリ51から開始時刻Toを読
み出す一方、オペレーティングシステム]または内部の
時計装置から現在時刻T1を得、(T、−To)なる演
算によって今回のアクセス時間Tsを算出する。
しかる後、今回のアクセス時間Tsに基づいて以下の条
件の下にアクセスリミット時間TLを学習し、アクセス
リミット時間メモリ52に格納する。
すなわち、アクセスリミット時間TLの学習は、共有資
源4の初期作成時にある一定のアクセスリミット時間T
Lをアクセスリミット時間メモリ52に設定した後、計
算機システムの稼働から一定期間(例えば10間)周期
で、 アクセス時間Ts 〉アクセスリミット学習時間TA の関係が成立したとき、アクセス時間Tsをアクセスリ
ミット学習時間TAとしてアクセスリミット学習メモリ
53に格納する。そして、前記一定期間終了後、アクセ
スリミット学習時間TAに一定比率N2%程度の時間を
加算し、これを新しいアクセスリミット時間TLとして
アクセスリミット時間メモリ52に格納する(スリット
S2)。
従って、以上のように構成された実施例の構成によれば
、オペレーティングシステム1からのアクセス開始後、
デッドロック制御部3で共有資源4の経過時間Tを監視
し、この経過時間Tが共有資源4毎のアクセスリミット
時間TLを越えると、そのアクセス中のタスク2を強制
終了させることにより、共有資源4のアクセスを解除し
、他のタスク2に該当共有資源4が解放することにより
、計算機システム全体が正常な動作を維持でき、大規模
なシステムデッドロック状態に陥るのを未然に防止する
ことができる。また、各共有資源4の経過時間とアクセ
スリミット時間とを比較し、−定期間ごとにアクセスリ
ミット時間を更新することにより、各共有資源4のアク
セスリミット時間を適切に設定できる。さらに、各共有
資源4の経過時間がアクセスリミット時間TLを越えた
とき、当該共有資源4の制御メモリブロック、アクセス
中のタスク名等の情報を補助記憶装置6に記憶するので
、後にその異常時の情報を容易に解析でき、ひいては異
常原因の究明を速やかに行え、システムの開発作業を効
率よく行うことができる。
なお、本発明はその要旨を逸脱しない範囲で種々変形し
て実施できる。
[発明の効果コ 以上説明したように本発明によれば、予め各共有資源の
アクセスリミット時間を設定し、共有資源のアクセス開
始時刻からの経過時間が対象共有資源のアクセスリミッ
ト時間を越えたとき、アクセス中のタスクを強制終了さ
せ、他のタスクに共有資源を解放するので、計算機シス
テムにおけるデッドロック現象の発生を未然に防止でき
る。
【図面の簡単な説明】
第1図ないし第3図は本発明に係わる計算機システムの
デッドロック防止装置の実施例を説明するために示した
もので、第1図は本発明装置の一実施例を示すブロック
構成図、第2図はオペレ−ティングシステムからアクセ
ス開始要求かあったときの動作流れ図、第3図はオペレ
ーティングシステムからアクセス終了要求があったとき
の動作流れ図である。 1・・・オペレーティングシステム、2・・・タスク、
3・・デッドロック制御部、4・・・ファイルその他の
共有資源、5・・・制御メモリブロック、6・・・補助
記憶装置、31・・・アクセス時間計測手段、32・・
・アクセス強制終了手段、33・・アクセスリミット時
間学習手段、51・・・アクセス開始時刻メモリ、52
・・・アクセスリミット時間メモリ、53・・・アクセ
スリミット学習時間メモリ。 出願人代理人 弁理士 鈴江武彦 園−一〜・ 第1図

Claims (1)

  1. 【特許請求の範囲】 複数のタスクが設けられ、これらタスク間で複数のファ
    イルその他の資源(以下、共有資源と総称する)を排他
    制御しながらアクセスする計算機システムにおいて、 タスクによる共有資源のアクセス経過時間を計測するア
    クセス時間計測手段と、 このアクセス時間計測手段によって得られた現在のアク
    セス経過時間が予め設定されたアクセスリミット時間を
    越えたとき、当該タスクのアクセスを強制的に終了させ
    るアクセス強制終了手段と、前記アクセス時間計測手段
    によって得られたアクセス経過時間に基づいて適正なア
    クセスリミット時間に更新するアクセスリミット時間学
    習手段と を備え、共有資源のアクセス中でのデッドロツク現象を
    回避することを特徴とする計算機システムのデッドロッ
    ク防止装置。
JP2190807A 1990-07-20 1990-07-20 計算機システムのデッドロック防止装置 Pending JPH0477931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2190807A JPH0477931A (ja) 1990-07-20 1990-07-20 計算機システムのデッドロック防止装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2190807A JPH0477931A (ja) 1990-07-20 1990-07-20 計算機システムのデッドロック防止装置

Publications (1)

Publication Number Publication Date
JPH0477931A true JPH0477931A (ja) 1992-03-12

Family

ID=16264077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2190807A Pending JPH0477931A (ja) 1990-07-20 1990-07-20 計算機システムのデッドロック防止装置

Country Status (1)

Country Link
JP (1) JPH0477931A (ja)

Similar Documents

Publication Publication Date Title
JPH04229355A (ja) データアクセス方法及びデータ処理システム
JP2814691B2 (ja) 推論方法に基づく故障診断方法
JP2526688B2 (ja) プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
US20070028240A1 (en) Information processing method and information processing apparatus for processing a plurality of threads
EP0883061A1 (en) Debugging method for a microcomputer system and recording medium on which debug program is recorded
JPH0477931A (ja) 計算機システムのデッドロック防止装置
JP3781007B2 (ja) 計算機間のデータ引き継ぎ方法
JP3389745B2 (ja) プログラムの性能測定装置と方法
JP2004185345A (ja) デバッグ方法およびシステム
JPS58181160A (ja) 緊急動作制御方式
JP2980610B2 (ja) トランザクション管理装置
CN119201842A (zh) 一种数据迁移过程中的校验方法、装置、设备以及介质
KR100222620B1 (ko) 다중 프로그램의 다운로드 방법
JPH04225442A (ja) コンピュータファイルシステムの整合性検査方式
JPH04190434A (ja) データベース管理装置及びデータベース管理方法
JP3189804B2 (ja) データバックアップ方法および装置
JP2019125134A (ja) 検証支援プログラム、検証支援方法、および情報処理装置
JPH05143422A (ja) 更新後ジヤーナル管理方式
JP2002251299A (ja) プログラムトレース装置
JPS62163142A (ja) コンピユ−タプログラムを修正するための装置
CN115794693A (zh) 一种gpio接口控制方法、系统、存储介质以及设备
JP2926873B2 (ja) 計算機システム
JP2000267866A (ja) 2段式プロセスの終了状態獲得装置
JPS62103701A (ja) シ−ケンス制御装置の再起動制御方法
JPH06324893A (ja) メモリチェック方法