JPH06332720A - シグナル制御方法 - Google Patents
シグナル制御方法Info
- Publication number
- JPH06332720A JPH06332720A JP11826893A JP11826893A JPH06332720A JP H06332720 A JPH06332720 A JP H06332720A JP 11826893 A JP11826893 A JP 11826893A JP 11826893 A JP11826893 A JP 11826893A JP H06332720 A JPH06332720 A JP H06332720A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- dangerous area
- signal
- flag
- management table
- 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
Links
Abstract
(57)【要約】
【目的】 プロセスが危険領域での処理を実行中にシグ
ナルが到来しても、割り込み処理に制御を渡さずに危険
領域での処理を続行させる。 【構成】 プロセスの処理が危険領域に処理に移るに際
し、そのことを示すフラグをセットし、このフラグによ
ってプロセスを割込み処理に移行させるシグナルをブロ
ックし、危険領域での処理が終了した後に前記フラグを
リセットし、前記シグナルに対するブロックを解除す
る。
ナルが到来しても、割り込み処理に制御を渡さずに危険
領域での処理を続行させる。 【構成】 プロセスの処理が危険領域に処理に移るに際
し、そのことを示すフラグをセットし、このフラグによ
ってプロセスを割込み処理に移行させるシグナルをブロ
ックし、危険領域での処理が終了した後に前記フラグを
リセットし、前記シグナルに対するブロックを解除す
る。
Description
【0001】
【産業上の利用分野】本発明は、オンラインシステムに
おけるシグナル(ソフトウェア割り込み)の制御方法に
関するものである。
おけるシグナル(ソフトウェア割り込み)の制御方法に
関するものである。
【0002】
【従来の技術】オンラインシステム用のオペレーティン
グシステムとして、米国AT&Tベル研究所によって開
発されたTSS用のオペレーティングシステムであるU
NIXが知られている。
グシステムとして、米国AT&Tベル研究所によって開
発されたTSS用のオペレーティングシステムであるU
NIXが知られている。
【0003】このUNIXでは、1つのトランザクショ
ン内の複数のデータベースの操作間で一貫性を保つ必要
があるので、UNIX上のトランザクション処理システ
ムが重要である。
ン内の複数のデータベースの操作間で一貫性を保つ必要
があるので、UNIX上のトランザクション処理システ
ムが重要である。
【0004】このUNIX上のトランザクション処理シ
ステムについは、日経コンピュータ1991年10月7
日号(日経BP社)91ページから106ページに記載
されている。
ステムについは、日経コンピュータ1991年10月7
日号(日経BP社)91ページから106ページに記載
されている。
【0005】ところで、このトランザクション処理シス
テムでは、何等かのイベントが起こっていることをプロ
セスに知らせるための各種のシグナル(ソフトウェア割
込み)が用意されている。
テムでは、何等かのイベントが起こっていることをプロ
セスに知らせるための各種のシグナル(ソフトウェア割
込み)が用意されている。
【0006】
【発明が解決しようとする課題】しかし、プロセスが例
えば管理情報のチェーンの張替えを行っている最中など
のような危険領域での処理実行中にシグナルが発生した
場合のシグナルの制御方法については、規定されていな
い。
えば管理情報のチェーンの張替えを行っている最中など
のような危険領域での処理実行中にシグナルが発生した
場合のシグナルの制御方法については、規定されていな
い。
【0007】このため、プロセスが危険領域で処理を実
行しているときに、そのプロセスにシグナルが到来して
割り込み処理に制御が渡ってしまうと、そのシグナルの
デフォルト動作で処理が終了し、データの一貫性が保て
なくなり、システムダウンになるという問題がある。
行しているときに、そのプロセスにシグナルが到来して
割り込み処理に制御が渡ってしまうと、そのシグナルの
デフォルト動作で処理が終了し、データの一貫性が保て
なくなり、システムダウンになるという問題がある。
【0008】なお、シグナル、危険領域については、U
NIXネットワークプログラミング(W.リチャード.
スティーヴンス著、トッパン発行)の54ページから6
5ページに記載されている。
NIXネットワークプログラミング(W.リチャード.
スティーヴンス著、トッパン発行)の54ページから6
5ページに記載されている。
【0009】本発明の目的は、シグナルが到来しても危
険領域での処理を続行し、システムダウンを防止するこ
とができるシグナル制御方法を提供することにある。
険領域での処理を続行し、システムダウンを防止するこ
とができるシグナル制御方法を提供することにある。
【0010】
【発明が解決するための手段】上記の目的は、プロセス
の処理が危険領域に処理に移るに際し、そのことを示す
フラグをセットし、このフラグによってプロセスを割込
み処理に移行させるシグナルをブロックし、危険領域で
の処理が終了した後に前記フラグをリセットし、前記シ
グナルに対するブロックを解除することによって達成さ
れる。
の処理が危険領域に処理に移るに際し、そのことを示す
フラグをセットし、このフラグによってプロセスを割込
み処理に移行させるシグナルをブロックし、危険領域で
の処理が終了した後に前記フラグをリセットし、前記シ
グナルに対するブロックを解除することによって達成さ
れる。
【0011】
【作用】上記手段によれば、プロセスが危険領域での処
理を開始する前に予めシグナルをブロックするためのフ
ラグをセットする。これによって、危険領域での処理実
行中にシグナルが発生しても、そのシグナルに対する割
り込み処理に制御が渡らなくなるので、危険領域での処
理を継続することができる。
理を開始する前に予めシグナルをブロックするためのフ
ラグをセットする。これによって、危険領域での処理実
行中にシグナルが発生しても、そのシグナルに対する割
り込み処理に制御が渡らなくなるので、危険領域での処
理を継続することができる。
【0012】
【実施例】以下、本発明の一実施例について図面で説明
する。
する。
【0013】図1は本発明を適用したオンラインシステ
ムの一実施例を示すブロック構成図であり、電子計算機
10には端末システム(図示せず)からの要求に従って
トランザクション制御を行うオンライン制御プログラム
11と、トランザクション処理を行う複数の業務プログ
ラム(プロセス)12A〜12Cと、各プロセスごとの
情報が格納されているプロセス管理テーブル13とが設
けられている。
ムの一実施例を示すブロック構成図であり、電子計算機
10には端末システム(図示せず)からの要求に従って
トランザクション制御を行うオンライン制御プログラム
11と、トランザクション処理を行う複数の業務プログ
ラム(プロセス)12A〜12Cと、各プロセスごとの
情報が格納されているプロセス管理テーブル13とが設
けられている。
【0014】図2はプロセス管理テーブル13の格納情
報の例を示すもので、ここではプロセスが危険領域で処
理を実行するときに必要なフィールドのみ示した。
報の例を示すもので、ここではプロセスが危険領域で処
理を実行するときに必要なフィールドのみ示した。
【0015】プロセスID21…プロセスが自分に割当
てられているプロセス管理テーブルを見つけるときに使
用する。
てられているプロセス管理テーブルを見つけるときに使
用する。
【0016】クリティカルフラグ22…プロセスが危険
領域で処理を実行中かどうかを示すフラグ。
領域で処理を実行中かどうかを示すフラグ。
【0017】シグナルマスク23…ブロックしているシ
グナルを示すもので、ブロック対象のシグナル数分のビ
ット列からなり、ブロックしているシグナルに対応する
ビットは“ON”にセットされる。
グナルを示すもので、ブロック対象のシグナル数分のビ
ット列からなり、ブロックしているシグナルに対応する
ビットは“ON”にセットされる。
【0018】図3は、例えばプロセス12Aが危険領域
で処理を実行する時の流れを示すフローチャートあり、
プロセス12Aは危険領域で処理を実行するに際して
は、事前に、危険領域で処理を開始することを宣言する
(ステップ31,32)。
で処理を実行する時の流れを示すフローチャートあり、
プロセス12Aは危険領域で処理を実行するに際して
は、事前に、危険領域で処理を開始することを宣言する
(ステップ31,32)。
【0019】この後に、危険領域での処理を実行し(ス
テップ33)、その危険領域での処理を終了したなら
ば、危険領域での処理が終了したことを宣言して終了す
る(ステップ34,35)。
テップ33)、その危険領域での処理を終了したなら
ば、危険領域での処理が終了したことを宣言して終了す
る(ステップ34,35)。
【0020】図4は、危険領域での処理開始宣言に対し
ての処理の内容を示したフローチャートであり、まず、
自プロセス12Aに割当てられているプロセス管理テー
ブル13のクリティカルフラグ22(初期値OFF)を
ONにセットする(ステップ41,42)。
ての処理の内容を示したフローチャートであり、まず、
自プロセス12Aに割当てられているプロセス管理テー
ブル13のクリティカルフラグ22(初期値OFF)を
ONにセットする(ステップ41,42)。
【0021】このフラグ22がONである場合、プロセ
ス12Aが危険領域での処理を実行中であることを示し
ている。
ス12Aが危険領域での処理を実行中であることを示し
ている。
【0022】次にブロックしたいシグナルの集合を引数
に指定して「sigsetmask」システムコールを
発行する(ステップ43)。このシステムコールを発行
することによってプロセス12Aに対するシグナルはブ
ロックされ、処理を続行することが可能になる。
に指定して「sigsetmask」システムコールを
発行する(ステップ43)。このシステムコールを発行
することによってプロセス12Aに対するシグナルはブ
ロックされ、処理を続行することが可能になる。
【0023】次に、「sigsetmask」システム
コールのリターン値をプロセス管理テーブル13のシグ
ナルマスク23に設定しておく(ステップ44)。
コールのリターン値をプロセス管理テーブル13のシグ
ナルマスク23に設定しておく(ステップ44)。
【0024】図5は、危険領域での処理終了宣言に対す
る処理の内容を示したフローチャートであり、既に危険
領域での処理が終了しているので、自プロセス12Aに
割当てられているプロセス管理テーブル13のクリティ
カルフラグ22をOFFにする(ステップ51,5
2)。
る処理の内容を示したフローチャートであり、既に危険
領域での処理が終了しているので、自プロセス12Aに
割当てられているプロセス管理テーブル13のクリティ
カルフラグ22をOFFにする(ステップ51,5
2)。
【0025】次に、プロセス管理テーブル13のシグナ
ルマスク23の値を引数にして「sigsetmask
システムコール」を発行し、シグナルのブロックを解除
する。
ルマスク23の値を引数にして「sigsetmask
システムコール」を発行し、シグナルのブロックを解除
する。
【0026】なお、「sigsetmask」システム
コールについては、マニュアル「HI−UX/WE2リ
ファレンス2(HITACH)の226ページに記載さ
れている。
コールについては、マニュアル「HI−UX/WE2リ
ファレンス2(HITACH)の226ページに記載さ
れている。
【0027】
【発明の効果】以上の説明から明らかなように本発明に
よれば、プロセスの処理が危険領域に処理に移るに際
し、そのことを示すフラグをセットし、このフラグによ
ってプロセスを割込み処理に移行させるシグナルをブロ
ックし、危険領域での処理が終了した後に前記フラグを
リセットし、前記シグナルに対するブロックを解除する
ようにしたので、プロセスが危険領域で処理を実行中に
シグナルが到来しても、その危険領域での処理を続行
し、システムダウンを防止することができる。
よれば、プロセスの処理が危険領域に処理に移るに際
し、そのことを示すフラグをセットし、このフラグによ
ってプロセスを割込み処理に移行させるシグナルをブロ
ックし、危険領域での処理が終了した後に前記フラグを
リセットし、前記シグナルに対するブロックを解除する
ようにしたので、プロセスが危険領域で処理を実行中に
シグナルが到来しても、その危険領域での処理を続行
し、システムダウンを防止することができる。
【図1】本発明を適用したオンラインシステムの一実施
例を示すブロック構成図である。
例を示すブロック構成図である。
【図2】プロセス管理テーブルの内容の一例を示す説明
図である。
図である。
【図3】プロセスが危険領域で処理を行う時の流れを示
すフローチャートである。
すフローチャートである。
【図4】危険領域での処理開始宣言に対する処理を示す
フローチャートである。
フローチャートである。
【図5】危険領域での処理終了宣言に対する処理を示す
フローチャートである。
フローチャートである。
10…電子計算機、11…オンライン制御プログラム、
12A〜12C…業務プログラム、13…プロセス管理
テーブル、22…クリティカルフラグ。
12A〜12C…業務プログラム、13…プロセス管理
テーブル、22…クリティカルフラグ。
Claims (1)
- 【請求項1】 プロセスの処理が危険領域に処理に移る
に際し、そのことを示すフラグをセットし、このフラグ
によってプロセスを割込み処理に移行させるシグナルを
ブロックし、危険領域での処理が終了した後に前記フラ
グをリセットし、前記シグナルに対するブロックを解除
することを特徴とするシグナル制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11826893A JPH06332720A (ja) | 1993-05-20 | 1993-05-20 | シグナル制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11826893A JPH06332720A (ja) | 1993-05-20 | 1993-05-20 | シグナル制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06332720A true JPH06332720A (ja) | 1994-12-02 |
Family
ID=14732435
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11826893A Pending JPH06332720A (ja) | 1993-05-20 | 1993-05-20 | シグナル制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06332720A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013534346A (ja) * | 2010-08-20 | 2013-09-02 | ファスドットコム カンパニー リミテッド | フック再進入防止装置及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体 |
-
1993
- 1993-05-20 JP JP11826893A patent/JPH06332720A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013534346A (ja) * | 2010-08-20 | 2013-09-02 | ファスドットコム カンパニー リミテッド | フック再進入防止装置及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5369770A (en) | Standardized protected-mode interrupt manager | |
| JPH08297581A (ja) | リアルタイム・オペレーティングシステムにおける割り込み管理方式 | |
| JPS586971B2 (ja) | 演算処理装置 | |
| JPH0588933A (ja) | デバツグ機能を有する並列処理システム | |
| JP2985299B2 (ja) | 排他制御装置 | |
| JPH09146782A (ja) | ジョブ間データ引き継ぎにおける異常発生時の対応方法 | |
| JP3107433B2 (ja) | 電子計算機システムにおけるタスク状態管理方式 | |
| JPS5998256A (ja) | 割込制御装置 | |
| JP3079238B2 (ja) | デバッグ装置 | |
| JPH03240831A (ja) | 割り込み処理方式 | |
| JPH04205144A (ja) | マイクロプロセッサ | |
| JPS6148741B2 (ja) | ||
| JPH02201654A (ja) | タイムシェアリングシステムのブレーク割り込み制御方式 | |
| JPH07287660A (ja) | プログラマブルコントローラの割り込み処理方法 | |
| JPH0341520A (ja) | 割り込み制御方式 | |
| JPH0319574B2 (ja) | ||
| JPH0417530B2 (ja) | ||
| JPH04364545A (ja) | メモリダンプ方法 | |
| JPS62233844A (ja) | 割込み制御方式 | |
| JPS6398040A (ja) | ソフトウエアトラツプ制御方式 | |
| JPH05210559A (ja) | デッドロック回避処理方式 | |
| JPH01214934A (ja) | プログラムの間接再帰呼出し検出方式 | |
| JPS59146341A (ja) | Osのマイクロプログラム制御方式 | |
| JPH04134534A (ja) | タイマランアウト出口呼び出し方法およびその機構 | |
| JPH031268A (ja) | 計算機制御方法 |