JPH064321A - 割り込み管理方式 - Google Patents
割り込み管理方式Info
- Publication number
- JPH064321A JPH064321A JP4184644A JP18464492A JPH064321A JP H064321 A JPH064321 A JP H064321A JP 4184644 A JP4184644 A JP 4184644A JP 18464492 A JP18464492 A JP 18464492A JP H064321 A JPH064321 A JP H064321A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- system call
- processing
- call
- handler
- 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)【要約】
【目的】 割り込み禁止時間を最小限にするとともに、
割り込みの処理を速やかに実行することができる割り込
み管理方式を提供する。 【構成】 システム・コール処理中に割り込みが発生し
たとき、この割り込みが前記システム・コールを使用す
るものである場合は、そのシステム・コールの処理の終
了を待って割り込みを実行し、また、この割り込みが前
記システム・コールを使用しないものである場合は、割
り込みを直ちに実行する。処理中のシステム・コールは
システム・コール処理中フラグ12に表示し、割り込みで
使用するシステム・コールが処理中のシステム・コール
と同一である場合は、割り込みの処理は、従来方式と同
程度に遅延されるが、それ以外の場合には、割り込みの
処理は直ちに実行される。
割り込みの処理を速やかに実行することができる割り込
み管理方式を提供する。 【構成】 システム・コール処理中に割り込みが発生し
たとき、この割り込みが前記システム・コールを使用す
るものである場合は、そのシステム・コールの処理の終
了を待って割り込みを実行し、また、この割り込みが前
記システム・コールを使用しないものである場合は、割
り込みを直ちに実行する。処理中のシステム・コールは
システム・コール処理中フラグ12に表示し、割り込みで
使用するシステム・コールが処理中のシステム・コール
と同一である場合は、割り込みの処理は、従来方式と同
程度に遅延されるが、それ以外の場合には、割り込みの
処理は直ちに実行される。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータ処理のマ
ルチタスク・オペレーティングシステムにおいて、シス
テム・コール処理中の割り込みを管理する割り込み管理
方式に関し、特に、割り込みの速やかな処理を可能にし
たものである。
ルチタスク・オペレーティングシステムにおいて、シス
テム・コール処理中の割り込みを管理する割り込み管理
方式に関し、特に、割り込みの速やかな処理を可能にし
たものである。
【0002】
【従来の技術】マルチタスク・オペレーティングシステ
ムでは、コンピュータの処理において、複数のタスクの
処理を並行して遂行する。
ムでは、コンピュータの処理において、複数のタスクの
処理を並行して遂行する。
【0003】このシステムでは、システム・コール処理
中に、装置や機器の誤動作、入出力機器からの要求、コ
ンソールからのオペレータによる介入要求等の各種の要
因に基づく割り込みの要求が行なわれた場合に、システ
ム・コールの処理の終了まで割り込み要求の受付を禁止
する方式や割り込み要求を直ちに受付け、システム・コ
ールの処理終了後に割り込み処理を行なう方式等が従来
から採られている。
中に、装置や機器の誤動作、入出力機器からの要求、コ
ンソールからのオペレータによる介入要求等の各種の要
因に基づく割り込みの要求が行なわれた場合に、システ
ム・コールの処理の終了まで割り込み要求の受付を禁止
する方式や割り込み要求を直ちに受付け、システム・コ
ールの処理終了後に割り込み処理を行なう方式等が従来
から採られている。
【0004】後者の方式は、割り込み禁止時間を短縮す
るために前者の方式を改良したものであり、図6に示す
ように、オペレーティングシステムの管理データのブロ
ック6と、割り込みの管理情報を格納する制御ブロック
7、8、9とを設け、オペレーティングシステムの管理
データ6には、先頭の割り込みの制御ブロック7をポイ
ントする先頭ポインタ61を格納し、また、割り込みの管
理情報の制御ブロック7〜9には、割り込みのハンドラ
アドレス72、82、92と、次に発生した割り込みの制御ブ
ロックをポイントする後方ポインタ71、81、91とを格納
している。
るために前者の方式を改良したものであり、図6に示す
ように、オペレーティングシステムの管理データのブロ
ック6と、割り込みの管理情報を格納する制御ブロック
7、8、9とを設け、オペレーティングシステムの管理
データ6には、先頭の割り込みの制御ブロック7をポイ
ントする先頭ポインタ61を格納し、また、割り込みの管
理情報の制御ブロック7〜9には、割り込みのハンドラ
アドレス72、82、92と、次に発生した割り込みの制御ブ
ロックをポイントする後方ポインタ71、81、91とを格納
している。
【0005】この割り込み管理方式におけるタイミング
・チャートは、図7に示す通りである。
・チャートは、図7に示す通りである。
【0006】タスクAからシステム・コールAが発行さ
れると(イベント71)、オペレーティングシステムは、
システム・コールAの処理を実行する。システム・コー
ルAの処理中に割り込みが発生すると(イベント72)、
オペレーティングシステムは、割り込みの制御ブロック
7に割り込みのハンドラアドレス72を格納し、オペレー
ティングシステムの管理データ6の中の先頭ポインタ61
に制御ブロック7をポイントし、制御ブロック7の後方
ポインタ71にendをポイントする。
れると(イベント71)、オペレーティングシステムは、
システム・コールAの処理を実行する。システム・コー
ルAの処理中に割り込みが発生すると(イベント72)、
オペレーティングシステムは、割り込みの制御ブロック
7に割り込みのハンドラアドレス72を格納し、オペレー
ティングシステムの管理データ6の中の先頭ポインタ61
に制御ブロック7をポイントし、制御ブロック7の後方
ポインタ71にendをポイントする。
【0007】この状態になると、割り込み禁止が解除さ
れ、次の割り込みが可能になる。2番目の割り込みが発
生した場合には、その割り込みのハンドラアドレスが制
御ブロック8に格納され、制御ブロック7の後方ポイン
タ71が制御ブロック8をポイントし、制御ブロック8の
後方ポインタ81がendをポイントするように、後方ポ
インタの更新が行なわれる。
れ、次の割り込みが可能になる。2番目の割り込みが発
生した場合には、その割り込みのハンドラアドレスが制
御ブロック8に格納され、制御ブロック7の後方ポイン
タ71が制御ブロック8をポイントし、制御ブロック8の
後方ポインタ81がendをポイントするように、後方ポ
インタの更新が行なわれる。
【0008】さて、図7のタイミング・チャートにおい
て、システム・コールAの処理が終了すると(イベント
73)、オペレーティングシステムは、先頭の制御ブロッ
ク7に格納されているハンドラアドレス72を起動する。
この起動により、割り込み直前のCPU情報を記憶した
り、割り込みの種類を判定して割り込みの要因に対する
処理等を行なう割り込みハンドラが実行され、割り込み
ハンドラでシステム・コールAまたはBが発行されると
(イベント74)、オペレーティングシステムは、システ
ム・コールAまたはBを起動する。
て、システム・コールAの処理が終了すると(イベント
73)、オペレーティングシステムは、先頭の制御ブロッ
ク7に格納されているハンドラアドレス72を起動する。
この起動により、割り込み直前のCPU情報を記憶した
り、割り込みの種類を判定して割り込みの要因に対する
処理等を行なう割り込みハンドラが実行され、割り込み
ハンドラでシステム・コールAまたはBが発行されると
(イベント74)、オペレーティングシステムは、システ
ム・コールAまたはBを起動する。
【0009】起動されたシステム・コールAまたはBの
処理が終了すると(イベント75)、割り込みハンドラに
復帰して、割り込み直前の状態に戻すための処理が行な
われ、その処理の終了後に(イベント76)、タスクAに
復帰する。
処理が終了すると(イベント75)、割り込みハンドラに
復帰して、割り込み直前の状態に戻すための処理が行な
われ、その処理の終了後に(イベント76)、タスクAに
復帰する。
【0010】
【発明が解決しようとする課題】しかし、この従来の割
り込み管理方式では、割り込み禁止時間は短くなるもの
の、割り込みの実際の処理はシステム・コール処理終了
まで遅延されるという問題がある。
り込み管理方式では、割り込み禁止時間は短くなるもの
の、割り込みの実際の処理はシステム・コール処理終了
まで遅延されるという問題がある。
【0011】本発明は、このような従来の問題点を改善
するものであり、割り込み禁止時間を最小限にするとと
もに、割り込みの処理を速やかに実行することができる
割り込み管理方式を提供することを目的としている。
するものであり、割り込み禁止時間を最小限にするとと
もに、割り込みの処理を速やかに実行することができる
割り込み管理方式を提供することを目的としている。
【0012】
【課題を解決するための手段】そこで、本発明の割り込
み管理方式では、システム・コール処理中に割り込みが
発生したとき、この割り込みが前記システム・コールを
使用するものである場合は、そのシステム・コールの処
理の終了を待って割り込みを実行し、また、この割り込
みが前記システム・コールを使用しないものである場合
は、割り込みを直ちに実行することとしている。
み管理方式では、システム・コール処理中に割り込みが
発生したとき、この割り込みが前記システム・コールを
使用するものである場合は、そのシステム・コールの処
理の終了を待って割り込みを実行し、また、この割り込
みが前記システム・コールを使用しないものである場合
は、割り込みを直ちに実行することとしている。
【0013】また、前記割り込みが発生したとき、その
割り込みにおいて使用するシステム・コールを表示する
フラグをテーブルに登録し、このフラグと処理中のシス
テム・コールを表示するフラグとを比較することによっ
て、割り込みの実行の時期を決めている。
割り込みにおいて使用するシステム・コールを表示する
フラグをテーブルに登録し、このフラグと処理中のシス
テム・コールを表示するフラグとを比較することによっ
て、割り込みの実行の時期を決めている。
【0014】
【作用】そのため、割り込みにおいて使用するシステム
・コールが処理中のシステム・コールと同一である場
合、すなわち、割り込みにおいて使用する資源が現在使
用中の資源と同一である場合には、資源の干渉を生ずる
虞れがあるため、割り込みの処理は、従来方式と同程度
に遅延されるが、それ以外の場合には、割り込みの処理
が直ちに実行される。
・コールが処理中のシステム・コールと同一である場
合、すなわち、割り込みにおいて使用する資源が現在使
用中の資源と同一である場合には、資源の干渉を生ずる
虞れがあるため、割り込みの処理は、従来方式と同程度
に遅延されるが、それ以外の場合には、割り込みの処理
が直ちに実行される。
【0015】
【実施例】本発明の実施例における割り込み管理方式で
は、図1に記載する、オペレーティングシステムの管理
データのブロック1および割り込みハンドラの管理情報
を格納する制御ブロック2、3、4と、図2に記載す
る、割り込みハンドラの登録テーブル5とを設ける。
は、図1に記載する、オペレーティングシステムの管理
データのブロック1および割り込みハンドラの管理情報
を格納する制御ブロック2、3、4と、図2に記載す
る、割り込みハンドラの登録テーブル5とを設ける。
【0016】オペレーティングシステムの管理データ1
には、先頭の割り込みハンドラの制御ブロック2をポイ
ントする先頭ポインタ11と、現在処理中のシステム・コ
ールを表示するシステム・コール処理中フラグ12とを格
納し、また、割り込みハンドラの制御ブロック2、3、
4には、割り込みハンドラ番号22、32、42と、次の割り
込みハンドラの制御ブロックをポイントする後方ポイン
タ21、31、41とを格納する。
には、先頭の割り込みハンドラの制御ブロック2をポイ
ントする先頭ポインタ11と、現在処理中のシステム・コ
ールを表示するシステム・コール処理中フラグ12とを格
納し、また、割り込みハンドラの制御ブロック2、3、
4には、割り込みハンドラ番号22、32、42と、次の割り
込みハンドラの制御ブロックをポイントする後方ポイン
タ21、31、41とを格納する。
【0017】システム・コール処理中フラグ12は、シス
テム・コールに対応するビットのONによって、現在処
理しているシステム・コールを表示する(このビットの
番号は、システム・コール番号と1対1に対応してい
る)。オペレーティングシステムでは、システム・コー
ル処理開始時に、そのシステム・コール番号に対応する
システム・コール処理中フラグ12のビットをONにす
る。こうすることにより、そのシステム・コールはロッ
クされる。また、処理終了時には、それをOFFにして
システム・コールのロックを解除する。
テム・コールに対応するビットのONによって、現在処
理しているシステム・コールを表示する(このビットの
番号は、システム・コール番号と1対1に対応してい
る)。オペレーティングシステムでは、システム・コー
ル処理開始時に、そのシステム・コール番号に対応する
システム・コール処理中フラグ12のビットをONにす
る。こうすることにより、そのシステム・コールはロッ
クされる。また、処理終了時には、それをOFFにして
システム・コールのロックを解除する。
【0018】割り込みハンドラの制御ブロック2〜4に
は、後述するように、処理を遅延させるべき割り込みハ
ンドラの番号が格納される。この番号は、割り込みハン
ドラの登録テーブル5から該当する割り込みハンドラを
引き出すときのインデックスとなる。
は、後述するように、処理を遅延させるべき割り込みハ
ンドラの番号が格納される。この番号は、割り込みハン
ドラの登録テーブル5から該当する割り込みハンドラを
引き出すときのインデックスとなる。
【0019】割り込みハンドラの登録テーブル5は、割
り込み要求がされたときに、オペレーティングシステム
が、割り込みハンドラとそのハンドラにおいて使用する
システム・コールの番号とを順に登録するものであり、
第1番目の割り込みハンドラのアドレスが51に、第1番
目の割り込みハンドラの使用するシステム・コール番号
を表示するシステム・コール使用フラグが52に、第2番
目の割り込みハンドラのアドレスが53に、第2番目の割
り込みハンドラに関するシステム・コール使用フラグが
54に登録され、以下、同様の繰り返しによって第n番目
の割り込みハンドラまで登録される。
り込み要求がされたときに、オペレーティングシステム
が、割り込みハンドラとそのハンドラにおいて使用する
システム・コールの番号とを順に登録するものであり、
第1番目の割り込みハンドラのアドレスが51に、第1番
目の割り込みハンドラの使用するシステム・コール番号
を表示するシステム・コール使用フラグが52に、第2番
目の割り込みハンドラのアドレスが53に、第2番目の割
り込みハンドラに関するシステム・コール使用フラグが
54に登録され、以下、同様の繰り返しによって第n番目
の割り込みハンドラまで登録される。
【0020】このシステム・コール使用フラグ52〜56
は、システム・コールに対応するビットのONによっ
て、使用されるべきシステム・コールを表示する(この
ビットの番号は、システム・コール番号と1対1に対応
している)。
は、システム・コールに対応するビットのONによっ
て、使用されるべきシステム・コールを表示する(この
ビットの番号は、システム・コール番号と1対1に対応
している)。
【0021】次に実施例の割り込み管理方式における処
理の手順について説明する。
理の手順について説明する。
【0022】本発明の割り込み管理方式では、処理中の
システム・コールと、割り込みハンドラによって使用さ
れるシステム・コールとが同一である場合と、そうでな
い場合とで割り込み処理の手順を変えている。
システム・コールと、割り込みハンドラによって使用さ
れるシステム・コールとが同一である場合と、そうでな
い場合とで割り込み処理の手順を変えている。
【0023】システム・コールAの処理中に、システム
・コールを使用しない割り込みが発生した場合のタイミ
ング・チャートについて、図3を用いて説明する。
・コールを使用しない割り込みが発生した場合のタイミ
ング・チャートについて、図3を用いて説明する。
【0024】タスクAからシステム・コールAが発行さ
れると(イベント31)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにして、システム・コールAを
ロックし、システム・コールAの処理を開始する。
れると(イベント31)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにして、システム・コールAを
ロックし、システム・コールAの処理を開始する。
【0025】システム・コールAの処理中に割り込みが
発生すると(イベント32)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するか
どうかを、登録テーブル5の対応する割り込みのシステ
ム・コール使用フラグ52により検査する。ここでは割り
込みがシステム・コールを使用しないため、オペレーテ
ィングシステムは、割り込みを遅延させる必要がないと
判断し、直ちに割り込みハンドラを起動する。ハンドラ
が起動すると、オペレーティングシステムは、割り込み
の禁止を解除し、次の割り込みが可能になる。
発生すると(イベント32)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するか
どうかを、登録テーブル5の対応する割り込みのシステ
ム・コール使用フラグ52により検査する。ここでは割り
込みがシステム・コールを使用しないため、オペレーテ
ィングシステムは、割り込みを遅延させる必要がないと
判断し、直ちに割り込みハンドラを起動する。ハンドラ
が起動すると、オペレーティングシステムは、割り込み
の禁止を解除し、次の割り込みが可能になる。
【0026】割り込みハンドラが正常に処理を終了する
と(イベント33)、オペレーティングシステムは、シス
テム・コールAの処理を続行し、システム・コールAの
処理が終了すると(イベント34)、オペレーティングシ
ステムはシステム・コール処理中フラグ12をOFFにし
てシステム・コールAのロックを解除し、タスクAに復
帰する。
と(イベント33)、オペレーティングシステムは、シス
テム・コールAの処理を続行し、システム・コールAの
処理が終了すると(イベント34)、オペレーティングシ
ステムはシステム・コール処理中フラグ12をOFFにし
てシステム・コールAのロックを解除し、タスクAに復
帰する。
【0027】次に、システム・コールAの処理中に、シ
ステム・コールBを使用する割り込みが発生した場合の
タイミング・チャートについて、図4を用いて説明す
る。
ステム・コールBを使用する割り込みが発生した場合の
タイミング・チャートについて、図4を用いて説明す
る。
【0028】タスクAからシステム・コールAが発行さ
れると(イベント41)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにしてシステム・コールAをロ
ックし、システム・コールAの処理を開始する。
れると(イベント41)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにしてシステム・コールAをロ
ックし、システム・コールAの処理を開始する。
【0029】システム・コールAの処理中に割り込みが
発生すると(イベント42)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するも
のであるかどうかを、登録テーブル5の該当するシステ
ム・コール使用フラグ52によって検査をする。割り込み
ハンドラがシステム・コールを使用する場合は、次にシ
ステム・コール処理中フラグ12を読み取り、割り込みハ
ンドラが使おうとするシステム・コールが現在ロックさ
れているかどうかを検査する。
発生すると(イベント42)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するも
のであるかどうかを、登録テーブル5の該当するシステ
ム・コール使用フラグ52によって検査をする。割り込み
ハンドラがシステム・コールを使用する場合は、次にシ
ステム・コール処理中フラグ12を読み取り、割り込みハ
ンドラが使おうとするシステム・コールが現在ロックさ
れているかどうかを検査する。
【0030】このケースでは、割り込みハンドラの使用
するシステム・コールBが、ロックされているシステム
・コールAと異なるため、オペレーティングシステム
は、割り込みを遅延させる必要がないと判断し、直ちに
割り込みハンドラを起動する。ハンドラが起動すると、
オペレーティングシステムは、割り込みの禁止を解除
し、次の割り込みが可能になる。
するシステム・コールBが、ロックされているシステム
・コールAと異なるため、オペレーティングシステム
は、割り込みを遅延させる必要がないと判断し、直ちに
割り込みハンドラを起動する。ハンドラが起動すると、
オペレーティングシステムは、割り込みの禁止を解除
し、次の割り込みが可能になる。
【0031】割り込みハンドラは、システム・コールB
を起動し(イベント43)、システム・コールBの処理が
終了すると(イベント44)、割り込みハンドラが復帰す
る。割り込みハンドラの処理が終了すると(イベント4
5)、システム・コールAに戻り、システム・コールA
の続きの処理を実行する。システム・コールAの処理が
終了すると(イベント46)、システム・コール処理中フ
ラグ12をOFFにしてシステム・コールAのロックを解
除し、タスクAに復帰する。
を起動し(イベント43)、システム・コールBの処理が
終了すると(イベント44)、割り込みハンドラが復帰す
る。割り込みハンドラの処理が終了すると(イベント4
5)、システム・コールAに戻り、システム・コールA
の続きの処理を実行する。システム・コールAの処理が
終了すると(イベント46)、システム・コール処理中フ
ラグ12をOFFにしてシステム・コールAのロックを解
除し、タスクAに復帰する。
【0032】次に、システム・コールAの処理中に、シ
ステム・コールAを使用する割り込みが発生した場合の
タイミング・チャートについて、図5を用いて説明す
る。
ステム・コールAを使用する割り込みが発生した場合の
タイミング・チャートについて、図5を用いて説明す
る。
【0033】タスクAからシステム・コールAが発行さ
れると(イベント51)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにしてシステム・コールAをロ
ックし、システム・コールAの処理を開始する。
れると(イベント51)、オペレーティングシステムは、
システム・コールAに対応するシステム・コール処理中
フラグ12のビットをONにしてシステム・コールAをロ
ックし、システム・コールAの処理を開始する。
【0034】システム・コールAの処理中に割り込みが
発生すると(イベント52)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するも
のであるかどうかを、登録テーブル5の該当するシステ
ム・コール使用フラグ52によって検査をする。割り込み
ハンドラがシステム・コールを使用する場合は、次にシ
ステム・コール処理中フラグ12を読み取り、割り込みハ
ンドラが使おうとするシステム・コールが現在ロックさ
れているかどうかを検査する。
発生すると(イベント52)、オペレーティングシステム
は、発生した割り込みがシステム・コールを使用するも
のであるかどうかを、登録テーブル5の該当するシステ
ム・コール使用フラグ52によって検査をする。割り込み
ハンドラがシステム・コールを使用する場合は、次にシ
ステム・コール処理中フラグ12を読み取り、割り込みハ
ンドラが使おうとするシステム・コールが現在ロックさ
れているかどうかを検査する。
【0035】このケースでは、割り込みハンドラの使用
するシステム・コールAが、ロックされているシステム
・コールAと同じであるため、オペレーティングシステ
ムは、割り込み処理を遅延させる必要があるものと判断
し、割り込みハンドラ番号を割り込みハンドラ制御ブロ
ック2に格納し、オペレーティングシステムの管理デー
タ1の先頭ポインタ11に制御ブロック2をポイントす
る。
するシステム・コールAが、ロックされているシステム
・コールAと同じであるため、オペレーティングシステ
ムは、割り込み処理を遅延させる必要があるものと判断
し、割り込みハンドラ番号を割り込みハンドラ制御ブロ
ック2に格納し、オペレーティングシステムの管理デー
タ1の先頭ポインタ11に制御ブロック2をポイントす
る。
【0036】このように、割り込みハンドラが制御ブロ
ックに格納されたときは、割り込みハンドラの処理が遅
延される。また、この格納により割り込みの禁止が解除
され、次の割り込みが可能になる。
ックに格納されたときは、割り込みハンドラの処理が遅
延される。また、この格納により割り込みの禁止が解除
され、次の割り込みが可能になる。
【0037】システム・コールAの処理が終了すると
(イベント53)、オペレーティングシステムは、遅延さ
せていた割り込みハンドラを起動する。この時、オペレ
ーティングシステムの管理データ1の先頭ポインタ11
は、リセットされる。また、ハンドラが起動すると、オ
ペレーティングシステムは、割り込みの禁止を解除し、
次の割り込みが可能になる。
(イベント53)、オペレーティングシステムは、遅延さ
せていた割り込みハンドラを起動する。この時、オペレ
ーティングシステムの管理データ1の先頭ポインタ11
は、リセットされる。また、ハンドラが起動すると、オ
ペレーティングシステムは、割り込みの禁止を解除し、
次の割り込みが可能になる。
【0038】割り込みハンドラは、システム・コールA
を発行し(イベント54)、システム・コールAの処理が
終了すると(イベント55)、割り込みハンドラの処理を
続行し、その処理が終了すると(イベント56)、オペレ
ーティングシステムは、システム・コール処理中フラグ
12をOFFにしてシステム・コールAのロックを解除
し、タスクAへの復帰を行なう。
を発行し(イベント54)、システム・コールAの処理が
終了すると(イベント55)、割り込みハンドラの処理を
続行し、その処理が終了すると(イベント56)、オペレ
ーティングシステムは、システム・コール処理中フラグ
12をOFFにしてシステム・コールAのロックを解除
し、タスクAへの復帰を行なう。
【0039】このように、割り込みハンドラの使用する
システム・コールが、処理中のシステム・コールAと同
一であるときは、システム・コールAの処理の終了を待
って、割り込みを実行する。これは、システム・コール
Aの処理を中断して、割り込みを行なうと、資源の干渉
によって、割り込み処理終了後のシステム・コールAへ
の復帰に狂いを生ずる虞れがあるためである。
システム・コールが、処理中のシステム・コールAと同
一であるときは、システム・コールAの処理の終了を待
って、割り込みを実行する。これは、システム・コール
Aの処理を中断して、割り込みを行なうと、資源の干渉
によって、割り込み処理終了後のシステム・コールAへ
の復帰に狂いを生ずる虞れがあるためである。
【0040】このときの割り込み禁止時間は、制御ブロ
ック2〜4に割り込みハンドラが登録されるまでの時間
であり、従来の方式と同程度の短さである。
ック2〜4に割り込みハンドラが登録されるまでの時間
であり、従来の方式と同程度の短さである。
【0041】したがって、この場合には、割り込みの開
始時期および割り込み禁止時間は、従来方式と比べて差
異がない。
始時期および割り込み禁止時間は、従来方式と比べて差
異がない。
【0042】一方、割り込みハンドラの使用するシステ
ム・コールが、処理中のシステム・コールAと異なって
いたり、割り込みハンドラがシステム・コールを使用し
ないものである場合には、資源の干渉が生じないので、
割り込み処理が直ちに実行される。また、割り込み禁止
は、割り込み処理の実行と同時に解除される。
ム・コールが、処理中のシステム・コールAと異なって
いたり、割り込みハンドラがシステム・コールを使用し
ないものである場合には、資源の干渉が生じないので、
割り込み処理が直ちに実行される。また、割り込み禁止
は、割り込み処理の実行と同時に解除される。
【0043】したがって、この場合には、割り込み禁止
時間は、従来方式と同程度であり、割り込み開始時期
は、従来方式に比べて極めて早くなる。
時間は、従来方式と同程度であり、割り込み開始時期
は、従来方式に比べて極めて早くなる。
【0044】そのため、本発明の方式では、割り込み処
理を一律に遅延させている従来の方式と比べて、速やか
な割り込みの処理が可能となる。
理を一律に遅延させている従来の方式と比べて、速やか
な割り込みの処理が可能となる。
【0045】
【発明の効果】以上の実施例の説明から明らかなよう
に、本発明の割り込み管理方式では、割り込み禁止時間
を最小限に保ちながら、割り込みの処理を迅速に行うこ
とができる。
に、本発明の割り込み管理方式では、割り込み禁止時間
を最小限に保ちながら、割り込みの処理を迅速に行うこ
とができる。
【図1】本発明の割り込み管理方式における実施例の構
成図、
成図、
【図2】実施例における割り込みハンドラの登録テーブ
ルを表わす図、
ルを表わす図、
【図3】実施例の割り込み管理方式において、システム
・コールを使用しない割り込みが発生したときのタイミ
ングチャート、
・コールを使用しない割り込みが発生したときのタイミ
ングチャート、
【図4】実施例の割り込み管理方式において、処理中の
システム・コールと異なるシステム・コールを使用する
割り込みが発生したときのタイミングチャート、
システム・コールと異なるシステム・コールを使用する
割り込みが発生したときのタイミングチャート、
【図5】実施例の割り込み管理方式において、処理中の
システム・コールと同じシステム・コールを使用する割
り込みが発生したときのタイミングチャート、
システム・コールと同じシステム・コールを使用する割
り込みが発生したときのタイミングチャート、
【図6】従来の割り込み管理方式における構成図、
【図7】従来の割り込み管理方式におけるタイミングチ
ャートである。
ャートである。
1、6 オペレーティングシステムの管理データ 2、3、4、7、8、9 割り込みハンドラ制御ブロッ
ク 11、61 先頭ポインタ 12 システム・コール処理中フラグ 21、31、41、71、81、91 後方ポインタ 22、32、42 割り込みハンドラ番号 5 割り込みハンドラ登録テーブル 51、53、55、72、82、92 割り込みハンドラアドレス 52、54、56 システム・コール使用フラグ
ク 11、61 先頭ポインタ 12 システム・コール処理中フラグ 21、31、41、71、81、91 後方ポインタ 22、32、42 割り込みハンドラ番号 5 割り込みハンドラ登録テーブル 51、53、55、72、82、92 割り込みハンドラアドレス 52、54、56 システム・コール使用フラグ
Claims (2)
- 【請求項1】 システム・コール処理中に割り込みが発
生したとき、該割り込みが前記システム・コールを使用
するものである場合は、前記システム・コールの処理の
終了を待って前記割り込みを実行し、該割り込みが前記
システム・コールを使用しないものである場合は、前記
割り込みを直ちに実行することを特徴とする割り込み管
理方式。 - 【請求項2】 前記割り込みが発生したとき、前記割り
込みにおいて使用するシステム・コールを表示するフラ
グをテーブルに登録し、該フラグと処理中のシステム・
コールを表示するフラグとを比較することによって、前
記割り込みの実行の時期を決定することを特徴とする請
求項1に記載の割り込み管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4184644A JPH064321A (ja) | 1992-06-19 | 1992-06-19 | 割り込み管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4184644A JPH064321A (ja) | 1992-06-19 | 1992-06-19 | 割り込み管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH064321A true JPH064321A (ja) | 1994-01-14 |
Family
ID=16156843
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4184644A Pending JPH064321A (ja) | 1992-06-19 | 1992-06-19 | 割り込み管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH064321A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100405843B1 (ko) * | 1995-03-31 | 2004-04-03 | 모토로라 인코포레이티드 | 데이터처리시스템에서인터럽트대기의선택적제어를위한데이터처리시스템동작방법과데이터처리기 |
-
1992
- 1992-06-19 JP JP4184644A patent/JPH064321A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100405843B1 (ko) * | 1995-03-31 | 2004-04-03 | 모토로라 인코포레이티드 | 데이터처리시스템에서인터럽트대기의선택적제어를위한데이터처리시스템동작방법과데이터처리기 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2514299B2 (ja) | プロセスレベルプログラミングのための割込み処理の直列化方法 | |
| US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
| US6189007B1 (en) | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment | |
| JPH0157373B2 (ja) | ||
| US6253274B1 (en) | Apparatus for a high performance locking facility | |
| JPH0798663A (ja) | 非同期i/o制御方式 | |
| JPH064321A (ja) | 割り込み管理方式 | |
| US7447875B1 (en) | Method and system for management of global queues utilizing a locked state | |
| JP2573875B2 (ja) | プログラム制御方式 | |
| JPH0588954A (ja) | データベースの更新方法 | |
| JPS63307553A (ja) | ファイル制御方式 | |
| JPH09330240A (ja) | 資源排他制御方式 | |
| JPS603229B2 (ja) | 情報処理方式 | |
| JPH05158714A (ja) | 割り込み管理方式 | |
| CN112947677B (zh) | 一种计时器读取方法、计算设备及可读存储介质 | |
| JP2998721B2 (ja) | 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム | |
| JP2787107B2 (ja) | バッファ制御方式及び装置 | |
| JP2504645B2 (ja) | テストプログラム実行制御処理方式 | |
| JPH086829A (ja) | データベースの同時全件検索方法 | |
| JP2535568B2 (ja) | アプリケ―ションプログラムでの動的バッファ管理方式 | |
| JPH0520269A (ja) | 排他制御方式 | |
| JP2927102B2 (ja) | 命令列切り替え方法及びそれを用いた演算プロセッサ | |
| JPH04107634A (ja) | メモリデータバイパス制御方式 | |
| JPH0391055A (ja) | ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置 | |
| JP2621315B2 (ja) | 情報処理装置 |