JPS61125648A - システム・コ−ル制御方式 - Google Patents
システム・コ−ル制御方式Info
- Publication number
- JPS61125648A JPS61125648A JP24729984A JP24729984A JPS61125648A JP S61125648 A JPS61125648 A JP S61125648A JP 24729984 A JP24729984 A JP 24729984A JP 24729984 A JP24729984 A JP 24729984A JP S61125648 A JPS61125648 A JP S61125648A
- Authority
- JP
- Japan
- Prior art keywords
- system call
- address
- space
- user
- logical space
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメモリ・マツピング機構のある計算機において
、システム・コール時にメモリ・マツピングを意識せず
に、パラメータの受け渡しを可能にするシステム・コー
ル制御方式に関するものである。
、システム・コール時にメモリ・マツピングを意識せず
に、パラメータの受け渡しを可能にするシステム・コー
ル制御方式に関するものである。
〔従来の技術と本発明が解決しようとする問題点〕ユー
ザ空間からシステム・コールを実行すると。
ザ空間からシステム・コールを実行すると。
システム空間内のプログラムが実行される。その時実行
されるシステム・プログラムはパラメータを必要とする
が、そのパラメータはユーザ空間からレジスタによって
渡される。そのときパラメータがアドレスを表している
とすると、そのアドレスは暗黙的にユーザ空間内を示し
ている。つまり。
されるシステム・プログラムはパラメータを必要とする
が、そのパラメータはユーザ空間からレジスタによって
渡される。そのときパラメータがアドレスを表している
とすると、そのアドレスは暗黙的にユーザ空間内を示し
ている。つまり。
システム・プログラムはパラメータがアドレスを示すと
きはユーザ・プロセスの空間内のアドレスであると仮定
してシステム・プログラムを実行する。
きはユーザ・プロセスの空間内のアドレスであると仮定
してシステム・プログラムを実行する。
従って、システム空間内でシステム・コールを実行する
と、システム・プログラムは、渡されたパラメータがア
ドレスを表している時はユーザ空間内のアドレスと解釈
してしまう、たとえば、第2図において、ユーザ空間か
らシステム・コールした時は、パラメータはユーザ空間
内にあり、正常に実行される。しかし、システム空間内
でシステム・コールを実行すると、パラメータはシステ
ム空間内にあるにもかかわらず、システム・プログラム
はユーザ空間を参照するので、正常に実行されないとい
う問題があった。
と、システム・プログラムは、渡されたパラメータがア
ドレスを表している時はユーザ空間内のアドレスと解釈
してしまう、たとえば、第2図において、ユーザ空間か
らシステム・コールした時は、パラメータはユーザ空間
内にあり、正常に実行される。しかし、システム空間内
でシステム・コールを実行すると、パラメータはシステ
ム空間内にあるにもかかわらず、システム・プログラム
はユーザ空間を参照するので、正常に実行されないとい
う問題があった。
また、他の方式では、アドレスを示す際に、システム空
間、あるいはユーザ空間を表すようにアドレスを1バイ
ト増やしているものもある。しかしこのようにすると、
すべてのパラメータを一度にレジスタに入れて渡せなく
なる場合があり、効率が低下するという問題があった。
間、あるいはユーザ空間を表すようにアドレスを1バイ
ト増やしているものもある。しかしこのようにすると、
すべてのパラメータを一度にレジスタに入れて渡せなく
なる場合があり、効率が低下するという問題があった。
本発明は、上記した従来方式の問題点を解決するため、
システム・コール時に、コール元の空間ID(論理空間
番号)を保持しておくための専用レジスタを設けたもの
で、その構成は、メモリ・マッピング機構を備えた計算
機において、システム・コールヲ行った時に、システム
・コールを行った空間を記憶する論理空間番号レジスタ
を設け。
システム・コール時に、コール元の空間ID(論理空間
番号)を保持しておくための専用レジスタを設けたもの
で、その構成は、メモリ・マッピング機構を備えた計算
機において、システム・コールヲ行った時に、システム
・コールを行った空間を記憶する論理空間番号レジスタ
を設け。
システム・コールを実行する際に、該論理空間番号レジ
スタを参照してパラメータの受け渡し制御を行うことを
特徴としている。
スタを参照してパラメータの受け渡し制御を行うことを
特徴としている。
以下に1本発明の詳細を実施例にしたがって説明する。
第1図は1氷見明方式の1実施例システムの説明図であ
り、また第3図はその処理フロー図である。第1図にお
いて、1はシステム・コール割り込みベクタ、2は論理
空間番号レジスタ、3はプロセス・テーブル・キュー、
4はプロセス・スタック、5はユーザ・プロセス、6は
ユーザ割り込み処理ルーチン、7はシステム割り込み処
理ルーチン、8はシステム・プログラムである。
り、また第3図はその処理フロー図である。第1図にお
いて、1はシステム・コール割り込みベクタ、2は論理
空間番号レジスタ、3はプロセス・テーブル・キュー、
4はプロセス・スタック、5はユーザ・プロセス、6は
ユーザ割り込み処理ルーチン、7はシステム割り込み処
理ルーチン、8はシステム・プログラムである。
システム・コール割り込みベクタ1は、システム・コー
ル割り込みが発生した時に、制御を移すルーチンのエン
トリ・アドレスをセントするためのレジスタである。こ
れには、ユーザ状態のとき。
ル割り込みが発生した時に、制御を移すルーチンのエン
トリ・アドレスをセントするためのレジスタである。こ
れには、ユーザ状態のとき。
ユーザ割り込み処理ルーチン6のアドレスをセットし、
システム状態のときシステム割り込み処理ルーチン7の
アドレスをセットしておく、また論理空間番号レジスタ
2は、現在実行中のシステム・コールがどの論理空間か
ら呼び出されたのかを記憶しておくレジスタである。
システム状態のときシステム割り込み処理ルーチン7の
アドレスをセットしておく、また論理空間番号レジスタ
2は、現在実行中のシステム・コールがどの論理空間か
ら呼び出されたのかを記憶しておくレジスタである。
プロセス(あるいはタスク)ば、プロセス・テーブル・
キュー3によって管理される。プロセス・テーブル(あ
るいはTCB)は、そのプロセスの番号、キュー管理用
ポインタ、プロセス状態。
キュー3によって管理される。プロセス・テーブル(あ
るいはTCB)は、そのプロセスの番号、キュー管理用
ポインタ、プロセス状態。
論理空間番号、プログラム・アドレス、データ・アドレ
ス、システム・コール用のプロセス・スタック4などか
らなる。プロセスは、そのプロセスの状態により4つの
プロセス・キューの1つにつながれる。現在実行中のプ
ロセスを示すカレント・プロセス・ポインタ、実行待ち
プロセスを示すアクティブ・プロセス・ポインタ、イベ
ント待ちプロセスを示すウェイト・プロセス・ポインタ
とスリーブ・プロセス・ポインタがある。
ス、システム・コール用のプロセス・スタック4などか
らなる。プロセスは、そのプロセスの状態により4つの
プロセス・キューの1つにつながれる。現在実行中のプ
ロセスを示すカレント・プロセス・ポインタ、実行待ち
プロセスを示すアクティブ・プロセス・ポインタ、イベ
ント待ちプロセスを示すウェイト・プロセス・ポインタ
とスリーブ・プロセス・ポインタがある。
次に、第3図の処理フローを参照しながら実施例動作を
説明する。
説明する。
ユーザ状態でユーザ・プログラムすなわちユーザ・プロ
セス5がシステム・コールSCを実行すると、システム
・コール割り込みベクタ1を介してユーザ割り込み処理
ルーチン6に制御が渡る(第3図の左の流れ)。
セス5がシステム・コールSCを実行すると、システム
・コール割り込みベクタ1を介してユーザ割り込み処理
ルーチン6に制御が渡る(第3図の左の流れ)。
、 ここで、ユーザ割り込み処理ルーチン6は、システ
ム・コール割り込みベクタ1の割り込み処理ルーチンの
アドレスをシステム用にセットし■。
ム・コール割り込みベクタ1の割り込み処理ルーチンの
アドレスをシステム用にセットし■。
さらに論理空間番号レジスタ2にユーザ・プロセス5の
論理量番号をセットする09次にプロセス・テーブルの
プロセス状態をユーザ状態からシステム状態に変更し■
、システム・コール先のシステム・プログラム8を実行
する■。
論理量番号をセットする09次にプロセス・テーブルの
プロセス状態をユーザ状態からシステム状態に変更し■
、システム・コール先のシステム・プログラム8を実行
する■。
ここでシステム・プログラム8が(■の中で)。
再びシステム・コールSCを実行したとすると。
システム・コール割り込みベクタlを介して、システム
割り込み処理ルーチン7に制御が渡る(第3図の右の流
れン。ここでは、論理空間番号レジスタ2の値をプロセ
ス・スタック4にセーブし■。
割り込み処理ルーチン7に制御が渡る(第3図の右の流
れン。ここでは、論理空間番号レジスタ2の値をプロセ
ス・スタック4にセーブし■。
システム論理空間番号を論理空間番号レジスタ2にセッ
トし■、システム・コール先のシステム・プログラム8
を実行する■、この実行が終了したとき、プロセス・ス
タックに退避しておいた値を論理空間番号レジスタ2に
戻し■、システム状態でのシステム・コールを終了する
。
トし■、システム・コール先のシステム・プログラム8
を実行する■、この実行が終了したとき、プロセス・ス
タックに退避しておいた値を論理空間番号レジスタ2に
戻し■、システム状態でのシステム・コールを終了する
。
次に最初のシステム・コールSCに基づくシステム・プ
ログラム8.の実行を終了すると■、プロセス・テーブ
ルのプロセス状態をユーザ状態に変更し■、ユーザ割り
込み処理ルーチン6のアドレスをシステム・コール割り
込みベクタ1にセットして[株]、システム・コールS
Cを終了する。
ログラム8.の実行を終了すると■、プロセス・テーブ
ルのプロセス状態をユーザ状態に変更し■、ユーザ割り
込み処理ルーチン6のアドレスをシステム・コール割り
込みベクタ1にセットして[株]、システム・コールS
Cを終了する。
このように、動的にシステムが論理空間番号を管理する
ことにより、システム・プログラム8はこの論理空間番
号を使ってパラメータをアクセスできる。
ことにより、システム・プログラム8はこの論理空間番
号を使ってパラメータをアクセスできる。
このようにして、システム・コールSC発生時に、コー
ル元がユーザ側であれば論理空間番号レジスタ2にユー
ザの論理空間番号が記憶され、他方コール元がシステム
側であればシステムの論理空間番号が記憶されるので、
それぞれのコール先のシステム・プログラムは、コール
元の空間を識別することが可能となり、処理に必要なパ
ラメータ参照を行うことができる。
ル元がユーザ側であれば論理空間番号レジスタ2にユー
ザの論理空間番号が記憶され、他方コール元がシステム
側であればシステムの論理空間番号が記憶されるので、
それぞれのコール先のシステム・プログラムは、コール
元の空間を識別することが可能となり、処理に必要なパ
ラメータ参照を行うことができる。
システム・コール時のコール元からコール先へのパラメ
ータ移転をさらに容易にするために9次のように、メモ
リ・マツピングにおいて物理アドレス空間の一定領域を
共通化する。
ータ移転をさらに容易にするために9次のように、メモ
リ・マツピングにおいて物理アドレス空間の一定領域を
共通化する。
第4図はその説明図であり、9は各ユーザあるいはシス
テムの論理アドレス空間、10はマツピング・レジスタ
、11は物理アドレス空間を表している。
テムの論理アドレス空間、10はマツピング・レジスタ
、11は物理アドレス空間を表している。
たとえばメモリ・マツピング・ハードウェアは4にバイ
ト単位にメモリ・マツピングを行うものとする。64に
バイトの領域をメモリ・マッピングするには、16個の
マフピング・レジスタ10が必要である。ここで、各論
理アドレス空間の最上位の4にバイトはいつも固定アド
レスを参照するとし、マツピング・レジスタ10の値を
変えないようにする。こうすることにより、システム空
間とユーザ空間の最上位のアドレス領域4にバイトを、
常に物理アドレス空間の同一の領域にマツピングするこ
とができる。
ト単位にメモリ・マツピングを行うものとする。64に
バイトの領域をメモリ・マッピングするには、16個の
マフピング・レジスタ10が必要である。ここで、各論
理アドレス空間の最上位の4にバイトはいつも固定アド
レスを参照するとし、マツピング・レジスタ10の値を
変えないようにする。こうすることにより、システム空
間とユーザ空間の最上位のアドレス領域4にバイトを、
常に物理アドレス空間の同一の領域にマツピングするこ
とができる。
ここで、ユーザ空間内でプログラムがシステム・コール
SCを実行する時は通常の方法で行うがシステム空間内
のプログラムがシステム・コールを実行する時は、この
最上位アドレスの領域にパラメータをセットし、システ
ム・コールを実行する。この方法によりシステム・プロ
グラムはパラメータがすべてユーザ空間にあるものとし
て処理できる。
SCを実行する時は通常の方法で行うがシステム空間内
のプログラムがシステム・コールを実行する時は、この
最上位アドレスの領域にパラメータをセットし、システ
ム・コールを実行する。この方法によりシステム・プロ
グラムはパラメータがすべてユーザ空間にあるものとし
て処理できる。
(発明の効果〕
本発明によれば、システム・コール呼出しがユーザ空間
内からかシステム空間内から実行されるかに関係なくシ
ステム・コールを実現でき、しかも呼出し側では、論理
空間アドレスを意識しないでシステム・コールの呼出し
ができる。
内からかシステム空間内から実行されるかに関係なくシ
ステム・コールを実現でき、しかも呼出し側では、論理
空間アドレスを意識しないでシステム・コールの呼出し
ができる。
第1図は本発明の1実施例の説明図、第2図は従来のシ
ステム・コールの説明図、第3図は第1図の実施例の処
理フロー図、第4図は空間に共通領域を設ける方法の説
明図である。 図中、lはシステム・コール割り込みベクタ。 2は論理空間番号レジスタ、3はプロセス・テーブル・
キュー、4はプロセス・スタック、5はユーザ・プロセ
ス、6はユーザ割り込み処理ルーチン、7はシステム割
り込み処理ルーチン、8はシステム・プログラムである
。
ステム・コールの説明図、第3図は第1図の実施例の処
理フロー図、第4図は空間に共通領域を設ける方法の説
明図である。 図中、lはシステム・コール割り込みベクタ。 2は論理空間番号レジスタ、3はプロセス・テーブル・
キュー、4はプロセス・スタック、5はユーザ・プロセ
ス、6はユーザ割り込み処理ルーチン、7はシステム割
り込み処理ルーチン、8はシステム・プログラムである
。
Claims (1)
- メモリ・マッピング機構を備えた計算機において、シス
テム・コールを行った時に、システム・コールを行った
空間を記憶する論理空間番号レジスタを設け、システム
・コールを実行する際に、該論理空間番号レジスタを参
照してパラメータの受け渡し制御を行うことを特徴とす
るシステム・コール制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24729984A JPS61125648A (ja) | 1984-11-22 | 1984-11-22 | システム・コ−ル制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24729984A JPS61125648A (ja) | 1984-11-22 | 1984-11-22 | システム・コ−ル制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61125648A true JPS61125648A (ja) | 1986-06-13 |
Family
ID=17161360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24729984A Pending JPS61125648A (ja) | 1984-11-22 | 1984-11-22 | システム・コ−ル制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61125648A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012216032A1 (de) | 2011-09-20 | 2013-03-21 | Fuji Jukogyo K.K. | Betätigungsvorrichtung für einen Verbrennungsmotor |
-
1984
- 1984-11-22 JP JP24729984A patent/JPS61125648A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012216032A1 (de) | 2011-09-20 | 2013-03-21 | Fuji Jukogyo K.K. | Betätigungsvorrichtung für einen Verbrennungsmotor |
DE102012216032B4 (de) * | 2011-09-20 | 2014-07-17 | Fuji Jukogyo K.K. | Betätigungsvorrichtung für einen Verbrennungsmotor |
US8857407B2 (en) | 2011-09-20 | 2014-10-14 | Fuji Jukogyo Kabushiki Kaisha | Operation device for engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5161226A (en) | Microprocessor inverse processor state usage | |
US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
US7926062B2 (en) | Interrupt and exception handling for multi-streaming digital processors | |
US5469571A (en) | Operating system architecture using multiple priority light weight kernel task based interrupt handling | |
EP1189137A1 (en) | Interruption managing device and interruption managing method | |
US20020103847A1 (en) | Efficient mechanism for inter-thread communication within a multi-threaded computer system | |
EP0327852A2 (en) | Information handling system | |
US20090183158A1 (en) | Determining a priority value for a thread for execution on a multithreading processor system | |
EP0614139A2 (en) | External procedure call for distributed processing environment | |
JPS61125648A (ja) | システム・コ−ル制御方式 | |
US5392426A (en) | Method and apparatus for use in program operation, control and control block management and storage | |
WO2000070482A1 (en) | Interrupt and exception handling for multi-streaming digital processors | |
JPS6349945A (ja) | デ−タ処理装置のプロセス・ロ−ルイン方式 | |
JPH01154237A (ja) | 時分割タスク実行装置 | |
JPH0635800A (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
EP1249757B1 (en) | Interrupt throttling for inter-processor communications | |
JP2808558B2 (ja) | 情報処理装置 | |
JPS61202258A (ja) | チャネル処理装置 | |
JPH064319A (ja) | オペレーティング・システムにおける共有ルーチン管理方式 | |
JPH03223955A (ja) | 情報処理システム | |
JPH03188531A (ja) | 時分割マルチタスク実行装置 | |
JP2633382B2 (ja) | マルチレジスタファイルシステム | |
JPH0477930A (ja) | マイクロコンピュータ | |
JPH03182945A (ja) | 主記憶内データ転送方式 | |
JPS61121153A (ja) | プロセツサ間通信制御方式 |