JPH0693225B2 - 事象処理方式 - Google Patents
事象処理方式Info
- Publication number
- JPH0693225B2 JPH0693225B2 JP60209471A JP20947185A JPH0693225B2 JP H0693225 B2 JPH0693225 B2 JP H0693225B2 JP 60209471 A JP60209471 A JP 60209471A JP 20947185 A JP20947185 A JP 20947185A JP H0693225 B2 JPH0693225 B2 JP H0693225B2
- Authority
- JP
- Japan
- Prior art keywords
- level
- execution
- trap
- event
- processing
- 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
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は複数のレベルからなる実行モードを有し、事象
の有無をトラップで通知する計算機における事象処理方
式に関する。
の有無をトラップで通知する計算機における事象処理方
式に関する。
近年の電子計算機システム技術の発展により、利用者は
種々の高機能、高性能サービスを受けることが可能とな
ってきた。例えば実行モードの導入によるプログラムの
保護、あるいは高度のマルチプログラミングによるスル
ープットの向上などが挙げられよう。これらのサービス
は単にハードウエアの進歩のみにより実現されるのでは
なくオペレーティングシステム(以下、OS)と呼ばれる
制御プログラムの介在により始めて利用可能になること
は周知である。すなわち、ハードウエアそのものに計算
機システムとしての利用者インターフェイスを与える意
味においてOSは不欠なものである。
種々の高機能、高性能サービスを受けることが可能とな
ってきた。例えば実行モードの導入によるプログラムの
保護、あるいは高度のマルチプログラミングによるスル
ープットの向上などが挙げられよう。これらのサービス
は単にハードウエアの進歩のみにより実現されるのでは
なくオペレーティングシステム(以下、OS)と呼ばれる
制御プログラムの介在により始めて利用可能になること
は周知である。すなわち、ハードウエアそのものに計算
機システムとしての利用者インターフェイスを与える意
味においてOSは不欠なものである。
OSの持つ最も基本的な機能は、利用者の作成した処理プ
ログラムを計算機システム内の利用可能な資源(メモ
リ、CPU、I/O装置など)状況に応じて効率良く実行させ
ることである。一般に、OSから見える処理プログラムの
単位をタスクと呼び、上述の機能は「いかにタスクを効
率良く実行させるか」と言い換えてよい。利用者のタス
クは必ずしも正しい動作をするとは保証されておらず、
暴走し他のプログラムを破壊する危険性を常にはらんで
いる。特にシステムの共通プログラムであるOSを破壊す
ると、単に一タスクの問題がシステム全体の破壊(シス
テム・ダウン)につながり絶対に避けねばならない。処
理タスクの実行結果がOSの実行環境を乱さぬようにタス
クの実行環境には制限を加える必要がある。この制限を
加味した実行環境のことを実行モードと言い、最近の計
算機ハードウエアでは少くとも次の二種のモードが支援
される。特権モード:すべての命令や資源を自由に使
用できる。OSが走行すべきモード。ユーザ・モード:
システム構成、資源管理に影響を与える命令や資源の使
用を制限する。利用者タスクが走行すべきモード。さら
にを細分する考え方もある。
ログラムを計算機システム内の利用可能な資源(メモ
リ、CPU、I/O装置など)状況に応じて効率良く実行させ
ることである。一般に、OSから見える処理プログラムの
単位をタスクと呼び、上述の機能は「いかにタスクを効
率良く実行させるか」と言い換えてよい。利用者のタス
クは必ずしも正しい動作をするとは保証されておらず、
暴走し他のプログラムを破壊する危険性を常にはらんで
いる。特にシステムの共通プログラムであるOSを破壊す
ると、単に一タスクの問題がシステム全体の破壊(シス
テム・ダウン)につながり絶対に避けねばならない。処
理タスクの実行結果がOSの実行環境を乱さぬようにタス
クの実行環境には制限を加える必要がある。この制限を
加味した実行環境のことを実行モードと言い、最近の計
算機ハードウエアでは少くとも次の二種のモードが支援
される。特権モード:すべての命令や資源を自由に使
用できる。OSが走行すべきモード。ユーザ・モード:
システム構成、資源管理に影響を与える命令や資源の使
用を制限する。利用者タスクが走行すべきモード。さら
にを細分する考え方もある。
OSは上述の実行モードを活用し、マルチタスクの実行を
制御する。マルチタスク制御とはあるスケジューリング
方針の下で処理タスクにCPUの使用権を与える制御方式
である。スケジューリング方針としては、事象、すなわ
ち計算機内外で生ずる状態変化を契機に実行に必要な資
源を揃えたタスク中で一番優先度の高いものにCPUの使
用権を与える(この動作をディスパッチングと言う)事
象駆動優先度方式がよく用いられる。すなわち、事象の
処理方式がスケジューリングに大きな影響を与える。事
象の通知はトラップあるいは割込みの形でハードウエア
に知らされ、これをOSで処理する。一般に事象の生起は
ランダムであるため当然ある事象の処理中に他の事象が
生じ、事象間の調停も必要となる。このディスパッチン
グを行うOS内の処理ルーチンをディスパッチャと言い、
OSの重要な部分の一つである。特に事象と実行レベルが
絡む場合、OUが知って処理すればよい事象、ある実行レ
ベルを持つタスクが知って処理すべき事象等複雑な処理
分けが要求される。
制御する。マルチタスク制御とはあるスケジューリング
方針の下で処理タスクにCPUの使用権を与える制御方式
である。スケジューリング方針としては、事象、すなわ
ち計算機内外で生ずる状態変化を契機に実行に必要な資
源を揃えたタスク中で一番優先度の高いものにCPUの使
用権を与える(この動作をディスパッチングと言う)事
象駆動優先度方式がよく用いられる。すなわち、事象の
処理方式がスケジューリングに大きな影響を与える。事
象の通知はトラップあるいは割込みの形でハードウエア
に知らされ、これをOSで処理する。一般に事象の生起は
ランダムであるため当然ある事象の処理中に他の事象が
生じ、事象間の調停も必要となる。このディスパッチン
グを行うOS内の処理ルーチンをディスパッチャと言い、
OSの重要な部分の一つである。特に事象と実行レベルが
絡む場合、OUが知って処理すればよい事象、ある実行レ
ベルを持つタスクが知って処理すべき事象等複雑な処理
分けが要求される。
従来、この実行レベルと多重事象の処理についてはAST
(Asynchronous System Trap)と言う考え方が用いられ
ていた(VAXll Software Handbook 1978(DEC))。第
2図がその概略動作を示している。先ず第2図(a)を
参照されたい。タスクAが走行中にトラップ1が生じト
ラップ1の処理を行うようになる。この処理中にトラッ
プ2が起りその処理(事象Bの通知)により実行中のタ
スクAよりも待機中のタスクの実行優先度が高くなった
場合直ちにディスパッチャへ制御が渡るとプリエンプシ
ョンが起きる。プリエンプションとはあるタスクが実行
中に事象が発生し、その結果他のタスクがCPUの使用権
を横取りして実行に移る動作を意味する。第2図(a)
での問題はトラップ1処理が完全に終了しないうちに他
のタスクへ制御が移り、残りのプログラムが実行されな
い点にある。これを改良したのが第2図(b)で、トラ
ップ2処理では事象Bを直接通知せずに事象Bのあった
ことをマークしディスパッチャには制御を移さず、トラ
ップ処理の終了であるC点まで事象Bの通知を保留す
る。トラップ2の処理では事象Bに関する処理とAST起
動のフラグをセットする。C点での終了命令(本来なら
ばタスクAのD点へ戻る)でASTを検出し、ASTハンドラ
処理を経由してプリエンプション処理へ移り、結果とし
てタスクBへ制御が移るため前述の問題は生じない。
(Asynchronous System Trap)と言う考え方が用いられ
ていた(VAXll Software Handbook 1978(DEC))。第
2図がその概略動作を示している。先ず第2図(a)を
参照されたい。タスクAが走行中にトラップ1が生じト
ラップ1の処理を行うようになる。この処理中にトラッ
プ2が起りその処理(事象Bの通知)により実行中のタ
スクAよりも待機中のタスクの実行優先度が高くなった
場合直ちにディスパッチャへ制御が渡るとプリエンプシ
ョンが起きる。プリエンプションとはあるタスクが実行
中に事象が発生し、その結果他のタスクがCPUの使用権
を横取りして実行に移る動作を意味する。第2図(a)
での問題はトラップ1処理が完全に終了しないうちに他
のタスクへ制御が移り、残りのプログラムが実行されな
い点にある。これを改良したのが第2図(b)で、トラ
ップ2処理では事象Bを直接通知せずに事象Bのあった
ことをマークしディスパッチャには制御を移さず、トラ
ップ処理の終了であるC点まで事象Bの通知を保留す
る。トラップ2の処理では事象Bに関する処理とAST起
動のフラグをセットする。C点での終了命令(本来なら
ばタスクAのD点へ戻る)でASTを検出し、ASTハンドラ
処理を経由してプリエンプション処理へ移り、結果とし
てタスクBへ制御が移るため前述の問題は生じない。
以下の説明ではトラップ処理はすべて特権モードで行わ
れていたことに注目されたい。
れていたことに注目されたい。
ここで、事象Bとしてプリエンプションに無関係、つま
りディスパッチャ等のOS機能を必要としないタイプのも
のを考える。これら事象はタスク内の例外処理ルーチン
や終了ルーチン等の利用者レベル・ルーチンを起動する
ものである。したがって、単純なる事象の保留機構では
不十分であり、ユーザレベルかOSレベルかを判断し、ユ
ーザレベルと判断された場合、実行レベルをOSよりユー
ザへ変更し、ユーザレベルの分岐制御ルーチンを駆動し
なければならない。この処理はより複雑なソフトウエア
による処理を必要とすることが明らかで、オーバーヘ
ッドとなる、処理中に他の事象が発生する確率が増し
より対処が複雑になる等の欠点がある。
りディスパッチャ等のOS機能を必要としないタイプのも
のを考える。これら事象はタスク内の例外処理ルーチン
や終了ルーチン等の利用者レベル・ルーチンを起動する
ものである。したがって、単純なる事象の保留機構では
不十分であり、ユーザレベルかOSレベルかを判断し、ユ
ーザレベルと判断された場合、実行レベルをOSよりユー
ザへ変更し、ユーザレベルの分岐制御ルーチンを駆動し
なければならない。この処理はより複雑なソフトウエア
による処理を必要とすることが明らかで、オーバーヘ
ッドとなる、処理中に他の事象が発生する確率が増し
より対処が複雑になる等の欠点がある。
本発明の事象処理方式は、少なくともユーザレベルと特
権レベルとを含む複数のレベルからなる実行レベルを有
し、トラップ発生に伴うトラップ処理を特権レベルで実
行する事象処理方式において、ユーザレベルに相当する
基準レベルが設定される第1の手段と、実行中の実行レ
ベルが設定される第2の手段と、これら基準レベルと実
行レベルとを比較する比較手段と、この比較手段により
実行レベルが基準レベルとなった時にトラップを発生さ
せるトラップ発生手段と、このトラップにより第2の手
段に設定された実行レベルを基準レベルに置換する手段
とを具備し、実行レベルがユーザレベルとなった場合に
トラップを起動せしめ、その実行レベルを基準レベルに
置換するようにしたものである。
権レベルとを含む複数のレベルからなる実行レベルを有
し、トラップ発生に伴うトラップ処理を特権レベルで実
行する事象処理方式において、ユーザレベルに相当する
基準レベルが設定される第1の手段と、実行中の実行レ
ベルが設定される第2の手段と、これら基準レベルと実
行レベルとを比較する比較手段と、この比較手段により
実行レベルが基準レベルとなった時にトラップを発生さ
せるトラップ発生手段と、このトラップにより第2の手
段に設定された実行レベルを基準レベルに置換する手段
とを具備し、実行レベルがユーザレベルとなった場合に
トラップを起動せしめ、その実行レベルを基準レベルに
置換するようにしたものである。
本発明の実施例について図面を参照して説明する。
第1図は本発明の事象処理方式が適用された計算機シス
テムの一実施例の要部ブロック図である。
テムの一実施例の要部ブロック図である。
ラッチ回路1,2にはそれぞれ書込み許可信号14,15を活性
化することにより実行レベル、基準レベルが書込まれ、
保持される。レベル数発生器3には、ある事象が発生
し、ラッチ回路2に基準レベルを設定しようとすると、
信号13が活性化して信号16に予めセットされているレベ
ル値が書込まれる。比較器7はラッチ回路1,2の内容を
信号線17,18を通じて常に入力しており、活性化信号12
により活性化要求があると動作して両者を比較し、たと
えばラッチ回路1の内容≧ラッチ回路2、すなわち実行
レベル≧基準レベルであると信号19を活性化する。トラ
ップ発生器6は信号19が活性化されると駆動され、トラ
ップ信号20を発生し、計算機システムに通知する。遅延
器8はトラップ信号20を遅延する。アンドゲート4は遅
延器8の出力によりゲートを開き、ラッチ回路2に保持
されている基準レベルをオアゲート5を通じてラッチ回
路1に出力する。
化することにより実行レベル、基準レベルが書込まれ、
保持される。レベル数発生器3には、ある事象が発生
し、ラッチ回路2に基準レベルを設定しようとすると、
信号13が活性化して信号16に予めセットされているレベ
ル値が書込まれる。比較器7はラッチ回路1,2の内容を
信号線17,18を通じて常に入力しており、活性化信号12
により活性化要求があると動作して両者を比較し、たと
えばラッチ回路1の内容≧ラッチ回路2、すなわち実行
レベル≧基準レベルであると信号19を活性化する。トラ
ップ発生器6は信号19が活性化されると駆動され、トラ
ップ信号20を発生し、計算機システムに通知する。遅延
器8はトラップ信号20を遅延する。アンドゲート4は遅
延器8の出力によりゲートを開き、ラッチ回路2に保持
されている基準レベルをオアゲート5を通じてラッチ回
路1に出力する。
次に、本実施例の動作を説明する。
計算機システム全体としては通常、ラッチ回路1にセッ
トされている実行レベルの値を信号線11より読出してい
る。ある事象が発生し、基準レベルを設定しようとする
と、信号13が活性化しレベル数発生器3を駆動する。レ
ベル数発生器3には信号16により予めしかるべきレベル
値がセットされており、信号13の活性化により直ちに書
込みに入る。この時書込み許可信号15を活性化、書込み
許可信号14は不許可とする。これら書込み許可信号14,1
5の制御によりラッチ回路2へ基準レベルがセットされ
る。ラッチ回路1と2の内容は信号線17,18を通じて比
較器7に常に入力されており、活性化信号12により比較
器7への活性化要求があると比較器7は信号線17,18よ
り値を比較し、例えばラッチ回路1の内容≧ラッチ回路
2の内容である時に信号19を活性化しトラップ発生器6
を駆動する。これにより、トラップ発生器6はトラップ
信号20を発生し、計算機システムに通知する。一方、活
性化信号12は遅延器8を通じてアンドゲート4を開きラ
ッチ回路2の内容をオアゲート5を介しラッチ回路1へ
伝える。この時、ラッチ回路1の書込み許可信号14を許
可と制御することにより実行レベルはトラップ発生後基
準レベルと同一になる。この時活性化信号12はすでに不
活性化状態となり、再び比較器7を駆動することはな
い。
トされている実行レベルの値を信号線11より読出してい
る。ある事象が発生し、基準レベルを設定しようとする
と、信号13が活性化しレベル数発生器3を駆動する。レ
ベル数発生器3には信号16により予めしかるべきレベル
値がセットされており、信号13の活性化により直ちに書
込みに入る。この時書込み許可信号15を活性化、書込み
許可信号14は不許可とする。これら書込み許可信号14,1
5の制御によりラッチ回路2へ基準レベルがセットされ
る。ラッチ回路1と2の内容は信号線17,18を通じて比
較器7に常に入力されており、活性化信号12により比較
器7への活性化要求があると比較器7は信号線17,18よ
り値を比較し、例えばラッチ回路1の内容≧ラッチ回路
2の内容である時に信号19を活性化しトラップ発生器6
を駆動する。これにより、トラップ発生器6はトラップ
信号20を発生し、計算機システムに通知する。一方、活
性化信号12は遅延器8を通じてアンドゲート4を開きラ
ッチ回路2の内容をオアゲート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)
- 【請求項1】少なくともユーザレベルと特権レベルとを
含む複数のレベルからなる実行レベルを有し、トラップ
発生に伴うトラップ処理を前記特権レベルで実行する事
象処理方式において、ユーザレベルに相当する基準レベ
ルが設定される第1の手段と、実行中の実行レベルが設
定される第2の手段と、これら基準レベルと実行レベル
とを比較する比較手段と、この比較手段により前記実行
レベルが前記基準レベルとなった時にトラップを発生さ
せるトラップ発生手段と、このトラップにより前記第2
の手段に設定された前記実行レベルを前記基準レベルに
置換する手段とを具備し、前記実行レベルが前記ユーザ
レベルとなった場合にトラップを起動せしめ、その後前
記実行レベルを前記基準レベルに置換するようにしたこ
とを特徴とする事象処理方式。
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 JPS6269323A (ja) | 1987-03-30 |
JPH0693225B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN171220B (ja) * | 1987-07-01 | 1992-08-15 | Digital Equipment Corp |
Family Cites Families (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
Also Published As
Publication number | Publication date |
---|---|
JPS6269323A (ja) | 1987-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boucher et al. | Putting the" micro" back in microservice | |
US5721922A (en) | Embedding a real-time multi-tasking kernel in a non-real-time operating system | |
US5991790A (en) | Generation and delivery of signals in a two-level, multithreaded system | |
KR930000592B1 (ko) | 타스크 추적장치 | |
US5903752A (en) | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system | |
KR100791437B1 (ko) | 멀티스레드 어플리케이션에서 스레드 실행을 관리하기위한 방법 및 장치 | |
US5666523A (en) | Method and system for distributing asynchronous input from a system input queue to reduce context switches | |
Motro | An access authorization model for relational databases based on algebraic manipulation of view definitions | |
JP4840945B2 (ja) | ユーザ・モード・ドライバへ割り込みを配送する方法 | |
JPH02208740A (ja) | 仮想計算機制御方式 | |
US20040117793A1 (en) | Operating system architecture employing synchronous tasks | |
JPH05216689A (ja) | コンピュータ装置およびコンピュータ装置を動作させる方法 | |
US5003468A (en) | Guest machine execution control system for virutal machine system | |
US20040205753A1 (en) | Timing ring mechanism | |
WO2023241307A1 (zh) | 管理线程的方法及装置 | |
US6990669B1 (en) | Real-time scheduler | |
Hills | Structured interrupts | |
JPH0693225B2 (ja) | 事象処理方式 | |
JP2856681B2 (ja) | 外部事象を処理する方法およびシステム | |
US4554626A (en) | Digital data processing system | |
US5797039A (en) | Method of efficiently sending packets onto a network by eliminating an interrupt | |
JP2866410B2 (ja) | プログラムのテスト方法 | |
Viara | CPOS: a real-time operating system for the IRCAM Musical Workstation | |
Zelkowitz | Structured operating system organization | |
Frailey | DSOS—a skeletal, real–time, minicomputer operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |