JPS616740A - 計算機システムにおけるプログラム制御方式 - Google Patents
計算機システムにおけるプログラム制御方式Info
- Publication number
- JPS616740A JPS616740A JP59125264A JP12526484A JPS616740A JP S616740 A JPS616740 A JP S616740A JP 59125264 A JP59125264 A JP 59125264A JP 12526484 A JP12526484 A JP 12526484A JP S616740 A JPS616740 A JP S616740A
- Authority
- JP
- Japan
- Prior art keywords
- task
- program
- core
- foreground
- background
- 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
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、単一計算機システムにおいて、複数のオペレ
ーティングシステム(以下、O8という。)を効率よく
制御するための制御方式に関するものである。
ーティングシステム(以下、O8という。)を効率よく
制御するための制御方式に関するものである。
(発明の背景〕
単一の計算機システムを多目的に利用する方法として、
それぞれの目的に合致する複数のO8を作成し、それら
のO8を一つの計算機システム(実計算機)の下で時分
割にさせて目的ごとのアプリケーションプログラムを実
行するという仮想計算機方式が採用されている(たとえ
ば、山谷著「仮想計算機」 (共立出版))。第1図は
その構成例で、実計算機1は、第1O8が動く仮想計算
機2と第2O8が動く仮想計算機3とからなり、これら
2つのO8が動作する仮想計算機システムである。これ
ら2つのO8が動作する仮想計算機である。仮想計算機
の構成の一つとして、特許願[計算機システムの制御方
式」 (昭和57年4月16日発明者二筒井他)がある
。この方式では、第1O8(以下、中核O8と呼ぶ)の
制御のもとに第2O8(以下、セカンダリO8と呼ぶ。
それぞれの目的に合致する複数のO8を作成し、それら
のO8を一つの計算機システム(実計算機)の下で時分
割にさせて目的ごとのアプリケーションプログラムを実
行するという仮想計算機方式が採用されている(たとえ
ば、山谷著「仮想計算機」 (共立出版))。第1図は
その構成例で、実計算機1は、第1O8が動く仮想計算
機2と第2O8が動く仮想計算機3とからなり、これら
2つのO8が動作する仮想計算機システムである。これ
ら2つのO8が動作する仮想計算機である。仮想計算機
の構成の一つとして、特許願[計算機システムの制御方
式」 (昭和57年4月16日発明者二筒井他)がある
。この方式では、第1O8(以下、中核O8と呼ぶ)の
制御のもとに第2O8(以下、セカンダリO8と呼ぶ。
)を構成することに特徴があった。
本発明の目的は、上記のような第108の制御のもとに
第2O8を構成するシステムにおいて。
第2O8を構成するシステムにおいて。
第2O8で作成したプログラムを、第1O8のもとで効
率的に実行するための、プログラム制御方式を提供する
ことにある。
率的に実行するための、プログラム制御方式を提供する
ことにある。
以下ではまず、上記発明を具体例として、そこにおける
制御方式の問題点を述べ、つぎに、本発明を実施例でも
って説明する。
制御方式の問題点を述べ、つぎに、本発明を実施例でも
って説明する。
第2図は、前記従来発明における計算機システムの構成
例を示すもので、基本的には、プロセッサl、主メモリ
2、入出力装置3およびバス4よりなり、主メモリ2に
は、割込みベクタテーブルディスパッチャ、トラップマ
ツピングテーブル、I10タスク等を含む中核0841
と、ユーザタスク群42と、セカンダリO8、セカンダ
リタスク群等を含むセカンダリOSタスク44とが格納
されている。
例を示すもので、基本的には、プロセッサl、主メモリ
2、入出力装置3およびバス4よりなり、主メモリ2に
は、割込みベクタテーブルディスパッチャ、トラップマ
ツピングテーブル、I10タスク等を含む中核0841
と、ユーザタスク群42と、セカンダリO8、セカンダ
リタスク群等を含むセカンダリOSタスク44とが格納
されている。
第3図は、主メモリ2に格納されたプログラムを使って
行う処理を説明するためのものである。
行う処理を説明するためのものである。
中核0841は、通常のO8として、オーバヘッドの小
さいリアルタイムO8であり、そのちとで、リアルタイ
ムアプリケーションプログラムであるユーザタスク群4
2が制御される。中核QS41内の割込みベクタテーブ
ル41−1は、SvCトラップ、例外トラップ、外部割
込みなどの割込に対するO8へのエントリアドレスを示
すテーブルである。タスクと中核O8とのインタフェー
スについて簡単に述べる。ユーザタスク群42からの中
核0841への要求は、SvCトラップにより1割込ベ
クタテーブル41−1を経由して、中核0841の処理
ルーチンを行い、処理終了後ディスパッチャ41−2を
経由して、元のタスクまたは他のタスクに制御が渡され
る。さらに中核O8には、各トラップに対してタスク毎
に個有の処理ができるように、各トラップ種別に対して
、処理アドレスを定義するトラップマツピングテーブル
41−3を各タスク毎に持つことができる。
さいリアルタイムO8であり、そのちとで、リアルタイ
ムアプリケーションプログラムであるユーザタスク群4
2が制御される。中核QS41内の割込みベクタテーブ
ル41−1は、SvCトラップ、例外トラップ、外部割
込みなどの割込に対するO8へのエントリアドレスを示
すテーブルである。タスクと中核O8とのインタフェー
スについて簡単に述べる。ユーザタスク群42からの中
核0841への要求は、SvCトラップにより1割込ベ
クタテーブル41−1を経由して、中核0841の処理
ルーチンを行い、処理終了後ディスパッチャ41−2を
経由して、元のタスクまたは他のタスクに制御が渡され
る。さらに中核O8には、各トラップに対してタスク毎
に個有の処理ができるように、各トラップ種別に対して
、処理アドレスを定義するトラップマツピングテーブル
41−3を各タスク毎に持つことができる。
セカンダリ○544−1は、このO8のもとに制御され
るタスク群44−2も含めて、中核oS41の1つのタ
スクセカンダリOSタスク44として、中核○S41に
よって制御され、その位置付けは、他のユーザタスク群
42と基本的に同様である。セカンダリタスク群を実行
中にSvCやバスエラーなどのトラップが発生すると、
割込みベクタテーブル41−1のアドレスに従って中核
0841のトラップエントリに入り、ついで、トラップ
が発生したタスクに対応トラップマツピングテーブル4
1−3のアドレスに従って、トラップエントリ44−3
に入り、セカンダリ○544−1による処理が行われる
。セカンダリO8での入出力は、I10タスク41−4
に起動をかけ、処理終了後、I10割込みエントリ44
−5に制御が戻ることによって実行される。
るタスク群44−2も含めて、中核oS41の1つのタ
スクセカンダリOSタスク44として、中核○S41に
よって制御され、その位置付けは、他のユーザタスク群
42と基本的に同様である。セカンダリタスク群を実行
中にSvCやバスエラーなどのトラップが発生すると、
割込みベクタテーブル41−1のアドレスに従って中核
0841のトラップエントリに入り、ついで、トラップ
が発生したタスクに対応トラップマツピングテーブル4
1−3のアドレスに従って、トラップエントリ44−3
に入り、セカンダリ○544−1による処理が行われる
。セカンダリO8での入出力は、I10タスク41−4
に起動をかけ、処理終了後、I10割込みエントリ44
−5に制御が戻ることによって実行される。
ここでは、セカンダリ0844−1としてプログラミン
グO8を仮定し、プログラミングO8上で、FORTR
ANやPacsal等の高級言語で書いたプログラムを
、セカンダリ0844−1上で動作させる(以下、バッ
クグランドランと呼ぶ。)のみならず中核0841上で
1つのタスクとして動作させる(以下、フォアグランド
ランと呼ぶ。)ことを可能とするプログラム制御方式に
ついて説明する。
グO8を仮定し、プログラミングO8上で、FORTR
ANやPacsal等の高級言語で書いたプログラムを
、セカンダリ0844−1上で動作させる(以下、バッ
クグランドランと呼ぶ。)のみならず中核0841上で
1つのタスクとして動作させる(以下、フォアグランド
ランと呼ぶ。)ことを可能とするプログラム制御方式に
ついて説明する。
第4図によって従来の制御方式について述べる。
中核0841のもとに、プログラミング0854をもつ
セカンダリOSタスク44が制御される。
セカンダリOSタスク44が制御される。
プログラミング0354のもとのセカンダリタスクの1
つ55のもとで、 FORTRAN Pa5ca1等の
高級言語で書かれたソースプログラム55−1をコンパ
イルし、オブジェクトプログラム55−2を作成する。
つ55のもとで、 FORTRAN Pa5ca1等の
高級言語で書かれたソースプログラム55−1をコンパ
イルし、オブジェクトプログラム55−2を作成する。
バックグランドランのためにはオブジェクトプログラム
55−2とバックグランド用ライブラリ55−3とをリ
ンクし、バックグランドプログラム55−4を作成し、
プログラミング0854のもとてバックグランドタスク
56として実行する。一方フオアグランドランのために
は、オブジェクトプログラム55−2とフォアグランド
用ライブラリ55−5とをリンクし、フォアグランドプ
ログラム55−6を作成し、中核O84]のもとてフォ
アグランドタスクとして実行する。
55−2とバックグランド用ライブラリ55−3とをリ
ンクし、バックグランドプログラム55−4を作成し、
プログラミング0854のもとてバックグランドタスク
56として実行する。一方フオアグランドランのために
は、オブジェクトプログラム55−2とフォアグランド
用ライブラリ55−5とをリンクし、フォアグランドプ
ログラム55−6を作成し、中核O84]のもとてフォ
アグランドタスクとして実行する。
ここでいう、バックグランド用ライブラリ55−3及び
フォアグランド用ライブラリには、実行時サブルーチン
や、中核O8上のリソースをアクセスするルーチンを含
む。
フォアグランド用ライブラリには、実行時サブルーチン
や、中核O8上のリソースをアクセスするルーチンを含
む。
ここで問題となる点は、バックグランド用ライブラリ5
5−5とバックグランド用ライブラリ55−3の2つを
作成しなければならない事である。さらにこのライブラ
リは、各高級言語に対応して作成しなければならないの
で、サポート言語の数が多くなると作成量が増大する。
5−5とバックグランド用ライブラリ55−3の2つを
作成しなければならない事である。さらにこのライブラ
リは、各高級言語に対応して作成しなければならないの
で、サポート言語の数が多くなると作成量が増大する。
もう一つの問題点は、フォアグランドプログラム55−
6とバックグランドプログラム55−4とが同一でない
ために、バックグランドランでエラーが発生しなくても
、フォアグランドランではエラーが発生する可能性があ
る。
6とバックグランドプログラム55−4とが同一でない
ために、バックグランドランでエラーが発生しなくても
、フォアグランドランではエラーが発生する可能性があ
る。
本発明は、上記の問題点を解決するためのプログラム制
御方式を提供するものである。
御方式を提供するものである。
以下、本発明の一実施例を第5図により説明する。中核
0841のもとに、プログラミング○S54をもつセカ
ンダリタスクスク44が制御される。プログラミング○
S54のもとのセカンダリタスクの1つ55のもとで、
ソースプログラム55−1をコンパイルし、オブジェク
トプログラム55−2を作成する。フォアグランドバッ
クグランドの区別なく、オブジェクトプログラム55−
2とライブラリ55−7とをリンクし、ロードモジュー
ル55−8を作成する。バックグランドランのためには
、ロードモジュール55−8をプログラミング0854
の下のバックグランドタスク56として動作させる。一
方フオアグランドランのためには、ロードモジュールを
フォアグランドプログラム部53−2として、プログラ
ミング0854のSvCトラップをエミュレートするエ
ミュレータ部53−1と結合し、フォアグランドタスク
53として、中核0341の下で動作させる。
0841のもとに、プログラミング○S54をもつセカ
ンダリタスクスク44が制御される。プログラミング○
S54のもとのセカンダリタスクの1つ55のもとで、
ソースプログラム55−1をコンパイルし、オブジェク
トプログラム55−2を作成する。フォアグランドバッ
クグランドの区別なく、オブジェクトプログラム55−
2とライブラリ55−7とをリンクし、ロードモジュー
ル55−8を作成する。バックグランドランのためには
、ロードモジュール55−8をプログラミング0854
の下のバックグランドタスク56として動作させる。一
方フオアグランドランのためには、ロードモジュールを
フォアグランドプログラム部53−2として、プログラ
ミング0854のSvCトラップをエミュレートするエ
ミュレータ部53−1と結合し、フォアグランドタスク
53として、中核0341の下で動作させる。
また、中核O8上のリソースをアクセスするルーチンを
、リンケージタスク57として作成し、バックグランド
タスク、フォアグランドタスクのいずれからでも、中核
○S上のリソースをアクセスできるようにする。
、リンケージタスク57として作成し、バックグランド
タスク、フォアグランドタスクのいずれからでも、中核
○S上のリソースをアクセスできるようにする。
上述の6工ミユレータ部は、バックグランドタスク56
が使用するプログラミング0854の中の5VC)−ラ
ップ処理ルーチンからなる。これにより、フォアグラン
ドプログラム部のSvcトラップを中核O8上でエミュ
レートすることができる。
が使用するプログラミング0854の中の5VC)−ラ
ップ処理ルーチンからなる。これにより、フォアグラン
ドプログラム部のSvcトラップを中核O8上でエミュ
レートすることができる。
本実施例によれば、リンケージタスク及びエミュレータ
部を作成することにより、フォアグランド、バックグラ
ンドの区別なく、プログラミング及び実行できるという
利点があり、従来方式の問題点であった、フォアグラン
ドとバックグランド用のライブラリを作成しなければな
らない点や、フォアグランドプログラムとバックグラン
ドプログラムの違いによる信頼性の低下という点が解消
されている。
部を作成することにより、フォアグランド、バックグラ
ンドの区別なく、プログラミング及び実行できるという
利点があり、従来方式の問題点であった、フォアグラン
ドとバックグランド用のライブラリを作成しなければな
らない点や、フォアグランドプログラムとバックグラン
ドプログラムの違いによる信頼性の低下という点が解消
されている。
本発明によれば、フォアグランド用のプログラムと3バ
ツクグランド用のプログラムとを同一にすることができ
、ライブラリをフォアグランド用とバックグランド用の
2つを作成することがなく操作も簡略化することができ
る。
ツクグランド用のプログラムとを同一にすることができ
、ライブラリをフォアグランド用とバックグランド用の
2つを作成することがなく操作も簡略化することができ
る。
また、バックグランド用のプログラムとフォアグランド
用のプログラムを同一にできるので、バックグランドで
十分テストを行うと、フォアグランドではエラーなく実
行でき、信頼性の高いものを作成することができる。
用のプログラムを同一にできるので、バックグランドで
十分テストを行うと、フォアグランドではエラーなく実
行でき、信頼性の高いものを作成することができる。
第1図は仮想計算機の構成図、第2図は本発明を適用す
る1つの対象となるシステム構成図、第3図はそのプロ
グラムの構成図、第4図は従来のプログラム制御方式を
示す図、第5図は本発明の一実施例を示す図である。 41・・・中核O8,44・・・セカンダリタスクスク
、54・・・プログラミングO8,55・・・セカンダ
リタスク八 升埋f 商憫ツj天 $1霞 第2霞 $3区 第4困 第5霞
る1つの対象となるシステム構成図、第3図はそのプロ
グラムの構成図、第4図は従来のプログラム制御方式を
示す図、第5図は本発明の一実施例を示す図である。 41・・・中核O8,44・・・セカンダリタスクスク
、54・・・プログラミングO8,55・・・セカンダ
リタスク八 升埋f 商憫ツj天 $1霞 第2霞 $3区 第4困 第5霞
Claims (1)
- 1、第1のオペレーティングシステムの下で第2のオペ
レーティングを第1のオペレーティングシステムのタス
クとして構成する複数のオペレーティングシステムで動
作する計算機システムにおいて、第2のオペレーティン
グシステムで作成したプログラムを第1のオペレーティ
ングのもとで実行するために、第2のオペレーティング
システムをエミユレートするプログラムと、第2のオペ
レーティングシステムから第1のオペレーティングシス
テムでのリソース制御を可能とするタスクとを設けたこ
とを特徴とする計算機システムにおけるプログラム制御
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59125264A JPS616740A (ja) | 1984-06-20 | 1984-06-20 | 計算機システムにおけるプログラム制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59125264A JPS616740A (ja) | 1984-06-20 | 1984-06-20 | 計算機システムにおけるプログラム制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS616740A true JPS616740A (ja) | 1986-01-13 |
Family
ID=14905774
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59125264A Pending JPS616740A (ja) | 1984-06-20 | 1984-06-20 | 計算機システムにおけるプログラム制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS616740A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02213945A (ja) * | 1988-12-29 | 1990-08-27 | Internatl Business Mach Corp <Ibm> | エキスパート・コンサルテーシヨンを行なうコンピユータ・システム |
| JPH04288956A (ja) * | 1990-10-22 | 1992-10-14 | General Electric Co <Ge> | 低流量ノズルおよび溶射成形方法 |
| JPH06324912A (ja) * | 1993-05-14 | 1994-11-25 | Nec Corp | 組み込みソフトウェアデバッグ支援装置 |
| JPH07503910A (ja) * | 1991-08-23 | 1995-04-27 | バプコック−ベー エス ハー アクチエンゲゼルシャフト フォールマールス ビュットナー−シルデ−ハース アクチエンゲゼルシャフト | 繊維強化された多層の石膏ボードを製造するための方法および装置 |
-
1984
- 1984-06-20 JP JP59125264A patent/JPS616740A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02213945A (ja) * | 1988-12-29 | 1990-08-27 | Internatl Business Mach Corp <Ibm> | エキスパート・コンサルテーシヨンを行なうコンピユータ・システム |
| JPH04288956A (ja) * | 1990-10-22 | 1992-10-14 | General Electric Co <Ge> | 低流量ノズルおよび溶射成形方法 |
| JPH07503910A (ja) * | 1991-08-23 | 1995-04-27 | バプコック−ベー エス ハー アクチエンゲゼルシャフト フォールマールス ビュットナー−シルデ−ハース アクチエンゲゼルシャフト | 繊維強化された多層の石膏ボードを製造するための方法および装置 |
| JPH06324912A (ja) * | 1993-05-14 | 1994-11-25 | Nec Corp | 組み込みソフトウェアデバッグ支援装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7685635B2 (en) | Systems and methods for multi-level intercept processing in a virtual machine environment | |
| US6711605B2 (en) | Multi OS configuration method and computer system | |
| US5038281A (en) | Acceleration of system interrupts between operating systems in guest-host relationship | |
| US9170904B1 (en) | I/O fault injection using simulated computing environments | |
| US12367062B1 (en) | Virtualization extension modules | |
| JPS6017539A (ja) | エミユレ−シヨン方式 | |
| US20040221200A1 (en) | Apparatus and method for debugging a logical partition | |
| Pointon et al. | The design and implementation of Glasgow Distributed Haskell | |
| CN118939565B (zh) | 一种使用Hypervisor对虚拟机单步运行的方法、装置、介质及产品 | |
| JPH0458056B2 (ja) | ||
| JPH06242987A (ja) | コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置 | |
| US9009020B1 (en) | Automatic identification of interesting interleavings in a multithreaded program | |
| EP1410170B1 (en) | Logical substitution of processor control in an emulated computing environment | |
| CN117573292A (zh) | 一种Xen运行通用RTOS虚拟机的方法 | |
| Einsweiler et al. | The Aleph event builder: a multi-user FASTBUS master | |
| JPS6049352B2 (ja) | デ−タ処理装置 | |
| US5812846A (en) | Method and apparatus for passing control from a first process to a second process | |
| JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
| JP2788353B2 (ja) | タスクトレース方法 | |
| EP0327197A2 (en) | I/O simulation | |
| CN1071269A (zh) | 具有与运行在虚拟模式下的指令相关的中断指令的计算机系统 | |
| JPH0883198A (ja) | プログラムシミュレーション装置 | |
| JPS6278642A (ja) | メモリ管理ユニツト制御方式 | |
| JPH0290331A (ja) | 仮想計算機システムのためのプロセツサ間通信命令処理装置 | |
| Bojovic et al. | The interactive development and testing system for a RISC-style processor |