JPH0193830A - 仮想計算機システムにおける割り込み制御方式 - Google Patents

仮想計算機システムにおける割り込み制御方式

Info

Publication number
JPH0193830A
JPH0193830A JP62249974A JP24997487A JPH0193830A JP H0193830 A JPH0193830 A JP H0193830A JP 62249974 A JP62249974 A JP 62249974A JP 24997487 A JP24997487 A JP 24997487A JP H0193830 A JPH0193830 A JP H0193830A
Authority
JP
Japan
Prior art keywords
interrupt
real
guest
virtual
computer system
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
Application number
JP62249974A
Other languages
English (en)
Inventor
Masajiro Fukunaga
雅次郎 福永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP62249974A priority Critical patent/JPH0193830A/ja
Publication of JPH0193830A publication Critical patent/JPH0193830A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想計算機システムにおける割り込み制御方式
に関し、特に仮想計算機における異種ゲストOS実行の
ための割り込み制御方式に関する。
〔従来の技術〕
仮想計算機システムは、実計算機上に実現された複数の
仮想計算機上で実行されるオペレーティング・システム
(ゲストOS)と、その実行を管理するプログラム(V
Mモニタ)とからなる。
従来、この種の仮想計算機システムでは、同一アーキテ
クチャのゲストOSを複数個同時に実行するものしかな
かった。ゲストOSは通常マルチプロセスのオペレーテ
ィング・システムであり、各々のプロセスを有効に管理
するための手段として、セマフォによるプロセス間同期
制御を行なっている。VMモニタは仮想計算機環境を実
現するために、ゲストOS内で実行されたセマフォオペ
レーションを監視し、そのタイミングにより各ゲストO
Sがどの計算機資源を使用、あるいは要求中かを知るこ
と(二より。
中央処理装置および周辺デバイスの割り当てを動的に行
なっている。
サラに、一般にはセマフォオペレーション以外のシステ
ムコール(ゲストOS内の各プロセスから呼び出し可能
な汎用ルーチンの総称で通常個々のオペレーティングシ
ステムごとに異なる)も監視することにより、より効率
的に仮想計算機環境を実現している。この内容について
は1例えば、情報処理学会で1986年2月4日発表の
[計算機システムの制御と評価研究会資料1846.7
を参照されたい。
〔発明が解決しようとする問題点〕
上述した従来の仮想計算機システムは、実計算機の仮想
化の手段としてゲストOSのシステムコールを監視する
ことにより実現している。
特(=、すべての仮想計算機上のプロセスの同期管理の
ために、各々のゲストOSでのセマフォオペレーション
を監視するため1ユ、VMモニタはゲストOSのアーキ
テクチャを強く意識する必要がある。従って異なるアー
キテクチャを有する異種OSを同−VMモニタ上で実行
することはできないという問題点がある。
本発明は従来のもののこのような問題点を解決しようと
するもので、異なるアーキテクチャを有する異種OSを
同−VMモニタ上で実行することのできる仮想計算機シ
ステムにおける割り込み制御方式を提供するものである
〔問題点を解決するための手段〕
本発明の仮想計算機システムにおける割り込み制御方式
は2周辺装置を制御する実デバイスコントローラ、実割
り込みコントローラー不正命令トラップ機構および中央
処理装置とを有する実計算機システムと、各実デバイス
コントローラを制御する仮想デバイスコントローラ、ゲ
ストOSに対する割り込みを制御する仮想割り込みコン
トローラ、ゲストOSで発生した例外を処理する例外処
理プロセッサおよびこれらのプロセスとゲストOSのプ
ロセスの管理を行なうリアルタイムカーネルからなるV
Mモニタを含み2割り込みハンドラを定義している実割
込記述子テーブルと各ゲストOSごとの割り込みハンド
ラを定義した仮想割込記述子テーブルを有して構成され
る。
〔実施例〕
次に2本発明について図面を参照して説明する。
第1図は本発明の一実施例のシステム構成図である。こ
の仮想計算機システムは、ゲストOSに仮想計算機環境
を提供するために、実計算機システムとVMモニタとを
含み構成されている。図において、実計算機システムは
実デバイスコントローラ1a+1b+・川・・1m、実
割り込みコントローラ2.不正命令トラップ機構3.中
央処理装置4により構成されている。実デバイスコント
ローラ1は実計算機システムに接続される周辺デバイス
ごとに存在し、中央処理装置4の指示に従い周辺デバイ
スを制御する。実デバイスコントローラ1は周辺デバイ
スの処理が終了したことを中央処理装置4に通知するた
めに実割り込みコントローラ2に対して割り込みをかけ
る。実割り込みコントローラ2は実デバイスコントロー
ラ1から割り込み要求を受けたとき、下記の条件Aを満
たすときVMモニタに実デバイスコントローラ1から割
り込みがあったことを通知する。
〔条件A〕 実割り込みコントローラ2がVMモニタに
割り込みを通知するための必要十分条件 (1)  V M −[: :タカ実割り込みコントロ
ーラの要求割り込みレベルに対してマスクをかけていな
いこと。
(2)VMモニタが処理中の割り込みレベルより、要求
割り込みレベルが高いこと。
(3>VMモニタが割り込み可能状態であること。
不正命令トラップ機構3はゲスト0s11 が仮想計算
機環境を乱す可能性のある命令を実行しようとしたとき
、それをVMモニタに通知する。これをゲスト0311
で例外が発生したと言う。一般に例外を発生させる命令
は多数考えられるが、ここでは特(=中央処理装置4の
モードを変更する命令および工10命令についてのみト
ラップされるものとする。中央処理装置4は実計算機シ
ステム自身の制御、VMモニタおよび仮想計算機環境の
実行を行なう。
VMモニタは実割込記述子テーブル5. Vi想デバイ
スコントローラ6a、6b、・・・・・・、6m、仮想
割り込みコントローラ7、例外処理プロセッサ8.リア
ルタイムカーネル9により構成される。実割込記述子テ
ーブル5はリアルタイムカーネル9の内にあり2割り込
みが発生したときその処理を行なう割り込みハンドラを
定義するテーブルである。実割り込みコントローラ2が
VMモニタに割り込みを通知すると2中央処理装置4は
実割込記述子テーブルを参照して、目的の割り込みハン
ドラに制御を渡す。仮想デバイスコントローラ6 a 
+ 6 b +・・・・・・、6mは実デバイスコント
ローラ1a、1b、・・・・・・、1mの制御を行なう
。仮想デバイスコントローラ6は割り込みが発生したと
き、もしくはゲス)O3で実デバイスコントローラ乙に
対して例外が発生した場合それにより仮想デバイスコン
トローラ乙の内部状態が変化したとき、それをゲストO
311に通知しなければならない。そこで、仮想デバイ
スコントローラ6は仮想割り込みコントローラ7に対し
て疑似割り込み要求を行なう必要がある。仮想割り込み
コントローラ7は仮想デバイスコントローラ6から来る
疑似割り込み要求をチエツクし、下記の条件Bを満すと
きゲスト0311+二疑似割り込みを通知する。
〔条件B〕 疑似割り込みを目的ゲストOSに通知する
ための必要条件 (1)目的ゲストOSが仮想割り込みコントローラの要
求割り込みレベルに対してマスクをかけていないこと。
(2)目的ゲストOSで処理中の割り込みレベルより、
要求割り込みレベルが高いこと。
(3)目的ゲストOSが割り込み可能状態であること。
目的ゲス)O3が条件Bを満たさない場合。
その疑似割り込み要求は仮想割り込みコントローラ7に
より一時的に保留される。このとき目的ゲストOSの状
態が変化し1条件Bを満たしたならば、仮想割り込みコ
ントローラ7は直ちに目的ゲストOSに対して疑似割り
込みを発生させる。また、仮想割り込みコントローラ7
が疑似割り込みを保留中であるC二もかかわらず。
さらに同−割り込みレベル(二対して疑似割り込み要求
があったとき、仮想割り込みコントローラ7は仮想デバ
イスコントローラ6に対して疑似割り込みのオーバーラ
ンが発生したことを通知するとともにその疑似割り込み
要求を無視する。
ところで、仮想割り込みコントローラ7が疑似割り込み
要求のプライオリティをチエツクするとき、必ずしも実
割り込みコントローラ2と各ゲストOSの割り込みレベ
ルのプライオリティは一致していない。このため、仮想
割り込みコントローラ7はあらかじめゲストOSごとの
割り込みレベルに関する対応表を用意し2割り込みレベ
ルのプライオリティを変換しなければならない。
例外処理プロセッサ8はゲスl−0311が不正命令を
実行しようとしたとき不正命令トラップ機構3によりト
ラップされたとき起動される。
例外処理プロセッサ8はトラップされた命令および命令
長を求め2例外発生命令が中央処理装置のモード変更命
令の場合はそのエミュレーションを行ない、工10命令
の場合は仮想デバイスコントローラ6を呼び出しエミュ
レーションを行なう。さらに2例外処理プロセッサ8は
例外発生命令をスキップするために命令ポインタに例外
発生命令長を加算する必要がある。リアルタイムカーネ
ル9はVMモニタ内のプロセスおよびすべてのゲス)O
S11のプロセスの実行を管理する。リアルタイムカー
イ・ル9はゲス)0311の実行状態を管理するために
第2図に示すようなゲストOSコントロールブロックを
持っている。
ゲストOSコントロールブロックは非例外GCBと例外
C,CBからなり、各ゲストOSごとに存在する。リア
ルタイムカーイ・ル9は非例外GCB、例外処理プロセ
ッサ8は例外GCB。
仮想割り込みコントローラ7は非例外GCBおよび例外
GCB+二よりゲスト○Sの状態を管理している。仮想
割込記述子テーブル10a+10b+・・・・・・、1
0nは各ゲストOSごとの割り込みノへンドラを定義し
たテーブルであり、仮想割り込みコントローラ7がゲス
トOS+二対し疑似割り込みをかけるとき参照する。ゲ
ス)O311a。
11b、・・・・・・、11nは仮想計算機環境で動作
するオペレーティング・システムである。このゲストO
SはVMモニタがないとき実計算機システム上で動作す
る必要があるという点以外の制約はない。
次に仮想割り込みコントローラ7によるゲストOS割り
込みハンドラのスケシュリングについて説明する。第3
図(a)で示されるよう(−、ゲストOSが走行中に疑
似割り込みが発生したとき、仮想割り込みコントローラ
7はゲストOSコントロールブロック内の非例外GCB
内の命令ポインタをそのゲストOSのスタック上の退避
し、非例外GCB内のスタックポインタを更新する。さ
らに、非例外GCB内の命令ポインタの値を仮想割込記
述子テーブル10が示す値ル9に対してwaitを実行
することにより、ゲストO5はゲストOSコントロール
ブロックの内容を基に実行を再開する。
このとき、ゲストOSコントロールブロックの内容は仮
想割り込みコントローラ7が行なう疑似割り込み処理に
よって、命令ポインタが仮想割込記述子テーブルに登録
されているゲストOSの割り込みハンドラとなっている
ため、ゲストOSの割り込みハンドラが動作することに
なる。その後、ゲストOSの割り込みハンドラの動作が
終了すると、ゲス)OSのスタックから命令ポインタを
読み出し、処理が続行される。
このスタックから読み出された命令ポインタの値は仮想
割り込みコントローラ7がスタック(二退避したもの、
すなわち割り込み発生直後の命令を指す。従ってゲスト
OSは割り込み発生前の状態からプログラムの実行を再
開できる。
同様に、第6図(b)で示されるように、ゲスト○S走
行中に実デバイスコントローラ1aに対して例外が発生
したとき、vi想デバイスコントローラ6aは例外発生
の次の命令ポインタをゲストOSコントロールブロック
内の例外GOB内(二退避しその例外処理を行なう。こ
のとき。
実デバイスコントローラ1bに対して割り込みが発生す
ると、対応する仮想デバイスコントローラ6bが起動さ
れる。この時点で、仮想デバイスコントローラ6bがゲ
ストOSに対し疑似割込要求を行なうと、仮想割り込み
コントローラ7はゲストOSコントロールブロック内の
例外GCBの命令ポインタ、スタックポインタおよびゲ
ストOSのスタックを操作し、ゲストOSの割り込みハ
ンドラをスケジューリングする。
仮想デバイスコントローラ6bl二対する割り込み処理
終了後、リアルタイムカーイ・ル9に対しwaitする
ことにより、非例外GCBで示された場所すなわち仮想
デバイスコントローラ6aの例外処理の続きから処理が
再開する。仮想デバイスコントローラ6aに対する例外
処理終了後、リアルタイムカーネル9に対しwaitを
行なうことにより、ゲストOSコントロールブロックの
例外GCBから処理を続行することでゲストOSの割り
込みハンドラが実行される。
以下、非例外中の処理と同様にして割り込みハンドラ終
了後1例外発生の次の命令から実行される。
尚第6図において■、■1は非例外GCBアクセスによ
るプロセス切換、■、■′は例外GGBアクセスによる
プロセス切換を示す。
ところで、上述の方法では複数の割り込みが同時(二発
生したとき、ある疑似割り込み要求が仮想割り込みコン
トローラ7により保留されたままとなる可能性がある。
そこでタイマ監視を行ない、仮想割り込みコントローラ
7が保留中の疑似割り込みをチエツクすることにより、
疑似割り込み要求のタイムラグをできるだけ小さくする
ことができる。
このよう(22本実施例は、仮想計算機システム上で動
作するプロセスの実行管理をゲストOSが行なうセマフ
ォオペレーション等により行なうのでなく、実計算機が
本来行なっているハードウェア動作をエミュレーション
することにより行なうよう(ニしたものであり、これ(
=よって次のことが可能となる。
(+)  ゲストOSのアーキテクチャに依存しない仮
想計算機システムが構築できる。
(2)複数の異なるアーキテクチャのゲストOSを同時
に動作させることができる。
(3)各々のゲストOSごとに異なる割り込みハンドラ
を持つため、各ゲストOSの特色を生かしたシステム構
成が可能となる。
(4)  リアルタイムOSとバッチ処理に適したOS
を混在させることが可能である。
〔発明の効果〕
以上説明したように2本発明は複数の異なるアーキテク
チャのゲストOSを同時(二動作させることのできる効
果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図はゲストOSコントロールブロックの説明図、第3
図は疑似割り込み処理のタイミングチャートである。 図::おいて、1a、1b、1mは実デバイスコントロ
ーラ、2は実割り込みコントローラ、6は不正命令トラ
ップ機構、4は中央処理装置。 5は実割込記述子テーブル、6a、6b、6mは仮想デ
バイスコントローラ、7は仮想割り込みコントローラ、
8は例外処理プロセッサ、9はリアルタイムカーネル+
  10 a + 10 b + 10 nは仮想割込
記述子テープ/l/、11a、11b、11nはゲスト
OSである。 第1 図 第2図 第3図 (l11.) (b)

Claims (1)

    【特許請求の範囲】
  1. 仮想計算機システムにおいて、周辺装置を制御する実デ
    バイスコントローラ、実割り込みコントローラ、不正命
    令トラップ機構および中央処理装置とを有する実計算機
    システムと、各実デバイスコントローラを制御する仮想
    デバイスコントローラ、ゲストOSに対する割り込みを
    制御する仮想割り込みコントローラ、ゲストOSで発生
    した例外を処理する例外処理プロセッサおよびこれらの
    プロセスとゲストOSのプロセスの管理を行なうリアル
    タイムカーネルからなるVMモニタを含み割り込みハン
    ドラを定義している実割込記述子テーブルと、各ゲスト
    OSごとの割り込みハンドラを定義した仮想割込記述子
    テーブルとを有することを特徴とする仮想計算機システ
    ムにおける割り込み制御方式。
JP62249974A 1987-10-05 1987-10-05 仮想計算機システムにおける割り込み制御方式 Pending JPH0193830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62249974A JPH0193830A (ja) 1987-10-05 1987-10-05 仮想計算機システムにおける割り込み制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62249974A JPH0193830A (ja) 1987-10-05 1987-10-05 仮想計算機システムにおける割り込み制御方式

Publications (1)

Publication Number Publication Date
JPH0193830A true JPH0193830A (ja) 1989-04-12

Family

ID=17200956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62249974A Pending JPH0193830A (ja) 1987-10-05 1987-10-05 仮想計算機システムにおける割り込み制御方式

Country Status (1)

Country Link
JP (1) JPH0193830A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540643A (ja) * 1991-08-06 1993-02-19 Nec Corp 複数os同時動作時のh/w割込み制御方式
JP2006506752A (ja) * 2002-11-18 2006-02-23 エイアールエム リミテッド 安全処理システムにおける例外タイプ
JP2007507779A (ja) * 2003-10-01 2007-03-29 ジャルナ エスアー オペレーティングシステム
US7281075B2 (en) 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
JP2008041093A (ja) * 2006-08-01 2008-02-21 Internatl Business Mach Corp <Ibm> 多数の論理パーティションにわたって仮想入力/出力操作を分散させるためのシステム及び方法
JP2009176139A (ja) * 2008-01-25 2009-08-06 Mitsubishi Electric Corp Os優先度変更装置及びos優先度変更プログラム
JP2010512577A (ja) * 2006-12-06 2010-04-22 マイクロソフト コーポレーション 仮想環境における最適化した割り込み送信
JP2010515152A (ja) * 2006-12-28 2010-05-06 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 仮想環境割り当てシステム及び仮想環境割り当て方法
JP2010218539A (ja) * 2008-12-31 2010-09-30 Intel Corp 物理的デバイスコントローラの仮想化をサポートするトランザクションのインジェクト方法
JP2017204307A (ja) * 2013-03-14 2017-11-16 クアルコム,インコーポレイテッド ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法
US9959225B2 (en) 2013-01-31 2018-05-01 Mitsubishi Electric Corporation Computer apparatus and control method of computer apparatus
JP2021517291A (ja) * 2018-03-05 2021-07-15 アーム・リミテッド 外部例外処理

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540643A (ja) * 1991-08-06 1993-02-19 Nec Corp 複数os同時動作時のh/w割込み制御方式
JP2006506752A (ja) * 2002-11-18 2006-02-23 エイアールエム リミテッド 安全処理システムにおける例外タイプ
US7949866B2 (en) 2002-11-18 2011-05-24 Arm Limited Exception types within a secure processing system
US7661105B2 (en) 2002-11-18 2010-02-09 Arm Limited Exception types within a secure processing system
US7281075B2 (en) 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
US7546406B2 (en) 2003-04-24 2009-06-09 International Business Machines Corporation Virtualization of a global interrupt queue
JP2007507779A (ja) * 2003-10-01 2007-03-29 ジャルナ エスアー オペレーティングシステム
JP2008041093A (ja) * 2006-08-01 2008-02-21 Internatl Business Mach Corp <Ibm> 多数の論理パーティションにわたって仮想入力/出力操作を分散させるためのシステム及び方法
JP2010512577A (ja) * 2006-12-06 2010-04-22 マイクロソフト コーポレーション 仮想環境における最適化した割り込み送信
JP4882005B2 (ja) * 2006-12-06 2012-02-22 マイクロソフト コーポレーション 仮想環境における最適化した割り込み送信
JP2010515152A (ja) * 2006-12-28 2010-05-06 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 仮想環境割り当てシステム及び仮想環境割り当て方法
US9317309B2 (en) 2006-12-28 2016-04-19 Hewlett-Packard Development Company, L.P. Virtualized environment allocation system and method
JP2009176139A (ja) * 2008-01-25 2009-08-06 Mitsubishi Electric Corp Os優先度変更装置及びos優先度変更プログラム
JP2010218539A (ja) * 2008-12-31 2010-09-30 Intel Corp 物理的デバイスコントローラの仮想化をサポートするトランザクションのインジェクト方法
US9959225B2 (en) 2013-01-31 2018-05-01 Mitsubishi Electric Corporation Computer apparatus and control method of computer apparatus
JP2017204307A (ja) * 2013-03-14 2017-11-16 クアルコム,インコーポレイテッド ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法
JP2021517291A (ja) * 2018-03-05 2021-07-15 アーム・リミテッド 外部例外処理

Similar Documents

Publication Publication Date Title
TWI547876B (zh) 虛擬環境之中斷處理方法與系統
US7810083B2 (en) Mechanism to emulate user-level multithreading on an OS-sequestered sequencer
Tu et al. A comprehensive implementation and evaluation of direct interrupt delivery
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
JPH01241631A (ja) 仮想計算機データ処理システムにおけるバッチ・タスク処理の中断方法
US20160048676A1 (en) Apparatus and method thereof for efficient execution of a guest in a virtualized environment
JPH02208740A (ja) 仮想計算機制御方式
KR20160033517A (ko) 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법
WO2012016439A1 (zh) 业务管理方法和装置、以及设备
JPH0193830A (ja) 仮想計算機システムにおける割り込み制御方式
EP3241149A1 (en) Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system
US10846088B2 (en) Control of instruction execution in a data processor
US20160371113A1 (en) Information processing device, information processing method, recording medium, calculation processing device, calculation processing method
US20090241112A1 (en) Recording medium recording virtual machine control program and virtual machine system
US6990669B1 (en) Real-time scheduler
JPH01124042A (ja) 仮想計算機システムにおける回線制御方式
Saranya et al. An implementation of partitioned scheduling scheme for hard real-time tasks in multicore linux with fair share for linux tasks
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing
WO2022172366A1 (ja) サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム
JPH05120039A (ja) タスクスケジユーリング方式
US20240134669A1 (en) Paravirtual pause loops in guest user space
JPS61148535A (ja) 関数型/論理型言語処理装置
JPH02187830A (ja) 割り込み制御方式
JP2581327B2 (ja) 仮想計算機の入出力割込み処理方式
KR20220134956A (ko) 대칭적 인터페이스를 이용하여 외부 서비스 요청 처리가 가능한 프로세서