JP2590282B2 - システム実行履歴収集処理方式 - Google Patents
システム実行履歴収集処理方式Info
- Publication number
- JP2590282B2 JP2590282B2 JP2027425A JP2742590A JP2590282B2 JP 2590282 B2 JP2590282 B2 JP 2590282B2 JP 2027425 A JP2027425 A JP 2027425A JP 2742590 A JP2742590 A JP 2742590A JP 2590282 B2 JP2590282 B2 JP 2590282B2
- Authority
- JP
- Japan
- Prior art keywords
- history
- queue
- area
- instruction
- execution
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔概要〕 非同期に動作する複数のタスクまたは複数の非同期出
口から構成されるプログラムの実行履歴を,事象の発生
順にメモリ上でキュー管理する計算機システムにおける
システム実行履歴収集処理方式に関し, 比較置換命令による排他制御のみで,簡単にメモリ上
で実行履歴のキューを管理するとができるようにするこ
とを目的とし, メモリ上に記録しておく情報数分の履歴域を接続する
履歴キューと,同時実行可能な非同期出口とタスク数分
用意された未使用または使用済みの履歴域を接続する履
歴バッファキューと,実行履歴の収集要求に対して,前
記履歴バッファキューから履歴域を獲得し,実行履歴を
収集して前記履歴キューに接続するとともに,不要とな
った履歴キュー上の履歴域を,前記履歴バッファキュー
に返却する処理を行う実行履歴収集処理部とを備え,計
算機の比較置換命令による排地制御により,履歴域のキ
ュー管理を行うように構成する。
口から構成されるプログラムの実行履歴を,事象の発生
順にメモリ上でキュー管理する計算機システムにおける
システム実行履歴収集処理方式に関し, 比較置換命令による排他制御のみで,簡単にメモリ上
で実行履歴のキューを管理するとができるようにするこ
とを目的とし, メモリ上に記録しておく情報数分の履歴域を接続する
履歴キューと,同時実行可能な非同期出口とタスク数分
用意された未使用または使用済みの履歴域を接続する履
歴バッファキューと,実行履歴の収集要求に対して,前
記履歴バッファキューから履歴域を獲得し,実行履歴を
収集して前記履歴キューに接続するとともに,不要とな
った履歴キュー上の履歴域を,前記履歴バッファキュー
に返却する処理を行う実行履歴収集処理部とを備え,計
算機の比較置換命令による排地制御により,履歴域のキ
ュー管理を行うように構成する。
本発明は,非同期に動作する複数のタスクまたは複数
の非同期出口から構成されるプログラムの実行履歴を,
事象の発生順にメモリ上でキュー管理する計算機システ
ムにおけるシステム実行履歴収集処理方式に関する。
の非同期出口から構成されるプログラムの実行履歴を,
事象の発生順にメモリ上でキュー管理する計算機システ
ムにおけるシステム実行履歴収集処理方式に関する。
計算機システムの動作状況を後で調べる場合などに,
各種制御テーブルの内容などを実行履歴として収集して
おくことが必要となる。このような実行履歴は,キュー
により,事象の発生順に管理される。この管理を,簡単
な制御で高速に行うことが望まれる。
各種制御テーブルの内容などを実行履歴として収集して
おくことが必要となる。このような実行履歴は,キュー
により,事象の発生順に管理される。この管理を,簡単
な制御で高速に行うことが望まれる。
第9図はキュー管理で用いる比較置換命令の説明図で
ある。
ある。
計算機の命令の1つとして,比較置換(CS:Compare a
nd Swap)命令がある。この命令(以下,CS命令という)
は,第9図に示すように,ある領域91を,複数のタスク
90a,90bなどが更新する場合に使用され,特に,アクセ
ス競合による処理矛盾を防止するために用いられる。
nd Swap)命令がある。この命令(以下,CS命令という)
は,第9図に示すように,ある領域91を,複数のタスク
90a,90bなどが更新する場合に使用され,特に,アクセ
ス競合による処理矛盾を防止するために用いられる。
CS命令は,第1オペランドと第2オペランドとを比較
し,等しければ,第3オペランドを第2オペランドの位
置に格納し,等しくなければ,第2オペランドを第1オ
ペランドの位置に置く命令である。なお,第9図に示す
CS命令の例では,第1オペランドがR0,第2オペランド
がX,第3オペランドがR2である。
し,等しければ,第3オペランドを第2オペランドの位
置に格納し,等しくなければ,第2オペランドを第1オ
ペランドの位置に置く命令である。なお,第9図に示す
CS命令の例では,第1オペランドがR0,第2オペランド
がX,第3オペランドがR2である。
第9図に示す領域90(アドレス=X)の内容“a"を,
タスク90aが“b"に更新しようとし,タスク90bが“a"を
“c"に更新しようとするとき,どちらが先に更新するか
によって結果が変わってくる。そこで,CS命令を使用す
れば,比較と置換を同時に行うので,領域91の内容“a"
が他の値に変わっていたときに,誤った更新を防ぐこと
ができる。
タスク90aが“b"に更新しようとし,タスク90bが“a"を
“c"に更新しようとするとき,どちらが先に更新するか
によって結果が変わってくる。そこで,CS命令を使用す
れば,比較と置換を同時に行うので,領域91の内容“a"
が他の値に変わっていたときに,誤った更新を防ぐこと
ができる。
このCS命令は,特に制御テーブルのロック制御に用い
られたり,領域をキュー管理する場合などのポインタの
更新に用いられたりするが,従来,実行履歴を収集する
ためのキュー管理では,CS命令による排他制御だけで
は,十分な管理はできなかった。
られたり,領域をキュー管理する場合などのポインタの
更新に用いられたりするが,従来,実行履歴を収集する
ためのキュー管理では,CS命令による排他制御だけで
は,十分な管理はできなかった。
第10図は従来技術の問題点説明図である。
非同期に動作する複数のタスクや,複数の非同期出口
から構成させるプログラムの実行履歴として,各タスク
や各非同期出口の動作開始時の情報を,動作開始の契機
となった事象の発生順に,メモリ上でキュー管理しよう
とした場合,以下のような問題がある。
から構成させるプログラムの実行履歴として,各タスク
や各非同期出口の動作開始時の情報を,動作開始の契機
となった事象の発生順に,メモリ上でキュー管理しよう
とした場合,以下のような問題がある。
問題点1:動作開始時の情報を記録する領域が確保できな
かった場合,その情報をメモリ上へ記録できないため,
実行履歴の喪失が発生する。
かった場合,その情報をメモリ上へ記録できないため,
実行履歴の喪失が発生する。
問題点2:動作開始時の情報(動作開始時の情報が記録さ
れた領域)は,動作開始の契機となった事象の発生順に
キューにつながれる。すなわち,キュー上の不特定の位
置につながれるため,新たに動作開始時の情報を記録す
る領域と,既に動作開始時の情報が記録された領域と
を,1つのキューで管理しようとすると,CS命令のみでは
排他制御できない。
れた領域)は,動作開始の契機となった事象の発生順に
キューにつながれる。すなわち,キュー上の不特定の位
置につながれるため,新たに動作開始時の情報を記録す
る領域と,既に動作開始時の情報が記録された領域と
を,1つのキューで管理しようとすると,CS命令のみでは
排他制御できない。
例えば,第10図に示すように,領域92a,92b,93cがこ
の順でキュー管理されているとき,領域92bをキューか
ら外す要求と,新しい領域92dを,領域92bの後に接続す
る要求とが,複数のタスクから非同期に発生したとす
る。
の順でキュー管理されているとき,領域92bをキューか
ら外す要求と,新しい領域92dを,領域92bの後に接続す
る要求とが,複数のタスクから非同期に発生したとす
る。
領域92bをキューから外す場合には,領域92aのポイン
タ部A1を更新するため,ここを対象にCS命令を発行す
る。一方,領域92dをつなぎ込むときには,領域92bのポ
インタ部A2を更新するため,ここを対象にCS命令を発行
する。この2つの要求の処理では,CS命令の対象となる
領域が異なるため,最終的には,領域92a,92d,92cの順
番のキューとなるべきところ,領域92dがキューから外
された後の領域92bに接続されてしまうことがある。
タ部A1を更新するため,ここを対象にCS命令を発行す
る。一方,領域92dをつなぎ込むときには,領域92bのポ
インタ部A2を更新するため,ここを対象にCS命令を発行
する。この2つの要求の処理では,CS命令の対象となる
領域が異なるため,最終的には,領域92a,92d,92cの順
番のキューとなるべきところ,領域92dがキューから外
された後の領域92bに接続されてしまうことがある。
したがって,従来技術では,この問題点2を解決する
ために,オペレーティング・システムが提供する排他制
御用のマクロであるいわゆるENQマクロやLOCKマクロな
どを使用しなければならず,そのマクロ命令によるオー
バヘッドが大きいという問題がある。
ために,オペレーティング・システムが提供する排他制
御用のマクロであるいわゆるENQマクロやLOCKマクロな
どを使用しなければならず,そのマクロ命令によるオー
バヘッドが大きいという問題がある。
本発明は上記問題点の解決を図り,比較置換命令によ
る排他制御のみで,簡単にメモリ上で実行履歴のキュー
を管理することができるようにすることを目的としてい
る。
る排他制御のみで,簡単にメモリ上で実行履歴のキュー
を管理することができるようにすることを目的としてい
る。
第1図は本発明の構成例を示す。
第1図において,10はCPUおよびメモリを備えたデータ
処理装置,11は事象の発生により実行履歴の収集を要求
する実行履歴収集要求部,12は要求により実行履歴を収
集する実行履歴収集処理部,13はメモリ,14は履歴バッフ
ァキューターミナル,15は履歴キューターミナル,16は未
使用または使用済みの履歴域がチェインされる履歴バッ
ファキュー,17は実行履歴を持つ履歴域がチェインされ
る履歴キュー,18a〜18fは実行履歴が格納される履歴域
を表す。
処理装置,11は事象の発生により実行履歴の収集を要求
する実行履歴収集要求部,12は要求により実行履歴を収
集する実行履歴収集処理部,13はメモリ,14は履歴バッフ
ァキューターミナル,15は履歴キューターミナル,16は未
使用または使用済みの履歴域がチェインされる履歴バッ
ファキュー,17は実行履歴を持つ履歴域がチェインされ
る履歴キュー,18a〜18fは実行履歴が格納される履歴域
を表す。
本発明では,非同期に動作する複数のタスクまたは複
数の非同期出口から構成されるプログラムの実行履歴
を,事象の発生順にメモリ13上でキュー管理するため
に,履歴バッファキュー16と履歴キュー17の2つのキュ
ーが用意される。
数の非同期出口から構成されるプログラムの実行履歴
を,事象の発生順にメモリ13上でキュー管理するため
に,履歴バッファキュー16と履歴キュー17の2つのキュ
ーが用意される。
履歴バッファキュー16は,少なくとも同時実行可能な
非同期出口とタスク数分用意された未使用または使用済
みの履歴域18a〜18cを接続するキューである。履歴バッ
ファキューターミナル14は,その先頭アドレスを持つ。
非同期出口とタスク数分用意された未使用または使用済
みの履歴域18a〜18cを接続するキューである。履歴バッ
ファキューターミナル14は,その先頭アドレスを持つ。
履歴キュー17は,メモリ13上に記録しておく情報数分
の履歴域18d〜18fを接続するキューである。履歴キュー
ターミナル15は,その先頭アドレスを持つ。
の履歴域18d〜18fを接続するキューである。履歴キュー
ターミナル15は,その先頭アドレスを持つ。
実行履歴収集処理部12は,実行履歴収集要求部11から
の実行履歴の収集要求に対して,履歴バッファキュー16
から1つの履歴域を獲得し,その履歴域に履歴情報を設
定し,履歴キュー17上で実行履歴を収集するとともに,
最古の不要となった履歴キュー17上の履歴域を,履歴バ
ッファキュー16に返却する処理を行う。
の実行履歴の収集要求に対して,履歴バッファキュー16
から1つの履歴域を獲得し,その履歴域に履歴情報を設
定し,履歴キュー17上で実行履歴を収集するとともに,
最古の不要となった履歴キュー17上の履歴域を,履歴バ
ッファキュー16に返却する処理を行う。
これらの処理において,履歴バッファキュー16または
履歴キュー17から,履歴域の取り外し,つなぎ込みを行
う場合には,実行履歴収集処理部12は,計算機の比較置
換(CS)命令だけによる排他制御を行う。
履歴キュー17から,履歴域の取り外し,つなぎ込みを行
う場合には,実行履歴収集処理部12は,計算機の比較置
換(CS)命令だけによる排他制御を行う。
本発明では,有効な履歴情報が格納されている履歴域
の履歴キュー17と,新しい履歴情報の格納に用いられる
履歴域の履歴バッファキュー16とが,別々に管理され
る。
の履歴キュー17と,新しい履歴情報の格納に用いられる
履歴域の履歴バッファキュー16とが,別々に管理され
る。
履歴バッファキュー16には,常に,ある数の履歴域が
保持されるので,領域が確保できなかったために,実行
履歴が喪失するということがなくなる。
保持されるので,領域が確保できなかったために,実行
履歴が喪失するということがなくなる。
また,1つのキューで履歴域を管理した場合には,履歴
域の取り外しとつなぎ込みの位置的関係により,CS命令
による排他制御のみでは,ポインタに矛盾が生じること
があるが,本発明では,2つのキューで管理しているた
め,履歴域を取り外す処理と,つなぎ込む処理とを,2つ
のキューの間で個別に実行することができ,CS命令によ
る排他制御だけで,事象発生順の履歴域のキュー管理が
可能になる。
域の取り外しとつなぎ込みの位置的関係により,CS命令
による排他制御のみでは,ポインタに矛盾が生じること
があるが,本発明では,2つのキューで管理しているた
め,履歴域を取り外す処理と,つなぎ込む処理とを,2つ
のキューの間で個別に実行することができ,CS命令によ
る排他制御だけで,事象発生順の履歴域のキュー管理が
可能になる。
第2図は本発明の実施例によるキュー管理の例,第3
図は本発明の一実施例処理フロー,第4図は本発明の一
実施例によるサブシステムの動作概要説明図,第5図は
第4図に示すサブシステムにおける事象Eb発生時の動作
例,第6図は第4図に示すサブシステムにおける事象E
a,Ec発生時の動作例,第7図および第8図は第4図に示
すサブシステムにおける記録完了時の動作例を示す。
図は本発明の一実施例処理フロー,第4図は本発明の一
実施例によるサブシステムの動作概要説明図,第5図は
第4図に示すサブシステムにおける事象Eb発生時の動作
例,第6図は第4図に示すサブシステムにおける事象E
a,Ec発生時の動作例,第7図および第8図は第4図に示
すサブシステムにおける記録完了時の動作例を示す。
履歴のメモリ上への記録が開始される前に,第1図に
示す履歴バッファキュー16と履歴キュー17が準備され
る。以下,動作開始時の情報の記録を,第2図に従って
説明する。
示す履歴バッファキュー16と履歴キュー17が準備され
る。以下,動作開始時の情報の記録を,第2図に従って
説明する。
動作開始時の情報の記録は,第2図(イ)に示すよう
に,CS命令を使用して,履歴バッファキューターミナル1
4を参照し,履歴バッファキュー16の先頭の履歴域18を
外すことから始める。
に,CS命令を使用して,履歴バッファキューターミナル1
4を参照し,履歴バッファキュー16の先頭の履歴域18を
外すことから始める。
履歴バッファキュー16には,同時実行可能な非同期出
口とタスク数分の履歴域1がチェインされているため,
各非同期出口または各タスクは,必ず1つの履歴域18
を,履歴バッファキュー16から確保することができる。
口とタスク数分の履歴域1がチェインされているため,
各非同期出口または各タスクは,必ず1つの履歴域18
を,履歴バッファキュー16から確保することができる。
各非同期出口または各タスクは,履歴バッファキュー
16から外した履歴域18に,動作開始の情報を記録した
後,第2図(ロ)に示すように,CS命令を使用して,そ
の履歴域18を,動作開始の契機となった事象の発生順と
なるように,履歴キュー17につなぐ。
16から外した履歴域18に,動作開始の情報を記録した
後,第2図(ロ)に示すように,CS命令を使用して,そ
の履歴域18を,動作開始の契機となった事象の発生順と
なるように,履歴キュー17につなぐ。
次に,第2図(ハ)に示すように,CS命令を使用し
て,履歴キュー17から最後の履歴域18を外す。これらの
操作により,履歴キュー17内の履歴域18を,動作開始の
契機となった事象の発生順に並べることができる。
て,履歴キュー17から最後の履歴域18を外す。これらの
操作により,履歴キュー17内の履歴域18を,動作開始の
契機となった事象の発生順に並べることができる。
最後に,第2図(ニ)に示すように,履歴キュー17か
ら外した履歴域18を,CS命令を使用して,履歴バッファ
キュー16につなぎ直す。
ら外した履歴域18を,CS命令を使用して,履歴バッファ
キュー16につなぎ直す。
なお,自身の動作開始の契機となった事象の発生が,
すでに履歴キュー17につながれているものよりも昔に発
生したものであれば,履歴キュー17へはつながずに,履
歴バッファキュー16につなぐようにする。
すでに履歴キュー17につながれているものよりも昔に発
生したものであれば,履歴キュー17へはつながずに,履
歴バッファキュー16につなぐようにする。
第1図に示す実行履歴収集処理部12の処理は,例えば
第3図に示すように行われる。以下,第3図に示す処理
〜に従って説明する。
第3図に示すように行われる。以下,第3図に示す処理
〜に従って説明する。
まず,レジスタ退避などの初期設定処理を行う。
CS命令により,履歴バッファキュー16の先頭履歴域
18をはずす。
18をはずす。
CS命令が失敗であれば,成功するまで,処理を繰
り返す。
り返す。
履歴バッファキュー16からはずして確保した履歴域
18に,現在の日付と時刻を設定する。
18に,現在の日付と時刻を設定する。
確保した履歴域18に,実行履歴として,指定された
制御テーブルの内容を複写する。
制御テーブルの内容を複写する。
履歴キュー17につながれた履歴域18のうち,履歴域
18に設定した日付,時刻よりも,古い日付,時刻が設定
された履歴域18を探す。
18に設定した日付,時刻よりも,古い日付,時刻が設定
された履歴域18を探す。
古い日付,時刻が設定された履歴域18がなかった場
合,処理へ移る。
合,処理へ移る。
古い日付,時刻が設定された履歴域18かあれば,そ
の履歴域18の前に,制御テーブルの内容を複写した履歴
域18を,CS命令を使用してつなぐ。
の履歴域18の前に,制御テーブルの内容を複写した履歴
域18を,CS命令を使用してつなぐ。
CS命令が失敗であれば,処理へ戻る。
次に,CS命令を使用して,履歴キュー17の最終履歴
域18をはずす。
域18をはずす。
CS命令が失敗であれば,成功するまで,処理を繰
り返す。
り返す。
CS命令を使用して,不要となった履歴域18を,履歴
バッファキュー16の先頭につなぐ。
バッファキュー16の先頭につなぐ。
CS命令が失敗であれば,成功するまで,処理を繰
り返す。
り返す。
レジスタ復元などの終了処理を行い,実行履歴の収
集処理を終了する。
集処理を終了する。
次に,第4図に示すようなサブシステムにおける動作
例を説明する。
例を説明する。
このサブシステムは,第4図に示すように,1つの非同
期出口Cと,2つのタスク20a,20bから構成されるものと
する。履歴として残す情報は,各処理Pa,Pb,Pcが開始さ
れる前の制御テーブルTa,Tb,Tcの内容である。
期出口Cと,2つのタスク20a,20bから構成されるものと
する。履歴として残す情報は,各処理Pa,Pb,Pcが開始さ
れる前の制御テーブルTa,Tb,Tcの内容である。
タスク20aは、このサブシステムの初期化時に,3つの
履歴域18がチェインされた履歴バッファキュー16と,2つ
の履歴域18がチェインされた履歴キュー17を準備する。
履歴域18がチェインされた履歴バッファキュー16と,2つ
の履歴域18がチェインされた履歴キュー17を準備する。
この例では,履歴バッファキューターミナル14および
履歴キューターミナル15は,共通テーブル21内に設けら
れている。
履歴キューターミナル15は,共通テーブル21内に設けら
れている。
サブシステムの初期化完了後,タスク20a,タスク20b
および非同期出口Cは,それぞれ非同期に発生する事象
Ea,Eb,Ecにより,各処理Pa,Pb,Pcを開始する。
および非同期出口Cは,それぞれ非同期に発生する事象
Ea,Eb,Ecにより,各処理Pa,Pb,Pcを開始する。
第5図に示すように,ある時点で事象Ebが発生する
と,タスク20bは,以下の処理(a),(b)を行う。
と,タスク20bは,以下の処理(a),(b)を行う。
(a) 履歴バッファキューターミナル14から,先頭の
履歴域18をはずして,履歴域18を確保する。
履歴域18をはずして,履歴域18を確保する。
(b) 制御テーブルTbの内容を,その履歴域18に記録
する。
する。
さらに事象Ea,Ecが同時に発生したとすると,タスク2
0aおよび非同期出口Cは,同時に履歴バッファキューの
先頭の履歴域18をはずそうとするが,CS命令を使用して
いるため,互いに異なる履歴域18(履歴域,履歴域
)を確保する。
0aおよび非同期出口Cは,同時に履歴バッファキューの
先頭の履歴域18をはずそうとするが,CS命令を使用して
いるため,互いに異なる履歴域18(履歴域,履歴域
)を確保する。
例えば第6図に示すような動作になる。
(c) タスク20aは,CS命令により,履歴バッファキュ
ーから履歴域18を確保する。
ーから履歴域18を確保する。
(d) 履歴域18の確保が成功したならば,制御テーブ
ルTaの内容を記録する。
ルTaの内容を記録する。
(e) 非同期出口Cは,CS命令により,履歴バッファ
キューから履歴域18を確保しようとするが失敗する。
キューから履歴域18を確保しようとするが失敗する。
(f) 非同期出口Cは,再度CS命令により,履歴バッ
ファキューから履歴域18確保する。
ファキューから履歴域18確保する。
(g) その履歴域18に,制御テーブルTcの内容を記録
する。
する。
制御テーブルTcの内容の記録と,制御テーブルTaの内
容の記録が同時に終了すると,非同期出口Cとタスク20
aとは,同時に動作開始の契機となった事象の発生順と
なるように,CS命令を使用して,履歴キューにそれぞれ
の履歴域18をつなぐ。また,履歴キューの先頭に履歴域
18をつなぎ終えると,履歴キューの最後の履歴域18をは
ずす。また,履歴キューからはずされた履歴域18は,非
同期出口Cおよびタスク20aにより,履歴バッファキュ
ーの先頭に戻される。
容の記録が同時に終了すると,非同期出口Cとタスク20
aとは,同時に動作開始の契機となった事象の発生順と
なるように,CS命令を使用して,履歴キューにそれぞれ
の履歴域18をつなぐ。また,履歴キューの先頭に履歴域
18をつなぎ終えると,履歴キューの最後の履歴域18をは
ずす。また,履歴キューからはずされた履歴域18は,非
同期出口Cおよびタスク20aにより,履歴バッファキュ
ーの先頭に戻される。
例えば,第7図に示すような動作になる。
(h) タスク20aは,CS命令により,履歴域18を履歴キ
ューにつなぐ。これが成功する。
ューにつなぐ。これが成功する。
(i) 同様に,非同期出口Cが,CS命令により,履歴
域18をつなごうとするが,失敗する。
域18をつなごうとするが,失敗する。
(j) 非同期出口Cは,CS命令を繰り返すことによ
り,履歴域18を履歴キューにつなぐことに成功する。
り,履歴域18を履歴キューにつなぐことに成功する。
(k) 次に、非同期出口Cは,履歴キューの最後の履
歴域18を,CS命令によりはずす。これが成功する。
歴域18を,CS命令によりはずす。これが成功する。
(l) タスク20aも,同時に履歴キューの最後の履歴
域18をはずそうとするが,CS命令が失敗となる。
域18をはずそうとするが,CS命令が失敗となる。
(m) タスク20aは,再度CS命令により,履歴キュー
の最後の履歴域18をはずす。
の最後の履歴域18をはずす。
その後,事象Eaの発生と同時に,制御テーブルTbの内
容の記録が終了したとする。タスク20bは,履歴キュー
に,制御テーブルTbの内容を記録した履歴域18をつなご
うとするが,事象Ebは,すでに履歴キューにつながれて
いるものよりも昔に発生した事象であるため,履歴キュ
ーにはつながれずに,履歴ハッファキューの先頭に戻
す。例えば,第8図に示すような動作になる。
容の記録が終了したとする。タスク20bは,履歴キュー
に,制御テーブルTbの内容を記録した履歴域18をつなご
うとするが,事象Ebは,すでに履歴キューにつながれて
いるものよりも昔に発生した事象であるため,履歴キュ
ーにはつながれずに,履歴ハッファキューの先頭に戻
す。例えば,第8図に示すような動作になる。
(o) タスク20bは,制御テーブルTbの内容を設定し
た履歴域18が,すでに履歴キューにつながれているもの
よりも昔に発生した事象Ebによるものであるため,履歴
キューにつながないで,履歴バッファキューに返却す
る。このCS命令が成功する。
た履歴域18が,すでに履歴キューにつながれているもの
よりも昔に発生した事象Ebによるものであるため,履歴
キューにつながないで,履歴バッファキューに返却す
る。このCS命令が成功する。
(p) タスク20aは,新しい履歴域18を履歴バッファ
キューから確保しようとして失敗する。
キューから確保しようとして失敗する。
(q) タスク20aは,再度CS命令により,履歴域18を
履歴バッファキューから確保する。
履歴バッファキューから確保する。
以上のように,いかなるタイミングでも,実行履歴を
喪失することなく,CS命令による排他制御のみで,動作
開始時の情報を,動作開始の契機となった事象の発生順
に,メモリ上でキュー管理することができる。
喪失することなく,CS命令による排他制御のみで,動作
開始時の情報を,動作開始の契機となった事象の発生順
に,メモリ上でキュー管理することができる。
以上説明したように,本発明によれば,非同期に動作
する複数のタスクや複数の非同期出口から構成されるプ
ログラムにおいて,簡単な制御により,各タスクや各非
同期出口の動作時の情報を喪失することなく,事象の発
生順に,メモリ上でキュー管理することが可能となる。
する複数のタスクや複数の非同期出口から構成されるプ
ログラムにおいて,簡単な制御により,各タスクや各非
同期出口の動作時の情報を喪失することなく,事象の発
生順に,メモリ上でキュー管理することが可能となる。
第1図は本発明の構成例, 第2図は本発明の実施例によるキュー管理の例, 第3図は本発明の一実施例処理フロー, 第4図は本発明の一実施例によるサブシステムの動作概
要説明図, 第5図は第4図に示すサブシステムにおける事象Eb発生
時の動作例, 第6図は第4図に示すサブシステムにおける事象Ea,Ec
発生時の動作例, 第7図は第4図に示すサブシステムにおける記録完了時
の動作例, 第8図は第4図に示すサブシステムにおける記録完了時
の動作例, 第9図はキュー管理で用いる比較置換命令の説明図, 第10図は従来技術の問題点説明図を示す。 図中,10はデータ処理装置,11は実行履歴収集要求部,12
は実行履歴収集処理部,13はメモリ,14は履歴バッファキ
ューターミナル,15は履歴キューターミナル,16は履歴バ
ッファキュー,17は履歴キュー,18a〜18fは履歴域を表
す。
要説明図, 第5図は第4図に示すサブシステムにおける事象Eb発生
時の動作例, 第6図は第4図に示すサブシステムにおける事象Ea,Ec
発生時の動作例, 第7図は第4図に示すサブシステムにおける記録完了時
の動作例, 第8図は第4図に示すサブシステムにおける記録完了時
の動作例, 第9図はキュー管理で用いる比較置換命令の説明図, 第10図は従来技術の問題点説明図を示す。 図中,10はデータ処理装置,11は実行履歴収集要求部,12
は実行履歴収集処理部,13はメモリ,14は履歴バッファキ
ューターミナル,15は履歴キューターミナル,16は履歴バ
ッファキュー,17は履歴キュー,18a〜18fは履歴域を表
す。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−147243(JP,A) 特開 昭62−182957(JP,A) 特開 昭55−134462(JP,A)
Claims (1)
- 【請求項1】非同期に動作する複数のタスクまたは複数
の非同期出口から構成されるプログラムの実行履歴を,
事象の発生順にメモリ上でキュー管理する計算機システ
ムにおけるシステム実行履歴収集処理方式において, メモリ上に記録しておく情報数分の履歴域を接続する履
歴キュー(17)と, 未使用または使用済みの履歴域を接続する履歴バッファ
キュー(16)と, 実行履歴の収集要求に対して,前記履歴バッファキュー
から計算機の第1の比較置換命令を用いた履歴域の取り
外し処理によって履歴域を獲得し,その履歴域に実行履
歴を収集して前記履歴キューに計算機の第2の比較置換
命令を用いた履歴域のつなぎ込み処理によって接続する
とともに,不要になった履歴キュー上の履歴域を前記履
歴バッファキューに計算機の第1の比較置換命令を用い
た履歴域の取り外し処理および第2の比較置換命令を用
いた履歴域のつなぎ込み処理によって返却する処理を行
う実行履歴収集処理部(12)とを備えた ことを特徴とするシステム実行履歴収集処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2027425A JP2590282B2 (ja) | 1990-02-07 | 1990-02-07 | システム実行履歴収集処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2027425A JP2590282B2 (ja) | 1990-02-07 | 1990-02-07 | システム実行履歴収集処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03231337A JPH03231337A (ja) | 1991-10-15 |
JP2590282B2 true JP2590282B2 (ja) | 1997-03-12 |
Family
ID=12220756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2027425A Expired - Fee Related JP2590282B2 (ja) | 1990-02-07 | 1990-02-07 | システム実行履歴収集処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2590282B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4323745B2 (ja) * | 2002-01-15 | 2009-09-02 | 三洋電機株式会社 | 記憶装置 |
JP3971941B2 (ja) | 2002-03-05 | 2007-09-05 | 三洋電機株式会社 | データ記憶装置 |
JP4387087B2 (ja) | 2002-07-25 | 2009-12-16 | 三洋電機株式会社 | データ記憶装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55134462A (en) * | 1979-04-06 | 1980-10-20 | Nec Corp | Memory control unit |
JPS62182957A (ja) * | 1986-02-07 | 1987-08-11 | Nec Corp | 通信トレ−ス方式 |
JPS63147243A (ja) * | 1986-12-10 | 1988-06-20 | Fuji Electric Co Ltd | マルチプロセツサシステムのトレ−ス情報監視方法 |
-
1990
- 1990-02-07 JP JP2027425A patent/JP2590282B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03231337A (ja) | 1991-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2667039B2 (ja) | データ管理システムおよびデータ管理方法 | |
EP0264568B1 (en) | Serialisation of system events in a multiprocessing system | |
Michael et al. | Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors | |
US6886162B1 (en) | High speed methods for maintaining a summary of thread activity for multiprocessor computer systems | |
US4949251A (en) | Exactly-once semantics in a TP queuing system | |
JP5142995B2 (ja) | メモリページ管理 | |
JP2004062869A (ja) | コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置 | |
US20020138483A1 (en) | Selective pessimistic locking for a concurrently updateable database | |
JPH02228744A (ja) | データ処理システム | |
MX2008001159A (es) | Memoria de transaccion de software de actualizacion directa. | |
US20060004882A1 (en) | Custom Atomic Transactions in Programming Environments | |
US5999935A (en) | Tail compression of a sparse log stream of a multisystem environment | |
US6125393A (en) | System of compressing the tail of a sparse log stream of a multisystem environment | |
JP2590282B2 (ja) | システム実行履歴収集処理方式 | |
JP2821345B2 (ja) | 非同期i/o制御方式 | |
JPH0816881B2 (ja) | データベース更新方法 | |
JP2581141B2 (ja) | ディレイド・ジャーナル・マージ方式 | |
JP3107094B2 (ja) | 共用バッファのロック期間短縮処理方法及び装置 | |
JPH08329019A (ja) | セマフォのデータ管理方式 | |
JP3491379B2 (ja) | 情報処理装置及びトレース情報格納方法 | |
EP1262870A1 (en) | Use of an atomic swap instruction for a shared queue | |
Dritz et al. | Beyond" speedup": Performance analysis of parallel programs | |
JP2526728B2 (ja) | ディスクキャッシュ自動利用方式 | |
KR100630213B1 (ko) | 데이터 저장시스템에서 데이터 버퍼 제어 블록을 이용한로그 우선 출력 프로토콜 수행 방법 | |
Bodorik et al. | Recoverable virtual memory through the multi-view memory computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071205 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081205 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091205 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |