JPS6269323A - 事象処理方式 - Google Patents
事象処理方式Info
- Publication number
- JPS6269323A JPS6269323A JP20947185A JP20947185A JPS6269323A JP S6269323 A JPS6269323 A JP S6269323A JP 20947185 A JP20947185 A JP 20947185A JP 20947185 A JP20947185 A JP 20947185A JP S6269323 A JPS6269323 A JP S6269323A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- level
- trap
- reference level
- event
- 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.)
- Granted
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は複数のレベルからなる実行モードを有し、事象
の有無をトラップで通知する計算機における事象処理方
式に関する。
の有無をトラップで通知する計算機における事象処理方
式に関する。
近年の電子計算機システム技術の発展により、利用者は
種々の高機能、高牲能サービスを受けることが可能とな
ってきた。例えば実行モードの導入によるプログラムの
保護、あるいは高度のマルチプログラミングによるスル
ーブツトの向上などが挙げられよう、これらのサービス
は単にハードウェアの進歩のみにより実現されるのでは
なくオペレーティングシステム(以下、O3)と呼ばれ
る制御プログラムの介在により始めて利用可能になるこ
とは周知である。すなわち、ハードウェアそのものに計
算機システムとしての利用者インターフェイスを与える
意味においてO8は不可欠なものである。 。
種々の高機能、高牲能サービスを受けることが可能とな
ってきた。例えば実行モードの導入によるプログラムの
保護、あるいは高度のマルチプログラミングによるスル
ーブツトの向上などが挙げられよう、これらのサービス
は単にハードウェアの進歩のみにより実現されるのでは
なくオペレーティングシステム(以下、O3)と呼ばれ
る制御プログラムの介在により始めて利用可能になるこ
とは周知である。すなわち、ハードウェアそのものに計
算機システムとしての利用者インターフェイスを与える
意味においてO8は不可欠なものである。 。
O8の持つ最も基本的な機能は、利用者の作成した処理
プログラムを計算機システム内の利用可能な資源(メモ
リ、CPU、工/○装置など)状況に応じて効率良く実
行させることである。一般に、○Sから見える処理プロ
グラムの単位をタスりと呼び、上述の機能は「いかにタ
スクを効率良く実行させるかjと言い換えてよい。利用
者のタスクは必ずしも正しい動作をするとは保証されで
おらず、暴走し他のプログラムを破壊する危険性を常に
はらんでいる。特にシステムの共通プログラムであるO
8を破壊すると、単に一タスクの問題がシステム全体の
破壊(システム・ダウン)にフなかつ絶対に避けねばな
らない。処理タスクの実行結果がO8の実行環境を乱さ
ぬようにタスクの実行環境には制限を加える必要がある
。この制限を加味した実行環境のことを実行モードと言
い、最近の計算機ハードウェアでは少くとも次の二種の
モードが支援される。■特権モード:すべでの命令や資
源を自由に使用できる。O8が走行すべきモード、■ユ
ーザ・モード:システム構成、資源管理に影11を与え
る命令や資源の使用を制限する。利用者タスクが走行す
べきモード、ざらに■を細分する考え方もある。
プログラムを計算機システム内の利用可能な資源(メモ
リ、CPU、工/○装置など)状況に応じて効率良く実
行させることである。一般に、○Sから見える処理プロ
グラムの単位をタスりと呼び、上述の機能は「いかにタ
スクを効率良く実行させるかjと言い換えてよい。利用
者のタスクは必ずしも正しい動作をするとは保証されで
おらず、暴走し他のプログラムを破壊する危険性を常に
はらんでいる。特にシステムの共通プログラムであるO
8を破壊すると、単に一タスクの問題がシステム全体の
破壊(システム・ダウン)にフなかつ絶対に避けねばな
らない。処理タスクの実行結果がO8の実行環境を乱さ
ぬようにタスクの実行環境には制限を加える必要がある
。この制限を加味した実行環境のことを実行モードと言
い、最近の計算機ハードウェアでは少くとも次の二種の
モードが支援される。■特権モード:すべでの命令や資
源を自由に使用できる。O8が走行すべきモード、■ユ
ーザ・モード:システム構成、資源管理に影11を与え
る命令や資源の使用を制限する。利用者タスクが走行す
べきモード、ざらに■を細分する考え方もある。
O8は上述の実行モードを活用し、マルチタスクの実行
を制御する。マルチタスク制御とはあるスケジューリン
グ方針の下で処理タスクにCPUの使用権をうえる制御
方式である。スケジューリングの方針としては、事象、
すなわち計算機内外で生ずる状態変化を契機に実行に必
要なW源を揃えたタスク中で一番優先度の高いものにC
PUの使用権ヲ与える(この動作をディスパッチングと
言う)事象駆動優先度方式がよく用いられる。
を制御する。マルチタスク制御とはあるスケジューリン
グ方針の下で処理タスクにCPUの使用権をうえる制御
方式である。スケジューリングの方針としては、事象、
すなわち計算機内外で生ずる状態変化を契機に実行に必
要なW源を揃えたタスク中で一番優先度の高いものにC
PUの使用権ヲ与える(この動作をディスパッチングと
言う)事象駆動優先度方式がよく用いられる。
すなわち、事象の処理方式がスケジューリングに大きな
影響を与える。事象の通知はトラ・ンブあるいは割込み
の形でバードウニアに知らされ、これをO8で処理する
。一般に事象の生起はランダムであるため当然ある事象
の処理中に他の事象が生じ、事象間の調停も必要となる
。このディスパッチングを行うO8内の処理ルーチンを
ディスパッチャと言い、O8の重要な部分の一つである
。特に事象と実行レベルが絡む場合、O8が知って処理
すればよい事象、ある実行レベルを持つタスクが知って
処理すべき事象等複雑な処理分けが要求される。
影響を与える。事象の通知はトラ・ンブあるいは割込み
の形でバードウニアに知らされ、これをO8で処理する
。一般に事象の生起はランダムであるため当然ある事象
の処理中に他の事象が生じ、事象間の調停も必要となる
。このディスパッチングを行うO8内の処理ルーチンを
ディスパッチャと言い、O8の重要な部分の一つである
。特に事象と実行レベルが絡む場合、O8が知って処理
すればよい事象、ある実行レベルを持つタスクが知って
処理すべき事象等複雑な処理分けが要求される。
従来、この実行レベルと多重事象の処理についてはA
S T (Asynchronous System
丁rap)と言う考え方が用いられでいた(VAXII
SoftwareHandbook 1978(DE
C)) 、第2図がその概略動作を示している。先ず第
2図(a)を讐照されたい、タスクAが走行中にトラッ
プ1が生じトラップ1の処理を行うようになる。この処
理中にトラップ2が起つその処理(事象Bの通知)によ
り実行中のタスクAよりも待機中のタスクの実行優先度
が高くなった場合直ちにディスパッチャへ制御が渡ると
プリエンブションが起きる。プリエンブションとはある
タスクが実行中に事象が発生し、その結果他のタスクが
CPUの使用権を横取りして実行に移る動作を意味する
。第2図(a)での問題はトラップ1処理が完全に終了
しないうちに他のタスクへ制御が移り、残りのプログラ
ムが実行されない点にある。これを改良したのが笥2図
(b)で、トラップ2処理では事象Bを直接通知せずに
事象Bのあったことをマークしディスパッチャには制御
を移さず、トラップ処理の終了である0点まで事象Bの
通知を保留する。トラップ2の処理では事象Bに関する
処理とAST起動のフラグをセットする。0点での終了
命令(本来ならばタスクAのD点へ戻る)で△STを検
出し、へSTハンドラ処理78経由してプリエンブショ
ン処理へ移り、結果と()でタスクBへ制御が移るため
前述の問題は生じない。
S T (Asynchronous System
丁rap)と言う考え方が用いられでいた(VAXII
SoftwareHandbook 1978(DE
C)) 、第2図がその概略動作を示している。先ず第
2図(a)を讐照されたい、タスクAが走行中にトラッ
プ1が生じトラップ1の処理を行うようになる。この処
理中にトラップ2が起つその処理(事象Bの通知)によ
り実行中のタスクAよりも待機中のタスクの実行優先度
が高くなった場合直ちにディスパッチャへ制御が渡ると
プリエンブションが起きる。プリエンブションとはある
タスクが実行中に事象が発生し、その結果他のタスクが
CPUの使用権を横取りして実行に移る動作を意味する
。第2図(a)での問題はトラップ1処理が完全に終了
しないうちに他のタスクへ制御が移り、残りのプログラ
ムが実行されない点にある。これを改良したのが笥2図
(b)で、トラップ2処理では事象Bを直接通知せずに
事象Bのあったことをマークしディスパッチャには制御
を移さず、トラップ処理の終了である0点まで事象Bの
通知を保留する。トラップ2の処理では事象Bに関する
処理とAST起動のフラグをセットする。0点での終了
命令(本来ならばタスクAのD点へ戻る)で△STを検
出し、へSTハンドラ処理78経由してプリエンブショ
ン処理へ移り、結果と()でタスクBへ制御が移るため
前述の問題は生じない。
以上の説明ではトラップ処理(よすべて特権モードで行
われていたことに注目されたい。
われていたことに注目されたい。
(発明が解決しようとする問題点〕
ここで、事象Bとしでブリエンブションに無間係、つま
つディスパッチャ等のO8機能を必要としないタイプの
ものを考える。これら事象はタスク内の例外処理ルーチ
ンや終了ルーチン等の利用者レベル・ルーチンを起動す
るものである。したがって、単純な事象の保留機構では
不十分であり、ユーザレベルかOSレベルかを判断し、
ユーザレベルと判断された場合、実行レベルをO8より
ユーザへ変更し、ユーザレベルの分岐制御ルーチンを駆
動しなければならない、この処理はより複雑なソフトウ
ェアによる処理を特徴とする特許が明らかで、■オーバ
ーヘッドとなる、■処理中に他の事象が発生する確率か
増しより対処が複唯になる等の欠点がある。
つディスパッチャ等のO8機能を必要としないタイプの
ものを考える。これら事象はタスク内の例外処理ルーチ
ンや終了ルーチン等の利用者レベル・ルーチンを起動す
るものである。したがって、単純な事象の保留機構では
不十分であり、ユーザレベルかOSレベルかを判断し、
ユーザレベルと判断された場合、実行レベルをO8より
ユーザへ変更し、ユーザレベルの分岐制御ルーチンを駆
動しなければならない、この処理はより複雑なソフトウ
ェアによる処理を特徴とする特許が明らかで、■オーバ
ーヘッドとなる、■処理中に他の事象が発生する確率か
増しより対処が複唯になる等の欠点がある。
本発明の事象処理方式は、事象発止時に、トラップを起
すべき基準となる基準レベルを設定する手段と、活性化
されると、実行モードのレベルを前記基準レベルと比較
する比較手段と、事象発生とは無関係に前記比較手段を
活性化する活性化手段と、比較手段の比較結果によりト
ラップを発生するトラップ発生手段と、トラップが発生
すると、実行レベルを基準レベルと同一にする手段を有
する。
すべき基準となる基準レベルを設定する手段と、活性化
されると、実行モードのレベルを前記基準レベルと比較
する比較手段と、事象発生とは無関係に前記比較手段を
活性化する活性化手段と、比較手段の比較結果によりト
ラップを発生するトラップ発生手段と、トラップが発生
すると、実行レベルを基準レベルと同一にする手段を有
する。
このように、実行レベルとトラップを起すべき基準レベ
ルを別個に設定可能とし、実行レベルが基準レベルにな
って始めてトラ・ンブを起すことにより、従来方式のよ
うな判断、実行レベルの変更に必要なソフトウェア処理
が不要となる。
ルを別個に設定可能とし、実行レベルが基準レベルにな
って始めてトラ・ンブを起すことにより、従来方式のよ
うな判断、実行レベルの変更に必要なソフトウェア処理
が不要となる。
(実施例)
本発明の実施例について図面を参照しで説明する。
第1図は本発明の事象処理方式が適用された計算機シス
テムの一実施例の要部ブロック図である。
テムの一実施例の要部ブロック図である。
ラッチ回路1.2に(よそれぞれ書込み許可信号14、
15を活性化することにより実行レベル、基準レベルが
書込まれ、保持される。レベル数発生器3には、ある事
象が発生し、ラッチ回路2に基準レベルを設定しようと
すると、信号13が活性化して信号16に予めセットさ
れているレベル値が書込まれる。比較器7はラッチ回路
1.2の内容を信号線17.18を通じて常に入力して
おり、活性化信号12により活性化要求があると動作し
て両者を比較し、たとえばラッチ回路1の内容≧ラッチ
回路2、すなわち実行レヘル≧基準レベルであると信号
19を活性化する。トラ・ンプ発生器6は信号19が活
性化されると駆動され、トラップ信号20@発生し、計
算機システムに通知する。遅延器8はトラップ信号20
1j!:遅延する。アンドゲート4は遅延器8の出力に
よりゲートを開き、ラッチ回路2に保持されている基準
レベルをオアゲート5を通じてラッチ回路1に出力する
。
15を活性化することにより実行レベル、基準レベルが
書込まれ、保持される。レベル数発生器3には、ある事
象が発生し、ラッチ回路2に基準レベルを設定しようと
すると、信号13が活性化して信号16に予めセットさ
れているレベル値が書込まれる。比較器7はラッチ回路
1.2の内容を信号線17.18を通じて常に入力して
おり、活性化信号12により活性化要求があると動作し
て両者を比較し、たとえばラッチ回路1の内容≧ラッチ
回路2、すなわち実行レヘル≧基準レベルであると信号
19を活性化する。トラ・ンプ発生器6は信号19が活
性化されると駆動され、トラップ信号20@発生し、計
算機システムに通知する。遅延器8はトラップ信号20
1j!:遅延する。アンドゲート4は遅延器8の出力に
よりゲートを開き、ラッチ回路2に保持されている基準
レベルをオアゲート5を通じてラッチ回路1に出力する
。
次に、本実施例の動作を説明する。
計算機システム全体としては通常、ラッチ回路1にセッ
トされている実行レベルの(I6を信号線11より読出
している。ある事象が発生し、基準レベルを設定しよう
とすると、信号13が活性化しレベル数発生器3を駆動
する。レベル数発生器3には信号16により予めしかる
べきレベル値がセットされでおり、信号13の活性化に
より直ちに書込みに入る。この時書込み許可信号15を
活性化、書込み許可信号14は不許可とする。これら書
込み許可信号14.15の制御によりラッチ回路2へ基
準レベルがセットされる。ラッチ回路1と2の内容は信
号線+7.18を通じて比較器7に常に入力されでおり
、活性化信号12により比較器7への活性化要求がある
と比較器7は信号線17.18より値を比較し、例えば
ラッチ回路1の内容≧ラッチ回路2の内容である時に信
号19ヲ活性化しトラップ発生器6を駆動する。これに
より、トラップ発生器6はトラップ信号20を発生し、
計算機システムに通知する。一方、活性化信号12は遅
延器8を通じてアンドゲート4を開きラッチ回路2の内
8をオアゲート5を介しラッチ回路1へ伝える。この時
、ラッチ回路1の書込み許可信号14を許可と制御する
ことにより実行レベルはトラップ発生後基準レベルと同
一になる。この時活性化信号12はすでに不活性状態と
なり、再び比較器7を駆動することはない。
トされている実行レベルの(I6を信号線11より読出
している。ある事象が発生し、基準レベルを設定しよう
とすると、信号13が活性化しレベル数発生器3を駆動
する。レベル数発生器3には信号16により予めしかる
べきレベル値がセットされでおり、信号13の活性化に
より直ちに書込みに入る。この時書込み許可信号15を
活性化、書込み許可信号14は不許可とする。これら書
込み許可信号14.15の制御によりラッチ回路2へ基
準レベルがセットされる。ラッチ回路1と2の内容は信
号線+7.18を通じて比較器7に常に入力されでおり
、活性化信号12により比較器7への活性化要求がある
と比較器7は信号線17.18より値を比較し、例えば
ラッチ回路1の内容≧ラッチ回路2の内容である時に信
号19ヲ活性化しトラップ発生器6を駆動する。これに
より、トラップ発生器6はトラップ信号20を発生し、
計算機システムに通知する。一方、活性化信号12は遅
延器8を通じてアンドゲート4を開きラッチ回路2の内
8をオアゲート5を介しラッチ回路1へ伝える。この時
、ラッチ回路1の書込み許可信号14を許可と制御する
ことにより実行レベルはトラップ発生後基準レベルと同
一になる。この時活性化信号12はすでに不活性状態と
なり、再び比較器7を駆動することはない。
(発明の効果)
以上説明したように本発明は、実行レベルとトラップを
起すべき基準レベルを別個に設定可能としたことにより
、実行レベルがタスクレベル、すなわちユーザレベルに
なって始めてトラ・ンブを起すため、従来方式のような
判断、実行レベルの変更に必要なソフトウェア処理が不
要となり、これによりオーバーヘッドの低減は勿論のこ
と、新たに生ずる事象への考慮が不要となり計算機シス
テムの要であるオペレーティングシステムの作成を容易
にする効果がある。
起すべき基準レベルを別個に設定可能としたことにより
、実行レベルがタスクレベル、すなわちユーザレベルに
なって始めてトラ・ンブを起すため、従来方式のような
判断、実行レベルの変更に必要なソフトウェア処理が不
要となり、これによりオーバーヘッドの低減は勿論のこ
と、新たに生ずる事象への考慮が不要となり計算機シス
テムの要であるオペレーティングシステムの作成を容易
にする効果がある。
第1図は本発明の事象処理方式の一実施例を示すブロッ
ク図、第2図(a)、 (b)はそれぞれ従来の事象処
理方式を示すダイアグラムである。 1.2・・・ラッチ回路、 3・・・レベル数発生器、
4・・・アンドゲート、 5・・・オアゲート、6・
・・トラップ発生器、 7・・・比較器、8・・・遅
延器。
ク図、第2図(a)、 (b)はそれぞれ従来の事象処
理方式を示すダイアグラムである。 1.2・・・ラッチ回路、 3・・・レベル数発生器、
4・・・アンドゲート、 5・・・オアゲート、6・
・・トラップ発生器、 7・・・比較器、8・・・遅
延器。
Claims (1)
- 【特許請求の範囲】 複数のレベルからなる実行モードを有し、事象の有無を
トラップで通知する計算機において、事象発生時に、ト
ラップを起すべき基準となる基準レベルを設定する手段
と、 活性化されると、実行モードのレベルを前記基準レベル
と比較する比較手段と、 事象発生とは無関係に前記比較手段を活性化する活性化
手段と、 比較手段の比較結果によりトラップを発生するトラップ
発生手段と、 トラップが発生すると、実行レベルを基準レベルと同一
にする手段を有する事象処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60209471A JPH0693225B2 (ja) | 1985-09-20 | 1985-09-20 | 事象処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60209471A JPH0693225B2 (ja) | 1985-09-20 | 1985-09-20 | 事象処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6269323A true JPS6269323A (ja) | 1987-03-30 |
JPH0693225B2 JPH0693225B2 (ja) | 1994-11-16 |
Family
ID=16573405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60209471A Expired - Fee Related JPH0693225B2 (ja) | 1985-09-20 | 1985-09-20 | 事象処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0693225B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488639A (en) * | 1987-07-01 | 1989-04-03 | Digital Equipment Corp | Apparatus and method for controlling non- synchronous program interrupt event for data processing system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5999553A (ja) * | 1982-11-29 | 1984-06-08 | Nec Corp | 割込制御方式 |
-
1985
- 1985-09-20 JP JP60209471A patent/JPH0693225B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5999553A (ja) * | 1982-11-29 | 1984-06-08 | Nec Corp | 割込制御方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488639A (en) * | 1987-07-01 | 1989-04-03 | Digital Equipment Corp | Apparatus and method for controlling non- synchronous program interrupt event for data processing system |
Also Published As
Publication number | Publication date |
---|---|
JPH0693225B2 (ja) | 1994-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5991790A (en) | Generation and delivery of signals in a two-level, multithreaded system | |
US5721922A (en) | Embedding a real-time multi-tasking kernel in a non-real-time operating system | |
US5893157A (en) | Blocking symbol control in a computer system to serialize accessing a data resource by simultaneous processor requests | |
US5748959A (en) | Method of conducting asynchronous distributed collective operations | |
US8572626B2 (en) | Symmetric multi-processor system | |
JP4840945B2 (ja) | ユーザ・モード・ドライバへ割り込みを配送する方法 | |
US5666523A (en) | Method and system for distributing asynchronous input from a system input queue to reduce context switches | |
US20040117793A1 (en) | Operating system architecture employing synchronous tasks | |
US7103631B1 (en) | Symmetric multi-processor system | |
US20020178208A1 (en) | Priority inversion in computer system supporting multiple processes | |
US6587955B1 (en) | Real time synchronization in multi-threaded computer systems | |
US6295602B1 (en) | Event-driven serialization of access to shared resources | |
EP0715732B1 (en) | Method and system for protecting shared code and data in a multitasking operating system | |
US6507861B1 (en) | System and method for avoiding deadlock in a non-preemptive multi-threaded application running in a non-preemptive multi-tasking environment | |
KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
US6128679A (en) | Computer for executing I/O instructions, by emulation, in a foreign application program wherein the emulator result thread is blocked from running between processes | |
US20210311773A1 (en) | Efficient Condition Variables via Delegated Condition Evaluation | |
CN101359312B (zh) | 输入输出控制系统 | |
US20190317827A1 (en) | Method and apparatus for managing kernel services in multi-core system | |
JPS6269323A (ja) | 事象処理方式 | |
US4554626A (en) | Digital data processing system | |
JPS6336545B2 (ja) | ||
US11461134B2 (en) | Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor | |
US7788529B2 (en) | Method for safely interrupting blocked work in a server | |
CN112988365A (zh) | 一种线程管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |