JPH0512045A - 計算機システムの動作継続方法および装置 - Google Patents

計算機システムの動作継続方法および装置

Info

Publication number
JPH0512045A
JPH0512045A JP3300183A JP30018391A JPH0512045A JP H0512045 A JPH0512045 A JP H0512045A JP 3300183 A JP3300183 A JP 3300183A JP 30018391 A JP30018391 A JP 30018391A JP H0512045 A JPH0512045 A JP H0512045A
Authority
JP
Japan
Prior art keywords
guest
continuous
mode
virtual machine
area
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
JP3300183A
Other languages
English (en)
Inventor
Taro Inoue
太郎 井上
Hidenori Umeno
英典 梅野
Toshiharu Tanaka
俊治 田中
Tadashi Yamamoto
正 山本
Toru Otsuki
徹 大築
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH0512045A publication Critical patent/JPH0512045A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】仮想計算機モニタのプログラム不良による障害
が発生した場合でも、特定の仮想計算機の動作は継続で
きるようにする。 【構成】仮想計算機モニタ15に障害が発生した場合
に、図1(b)の状態から図1(a)の状態に移行させ
て、仮想計算機のOS16(複数あるうちの1つ)をス
ーパバイザモードで走行させ、AP17をプロブレムモ
ードで走行させる。この場合に、仮想計算機モニタ15
が行っていたデイスパッチングや命令シミュレーション
等を不要にし、実計算機10上で仮想計算機のOS16
が直接走行できるようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、実計算機上で複数の仮
想的な計算機を動作させる計算機システムに関する。特
に、仮想的な計算機を制御するモニタプログラムにプロ
グラム不良による障害が発生した場合にも、特定の仮想
的な計算機の動作を継続させるための動作継続方法およ
びその装置に関する。
【0002】
【従来の技術】仮想計算機システム(Virtual
Machine System:VMS)とは、1台の
実計算機上で複数の仮想計算機(VirtualMac
hine:VM)を同時に動作させるシステムである。
この仮想計算機システムには、仮想計算機を制御するプ
ログラムある仮想計算機モニタ(Virtual Ma
chine Monitor:VMM)が設けられてお
り、それは仮想計算機のスケジューリング、ディスパッ
チング、命令シミュレーション等を実行する。また、最
近では、仮想計算機システムと同様な目的を有するシス
テムとして、論理分割システムと呼ばれるものも出現し
ている。これは、仮想計算機システムにおける仮想計算
機モニタに相当するハイパバイザを利用者からは見えな
いようにして、その操作をハードウェアの操作として提
供するものである。そして、仮想計算機システムにおけ
る仮想計算機に対応するものとして論理区画(Logi
cal Partition:LPAR)がある。
【0003】これらの仮想計算機システム、または論理
分割システムでは、仮想計算機の制御情報を格納するテ
ーブルおよびシステム全体の情報を格納するテーブル等
は主記憶装置上に配置される。そこで、仮想計算機がデ
ィスパッチされる度に、主記憶装置に格納されているデ
イスパッチされた仮想計算機のプログラム状態語(Pr
ogram Status Word:PSW)や汎用
レジスタや制御レジスタ等の各種レジスタの値、およ
び、各種タイマーの値等の制御情報が実計算機上にセッ
トされ、仮想計算機の動作が開始される。
【0004】ここで、実計算機のゲストモードと非ゲス
トモードを定義しておく。ゲストモードとは、仮想計算
機が動作するモードである。また、非ゲストモードと
は、仮想計算機の動作を制御する仮想計算機モニタある
いはハイパバイザが動作するモードのことである。非ゲ
ストモードからゲストモードへの切替えは、仮想計算機
モニタあるいはハイパバイザがSIE(Start I
nterpretiveExecution)命令を発
行することによって行われる。すなわち、SIE命令が
発行されると、その命令のオペランドで指定された仮想
計算機に関するプログラム状態語や汎用レジスタおよび
制御レジスタ等の各種レジスタの値、および各種タイマ
ーの値等の制御情報が、それぞれ実計算機にセットされ
て、指定された仮想計算機が動作を開始するのである。
【0005】仮想計算機のオペレーテイングシステム
(Operating System:OS)はその仮
想計算機の絶対アドレス(ゲスト絶対アドレス)を用い
て、主記憶装置にアクセスする。しかしながら、このゲ
スト絶対アドレスと、その仮想計算機が動作する実計算
機の実主記憶装置上の絶対アドレス(ホスト絶対アドレ
ス)は異なる。そこで、通常、ゲストモードで動作中に
は、仮想計算機のOSが指定したゲスト絶対アドレスを
ホスト絶対アドレスに変換する処理実行される。田口敏
夫他「実計算機モードと仮想計算機モード間の動的切替
え制御方式について」情報処理学会論文誌 Vol.2
2,No.3,May 1981,pp.206〜21
5には、ゲストモードと非ゲストモードとの区別がない
実計算機上で仮想計算機システムを構築した場合に、仮
想計算機上で動作していたOSを引き続きベアマシン上
で継続動作させる方法の記述がある。
【0006】
【発明が解決しようとする課題】本発明の目的は、仮想
計算機システムあるいは論理分割システムにおいて、仮
想計算機モニタあるいはハイパバイザにプログラム不良
による障害が発生した場合にも、特定の仮想計算機の動
作を継続することが可能な計算機システムの動作継続方
法および装置を提供することにある。
【0007】本発明の他の目的は、仮想計算機モニタあ
るいはハイパバイザが割込みを保留しないようにして、
ゲストモードで動作していたOSの動作を非ゲストモー
ドで継続させることが可能な計算機システムの動作継続
方法および装置を提供することにある。
【0008】上記目的は、次のような従来技術における
問題点の認識に基づく。
【0009】上記従来技術のいずれの場合にも、仮想計
算機の制御情報を格納するテーブルやシステム全体に係
わる情報を格納するテーブル等は、主記憶装置上に存在
する。従って、仮想計算機モニタあるいはハイパバイザ
のプログラムの不良によって障害が発生すると、主記憶
装置上でそれらが破壊される可能性があり、システム全
体の動作の停止を招くことになる。
【0010】最近においては、仮想計算機システムや論
理分割システム上でオンラインシステムやプロダクショ
ンシステムを運用する例が増加してきている。このよう
な場合には、システムが停止したときの影響は極めて大
になるため、仮想計算機モニタあるいはハイパバイザに
障害が発生した場合にも、これらのシステムだけは運用
を継続できることが要望されている。
【0011】また、仮想計算機上で動作していたOSの
動作をベアマシン上へ継続させる場合、継続動作させる
以前に仮想計算機モニタあるいはハイパバイザが保留し
た割込みをOSに引き継ぐ必要がある。しかしながら、
従来の技術では、仮想計算機モニタあるいはハイパバイ
ザが保留した割込みをOSに引き継ぐことができないた
め、割込みが消失する可能性がある。
【0012】
【課題を解決するための手段】本発明の望ましい実施態
様の一つである計算機システムの動作継続装置は次のよ
うに構成される。主記憶装置に、ゲストモードから非ゲ
ストモードへ切り替わった場合にも動作を継続する仮想
計算機(継続ゲスト)が使用するためのゲスト絶対アド
レスとホスト絶対アドレスとが等しい領域と、その他の
各仮想計算機が使用するゲスト領域と、仮想計算機モニ
タが存在する領域と、継続ゲストをデイスパッチするた
めのモジュールを格納する領域とを設ける。そして、プ
ロセッサ内に仮想計算機モニタのプログラム不良による
障害の発生を検出する手段を設け、障害発生検出手段に
よる障害の検出に応答して、主記憶装置内の継続ゲスト
をデイスパッチするためのモジュールを起動する。
【0013】本発明の望ましい実施態様の他の一つであ
る計算機システムの動作継続方法は次のように構成され
る。仮想計算機モニタにプログラム不良による障害が発
生すると、その障害発生に対応する割込みの発生、ある
いはオペレータからのコマンドの投入により、仮想計算
機モニタは、ゲストモードで走行中のすべての仮想計算
機の動作を停止させる。そして、仮想計算機モニタをダ
ンプし、ゲストモードで動作中の仮想計算機のうちのあ
らかじめ指定された1つの仮想計算機上のOSを非ゲス
トモードの移行して動作させる。
【0014】前述の実施態様において、さらに、ゲスト
モードから非ゲストモードに移行して動作を継続する仮
想計算機は,V=R方式の仮想計算機(仮想計算機の主
記憶装置の絶対アドレスが実主記憶装置の絶対アドレス
と等しくなるように、実主記憶装置の低位からの連続領
域を専有する仮想計算機)である。また、仮想計算機モ
ニタは、仮想計算機が使用する命令プロセッサ番号と同
一番号の実計算機の命令プロセッサを、仮想計算機に占
有させる。また、仮想計算機モニタは、仮想計算機が使
用する入出力割込みサブクラス番号と同一番号の実計算
機の入出力割込みサブクラスを、仮想計算機に占有させ
る。また、実計算機システムは、インタセプションある
いはホスト割込みが発生すると、命令プロセッサ中のゲ
ストPSW,汎用レジスタの一部、ゲスト制御レジス
タ、ゲストクロックコンパレータおよびゲストCPUタ
イマの値を含む動作情報を主記憶装置内の仮想計算機モ
ニタ領域に転送して退避し、ゲストが、ゲストモードか
ら非ゲストモードへ動作を継続する仮想計算機(継続ゲ
スト)であるときには、さらに汎用レジスタの残り、お
よびアクセスレジスタを含む動作情報を、主記憶装置内
のハードウエアシステム領域(HSA)に転送して退避
する。さらに、ゲストモードから非ゲストモードへ動作
を継続する仮想計算機(継続ゲスト)は、主記憶装置内
のハードウエアシステム領域(HSA)に格納されてい
るモジュールを起動することによりデイスパッチされ
る。さらに、仮想計算機システムに置き換えて論理分割
システムを設け、仮想計算機の代わりに論理区画(ロジ
カルパーテイション)を設け、上記仮想計算機モニタの
代わりにハイパバイザを設けてもよい。
【0015】
【作用】本発明の望ましい実施態様のそれぞれにおいて
は、仮想計算機システムあるいは論理分割システムにお
いて、インタセプションあるいはホスト割込みが発生し
て、仮想計算機が走行中の状態(ゲストモード)から、
仮想計算機モニタあるいはハイパバイザが走行する状態
(非ゲストモード)に移行する場合、その仮想計算機の
制御情報をアドレス空間以外の領域であるハードウェア
システムエリア(HSA)にも退避する。これにより、
仮想計算機モニタあるいはハイパバイザのプログラム不
良による障害が発生してアドレス空間上に格納されてい
る仮想計算機の制御情報が破壊されても、上記HSA上
に格納されている仮想計算機の制御情報は破壊されずに
残るので、その仮想計算機の動作を引き続いて実行する
ことができる。そして、上記HSAに動作の継続が必要
な仮想計算機の動作の継続を開始させるプログラム等を
格納する領域を確保することにより、仮想計算機モニタ
あるいはハイパバイザのプログラム不良による障害が発
生しても、その継続開始プログラムは破壊されずに残
る。
【0016】また、V=R方式の仮想計算機を、動作継
続が必要な仮想計算機に適用している。V=R方式の仮
想計算機では、仮想計算機の主記憶装置の絶対アドレス
が実主記憶装置の絶対アドレスと等しくなるように、実
主記憶装置の低位からの連続領域を専有するので、ゲス
ト絶対アドレスからホスト絶対アドレスへのアドレス変
換の必要がない。
【0017】また、動作を継続させる仮想計算機が使用
するプロセッサ番号と同一番号の実計算機の命令プロセ
ッサを、その仮想計算機に専有させ、かつ、動作を継続
させる仮想計算機が使用する入出力割込みサブクラスと
同一番号の実計算機の入出力割込みサブクラスを仮想計
算機に専有させる。これにより、入出力割込みは、仮想
計算機モニタあるいはハイパバイザで保留されずに実行
される。その結果、ゲストモードで動作していたOSの
動作を非ゲストモードで継続させる際にも、仮想計算機
モニタやハイパバイザで入出力割込みが保留されること
はないので、これらの割込みが消失することはない。
【0018】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。
【0019】図1は、本発明の動作原理を示す説明図で
ある。
【0020】図1(a)は、実計算機の動作状態図また
は本発明の継続ゲストの動作状態図であり、図1(b)
は、仮想計算機の動作状態図である。
【0021】先ず、実計算機の動作状態では、図1
(a)のように、実計算機10上にオペレーテイングシ
ステム(OS)11がスーパバイザモードで走行し、そ
の上でアプリケーションプログラム(AP)12がプロ
ブレムモードで走行する。これに対して、仮想計算機シ
ステムの動作状態では、図1(b)に示すように、1台
の実計算機10の上で仮想計算機モニタ(VMM)15
が非ゲストモードで走行し、その上で複数の仮想計算機
のOS16がゲストモードで走行し、それぞれの仮想計
算機のOS16の上でアプリケーションプログラム(A
P)17が走行する。仮想計算機モニタ(VMM)15
は、前述のように、各仮想計算機のOS16のデイスパ
ッチングや、命令のシミュレーションを行う。従って、
もし仮想計算機モニタ15にプログラム不良による障害
が発生すると、すべての仮想計算機のOS16は停止
し、実計算機10内の主記憶装置に格納されている仮想
計算機のための情報が破壊される可能性がある。
【0022】そこで、本実施例では、仮想計算機モニタ
15に障害が発生した場合に、図1(b)の状態から図
1(a)の状態に移行させて、仮想計算機のOS16
(複数あるうちの1つ)をスーパバイザモードで走行さ
せ、AP17をプロブレムモードで走行させるのであ
る。この場合に、仮想計算機モニタ15が行っていたデ
イスパッチングや命令シミュレーション等を不要にし、
実計算機10上で仮想計算機のOS16が直接走行でき
るように、次の機能を設ける。
【0023】(1)実計算機10の命令プロセッサ内
に、マイクロプログラムで仮想計算機モニタ(VMM)
15のプログラム不良による障害を検出する機能と、そ
れにより、主記憶装置上に格納される継続ゲストデイス
パッチングモジュールを起動する機能を設ける。
【0024】(2)仮想計算機で使用するゲスト絶対ア
ドレスからホスト絶対アドレスへのアドレス変換を不要
にするため、複数の仮想計算機のうち、動作を継続させ
る仮想計算機については(1つのみ)V=R方式の仮想
計算機にしておく。
【0025】(3)動作を継続させる仮想計算機が使用
する命令プロセッサのプロセッサ番号と同じ番号の実計
算機の命令プロセッサを、動作を継続させる仮想計算機
に占有させる。
【0026】(4)動作を継続させる仮想計算機が使用
する入出力割込みサブクラスの番号と同じ番号の実計算
機の入出力割込みサブクラスを、動作を継続させる仮想
計算機に占有させる。
【0027】(5)主記憶装置内のハードウエアシステ
ムエリア(HSA)を利用して、ここに、動作を継続さ
せるゲストの動作情報を退避させるとともに、継続ゲス
トをデイスパッチングするプログラムを格納しておく。
HSAは特別な命令によってアクセスされる。よって、
主記憶装置内の仮想計算機モニタ格納領域内の仮想計算
機の制御情報が破壊されても、HSA内に格納される情
報は破壊されることなく生き残るので、それを利用し
て、継続動作を行わせることが可能である。
【0028】図2は、本発明の一実施例の計算機システ
ムの全体構成図である。
【0029】なお、ゲストモードから非ゲストモードへ
動作を継続する仮想計算機のことを「継続ゲスト」と呼
ぶことにする。
【0030】1000はプログラムを実行する命令プロ
セッサ(IP)である。2000は主記憶装置や拡張記
憶装置へのアクセスの制御を行うシステム制御装置(S
C)である。3000はプログラムやデータを格納する
主記憶装置(MS)である。4000は主記憶装置30
00の容量不足分を補う拡張記憶装置(ES)である。
4100は入出力を実行する入出力プロセッサ(IO
P)である。4200は入出力プロセッサ4100から
の指令により入出力装置を制御する入出力制御装置(I
OC)である。4300は入出力動作を実行する入出力
装置である。4400は監視やテスト等のサービス動作
を実行するサービスプロセッサ(SVP)である。ただ
し、図2では、これらの装置はそれぞれ1台づつを示し
たが、複数台の装置が存在することもある。
【0031】図3は、図2における主記憶装置(MS)
3000の構成を示す図である。
【0032】図3において、3010は各仮想計算機が
使用するゲスト領域、3020は継続ゲストが格納され
る継続ゲスト領域である。これはV=Rの属性を有し、
ゲスト絶対アドレスはホスト絶対アドレスと等しくなる
ように、実主記憶装置3000の低位からの連続領域を
専有して使用する。
【0033】3030は仮想計算機モニタあるいはハイ
パバイザ領域であって、ゲスト領域3010の上位に位
置する。この領域3030には、ディレクトリ3040
やステートデイスクリプション(SD)1200が配置
される。ディレクトリ3040は仮想計算機(ゲスト)
単位にあり、そのゲストが継続ゲストか否か、継続ゲス
トならそのゲストOSが使用する入出力割込みサブクラ
ス(入出力の割込み優先度毎に設けられたキュー)の番
号や、命令プロセッサの番号等が格納される。SD12
00は、非ゲストモードからゲストモードへ切り換える
ための命令であるSIE(Start Interpr
etive Execution)命令のオペランドで
指定され、SIE命令のオペランド情報が格納される。
【0034】3100はハードウェアシステムエリア
(HSA)である。HSA3100には、ハードウエア
とオペレーテイングシステム(OS)とのインタフェー
ス情報が格納され、特別な命令によってアクセスされ
る。ここでは、インタフェース情報として継続ゲストに
関する情報が格納される。
【0035】図4は、図3におけるハードウエアシステ
ムエリア(HSA)3100の詳細構成図である。
【0036】HSA3100は、継続ゲストに関する情
報を格納する領域、つまり継続ゲスト情報格納領域31
10と、継続ゲストをディスパッチするためのモジュー
ル(プログラム)を格納する領域3120と、その他の
領域3130とが配置される。
【0037】図5は、図2における命令プロセッサ(I
P)1000の要部構成図である。命令プロセッサ10
00には、主記憶装置3000から読み出された命令を
格納するための命令レジスタ1020、その命令を解読
(デコード)するための命令デコーダ1022、その命
令を実行するための命令実行回路1024、アドレスを
生成するアドレス生成回路1026が設けられる。この
アドレス生成回路1026では、仮想アドレスから実ア
ドレスへのアドレス変換や、実アドレスから絶対アドレ
スへのプリフィクス変換が実行される。
【0038】また、各種レジスタとしては、ゲストモー
ドビット1002、ホスト(仮想計算機モニタ:VM
M)に対応するホストプログラムステータスワード(ホ
ストPSW)1004、ホスト制御レジスタ(ホストC
R)1006、ホストプリフィクスレジスタ1008、
ゲストに対応するゲストプログラムステータスワード
(ゲストPSW)1010、ゲスト制御レジスタ(ゲス
トCR)1012、ゲストプリフィクスレジスタ101
4、汎用レジスタ1016、アクセスレジスタ1017
が設けられる。が、汎用レジスタ1016とアクセスレ
ジスタ1017はホストとゲストとで共用される。な
お、汎用レジスタ1016はレジスタ番号が0から15
の16本のレジスタから構成される。
【0039】また、タイマとしては、ホストクロックコ
ンパレータ1030、ホストCPUタイマ1032、ゲ
ストクロックコンパレータ1034、ゲストCPUタイ
マ1036が設けられる。
【0040】さらに、インタセプション/ホスト割込み
処理マイクロプログラム1028、仮想計算機モニタ/
ハイパバイザ異常検出部1040、および継続ゲストデ
ィスパッチモジュール起動部1042がある。
【0041】いま、ゲストモードに移るためのSIE
(Start Interpretive Execu
tion)命令が発行されるとする。このSIE命令は
ゲストに関する情報を格納する領域であるステートデイ
スクリプション1200(State Descrip
tion:SD)をオペランドとして持つ。このSD1
200は前述のように、主記憶装置3000中の仮想計
算機モニタ/ハイパバイザ領域3030上に配置されて
いる。
【0042】図6は、図3における主記憶装置3000
上のSD1200の詳細構成図である。ここではSD1
200の構成のうち、本発明に関係のある部分のみを示
している。
【0043】図6において、各領域は次の通りである。
1202はゲストの汎用レジスタ(GR)14の内容を
格納する領域である。1204はゲストの汎用レジスタ
(GR)15の内容を格納する領域である。1210は
ゲストPSW1010の内容を格納する領域である。1
208はゲスト制御レジスタ1012の内容を格納する
領域である。1210はゲストクロックコンパレータ1
034の内容、すなわち、比較対象として設定されてい
るクロックの値を格納する領域である。1212はゲス
トCPUタイマ1036の値を格納する領域である。1
214はゲストプリフィクスレジスタ1014の内容を
格納する領域である。また、1216は当該ゲストが継
続ゲストであるか否かを示す継続ゲストビットであ
り、’1’の時には当該ゲストが継続ゲストであること
を示す。この継続ゲストの指定はディレクトリ3040
(図3参照)で予め設定された情報に基づいて行われ
る。また、1218は継続ゲストを非ゲストモードで継
続して動作させる際に必要となる情報(SD、汎用レジ
スタのうちの0〜13、アクセスレジスタ)を格納する
領域継続ゲスト情報格納領域の開始アドレス、即ち、継
続ゲスト情報格納領域3110のHSA3100内での
開始アドレスを示している。
【0044】仮想計算機モニタまたはハイパバイザから
SIE命令が発行されると、先ず、図5の命令実行回路
1024により、図7に示すマイクロプログラムの処理
が実行される。ゲストモードビット1002にはゲスト
走行中を示す’1’が設定される(ステップ710)。
ゲストPSW1010、ゲストCR1012、ゲストプ
リフィクスレジスタ1014には、それぞれ該SIE命
令のオペランドで指定されたSD1200に格納されて
いるゲストのPSW1206、制御レジスタ1208、
プリフィクスレジスタ1214の内容がセットされる
(ステップ720)。なお、ホストPSW1004、ホ
ストCR1006、ホストプリフィクスレジスタ100
8には、仮想計算機モニタ(VMM)の実行状態に応じ
てセットされた値が保持される。これによって、ゲスト
は動作を開始する。
【0045】図8は、インタセプションあるいはホスト
割込みが発生した際の、本実施例におけるマイクロプロ
グラム1028の処理のフローチャートである。
【0046】インタセプションあるいはホスト割込みが
発生すると、(ステップ5100)、当該仮想計算機の
次回の実行に備えて、この時点での当該ゲストの状態、
つまり、ゲストPSW1010の内容、汎用レジスタ1
016のGR14および15の内容、ゲスト制御レジス
タ1012の内容、ゲストクロックコンパレータ103
4のクロック値、ゲストCPUタイマ1036の値等
を、主記憶装置3000上のSD1200に格納する
(ステップ5102)。次に、当該ゲストのSD120
0の継続ゲストビット1216を調べて(ステップ51
04)、その値が’1’なら当該ゲストは継続ゲストで
あるので、ステップ5102でSD1200に格納した
レジスタ等の内容と、汎用レジスタ1016のうちのG
R0〜13、アクセスレジスタ1017を、SD120
0内の継続ゲスト情報格納域開始アドレス1218であ
らかじめ指定された、HSA3100内の継続ゲスト情
報格納領域3110にも格納する(ステップ510
6)。
【0047】一方、当該ゲストのSD1200の継続ゲ
ストビット1208が’0’なら当該ゲストは継続ゲス
トでないので継続ゲスト情報格納領域3110への格納
は行なわない。
【0048】なお、図8に示したマイクロプログラムの
処理のうちでステップ5104、5106は、インタセ
プション/ホスト割込みの発生後に仮想計算機モニタ/
ハイパバイザが、HSA内の領域にデータをストアする
命令を用いて行なってもよい。
【0049】図9は、図8のマイクロプログラムの処理
のデータの流れを説明する図である。
【0050】先ず、インタセプションあるいはホスト割
込みが発生すると、命令プロセッサ1000中のゲスト
PSW1010、汎用レジスタ1016のうちのGR1
4および15、ゲスト制御レジスタ1012、ゲストク
ロックコンパレータ1034、ゲストCPUタイマ10
36のそれぞれの内容が、システム制御装置2000を
経由して、主記憶中のSD1200に転送さる。次に、
当該ゲストが継続ゲストなら、上記に加えて、汎用レジ
スタ1016のうちのGR0〜13、アクセスレジスタ
1017が、SD1200内の継続ゲスト情報格納域開
始アドレス1218であらかじめ指定された、HSA3
100内の継続ゲスト情報格納領域3110にも転送さ
れる。
【0051】以上によって、継続ゲストの動作に関する
情報が二重化されるため、仮想計算機モニタあるいはハ
イパバイザのプログラムの不良により障害が発生して
も、HSA3100内の継続ゲスト情報格納領域311
0に格納された情報が破壊されることはないので、継続
ゲストの動作の続行ができる。
【0052】図10は、継続ゲストが使用する入出力割
込みサブクラスを継続ゲストに専有させる仮想計算機モ
ニタあるいはハイパバイザの処理のフローチャートであ
る。先ず、仮想計算機の開始処理時に、当該ゲストのユ
ーザが該ゲストに関して設定した情報が格納される主記
憶装置3030内の仮想計算機モニタ/ハイパバイザ領
域3030内のディレクトリ3040により、継続ゲス
トであるか否かを判断する(ステップ5202)。継続
ゲストであれば、当該ゲストのディレクトリ3040に
登録されている当該継続ゲスト上で動作するOSが使用
する入出力割込みサブクラスの番号と同一の番号の実計
算機の入出力割込みサブクラスを、当該継続ゲストに専
有させることができるか否か、即ち、その入出力割込み
サブクラスが空いているか否かを判断する(ステップ5
204)。その結果、もし、既に他のゲストに専有され
ているなどの理由で、1つでも同一の番号の実計算機の
入出力割込みサブクラスを当該継続ゲストに専有させる
ことができなければ、当該ゲストは継続ゲストとはでき
ないものとして、その旨のメッセージを出力して(ステ
ップ5210)、当該仮想計算機の開始処理は終了する
(ステップ5212)。
【0053】また、ステップ5204の判断の結果、専
有が可能であれば当該入出力割込みサブクラスを専有さ
せる。
【0054】また、ステップ5202の判断の結果、当
該ゲストが継続ゲストでなければ、通常の入出力割込み
サブクラスの専有処理を行なう(ステップ5206)。
【0055】図11は、継続ゲストが使用する命令プロ
セッサ(IP)を継続ゲストに専有させる仮想計算機モ
ニタ/ハイパバイザの処理フローチャートである。
【0056】先ず、仮想計算機の開始処理時において、
当該ゲストのユーザが該ゲストのディレクトリ3040
に設定する情報により、継続ゲストか否かを判断し(ス
テップ5302)、継続ゲストならば、当該ゲストのデ
ィレクトリ3040に登録されている当該継続ゲスト上
で動作するOSが使用する命令プロセッサの番号と同一
のプロセッサ番号の実計算機の命令プロセッサを、当該
継続ゲストに専有させることができるか否かを判断する
(ステップ5304)、もし、既に他のゲストに専有さ
れている等の理由で、1つでも同一の番号の実計算機の
命令プロセッサを当該継続ゲストに専有させることがで
きなければ、当該ゲストは継続ゲストとはできないもの
としてその旨のメッセージを出力し(ステップ531
0)、当該仮想計算機の開始処理は終了する(ステップ
5312)。
【0057】ステップ5304の判断の結果、専有が可
能であれば当該命令プロセッサを専有させる。
【0058】ステップ5202の判断の結果、当該ゲス
トが継続ゲストでなければ、通常の命令プロセッサの専
有処理を行なう(ステップ5306)。
【0059】図10および図11で説明したように、入
出力割込みサブクラスと命令プロセッサを継続ゲストに
専有させることによって、当該継続ゲストに関する入出
力割込みは、すべて仮想計算機モニタあるいはハイパバ
イザに保留されずに直接に実行されることとなる。その
結果、ゲストモードでの動作から非ゲストモードでの動
作に移る際に仮想計算機モニタあるいはハイパバイザに
保留された入出力割込みが消失することはない。
【0060】図12は、継続動作の開始までの流れを示
すフローチャートである。
【0061】図12中の左側は仮想計算機モニタ/ハイ
パバイザの動作を示し、右側はシステム(実計算機)の
動作を示す。先ず、仮想計算機モニタ/ハイパバイザに
プログラム不良による障害が発生すると(ステップ55
00)、仮想計算機モニタ/ハイパバイザ異常検出部1
040が、該事象に対応する割込みを発生し(ステップ
5501)、これがゲスト継続動作の契機となる。この
契機はオペレータがコマンドを投入することにより与え
ることもできる(ステップ5506)。
【0062】仮想計算機モニタ/ハイパバイザは、アベ
ンドルーチン(不良の生じた動作を停止させるルーチ
ン)によって走行中の継続ゲストを含む全てのゲストの
動作を停止させてから(ステップ5502)、自らも停
止する(ステップ5504)。次に、システムは、仮想
計算機モニタ/ハイパバイザのダンプを採取する(ステ
ップ5508)。次に、継続ゲストディスパッチモジュ
ール起動部1042が、HSA3100内に格納される
継続ゲストをディスパッチするためのモジュール312
0をローディングし起動する(ステップ5510)。
【0063】図13は、HSA3100内に格納される
継続ゲストをディスパッチするためのモジュール312
0の動作のフローチャートである。
【0064】先ず、HSA3100内のデータを主記憶
へ読みだす診断命令を用いてHSA3100中の継続ゲ
スト情報格納領域3110内の情報を読みだし(ステッ
プ5402)、継続ゲストでないゲストが専有する資源
をリセットする(ステップ5404)。リセットされる
資源は、例えば、ゲストが発行した入出力命令に応答し
て動作している入出力装置である。ゲストは動作を停止
しており、入出力装置からの終了割込みを処理できない
ので、終了割込みが発生しないようにするためにリセッ
トする。ステップ5402で読みだした情報、つまり、
汎用レジスタ、アクセスレジスタ、制御レジスタ、クロ
ックコンパレータ、CPUタイマの内容等を実計算機に
ロードする(ステップ5406)、LPSW(Load
PSW)命令を用いて、読みだしたPSWをロードす
る(ステップ5408)。
【0065】これによって、継続ゲストは動作を再開す
る。これらの一連のステップ5402からステップ54
08までの処理は非ゲストモードでなされ、SIE命令
を用いずにLPSW命令を用いて継続ゲストをディスパ
ッチするので、継続ゲストは非ゲストモードで動作する
こととなる。
【0066】
【発明の効果】以上説明したように、本発明の望ましい
実施態様によれば、仮想計算機システムあるいは論理分
割システムの仮想計算機モニタあるいはハイパバイザに
プログラムの不良が発生した場合でも、あらかじめ指定
したV=Rの属性を持つ仮想計算機(継続ゲスト)の動
作だけは継続して実行することが可能である。
【0067】また、継続ゲスト上のOSが使用する入出
力割込みサブクラスの番号と同一番号の実計算機の入出
力割込みサブクラスを、その継続ゲストに専有させ、か
つ継続ゲスト上のOSが使用する命令プロセッサの番号
と同一番号の実計算機の命令プロセッサを、その継続ゲ
ストに専有させることにより、その継続ゲストに関する
入出力割込みは、仮想計算機モニタあるいはハイパバイ
ザに保留されずに直接に実行されることになる。その結
果、ゲストモードでの動作から非ゲストモードでの動作
に移る際に、仮想計算機モニタあるいはハイパバイザに
保留された入出力割込みが消失することはなくなるとい
う利点がある。
【図面の簡単な説明】
【図1】図1は、本発明の実施例の動作原理を説明する
ための図である。
【図2】図2は、本発明の一実施例の構成を示す図であ
る。
【図3】図3は、図2における主記憶装置の領域構成を
示す図である。
【図4】図4は、図3におけるハードウェアシステムエ
リア(HSA)の詳細構成を示す図である。
【図5】図5は、図2における命令プロセッサ(IP)
の構成の詳細を説明する図である。
【図6】図6は、図3におけるステートデイスクリプシ
ョン(SD)の詳細構成を示す図である。
【図7】図7は、SIE(Start Interpr
etive Execution)命令の発行に対応し
て命令実行回路で実行されるマイクロプログラムのフロ
ーチャートである。
【図8】図8は、インタセプションあるいはホスト割込
み処理に対応した処理を実行するためのマイクロプログ
ラムのフローチャートである。
【図9】図9は、インタセプション/ホスト割込み処理
に対応した処理を説明するための図である。
【図10】図10は、仮想計算機モニタあるいはハイパ
バイザでの入出力割込みサブクラスの専有処理のフロー
チャートである。
【図11】図11は、仮想計算機モニタあるいはハイパ
バイザでの命令プロセッサ(IP)専有処理のフローチ
ャートである。
【図12】図12は、継続ゲストの継続動作の開始まで
の流れを示すフローチャートである。
【図13】図13は、継続ゲストをディスパッチするた
めのモジュールの処理を示すフローチャートである。
【符号の説明】
1000…命令プロセッサ(IP)、1002…ゲスト
モードビット、1004…ホストPSW、1006…ホ
スト制御レジスタ、1008…ホストプリフィクスレジ
スタ、1010…ゲストPSW、1012…ゲスト制御
レジスタ、1014…ゲストプリフィクスレジスタ、1
016…汎用レジスタ、1017…アクセスレジスタ、
1020…命令レジスタ、1022…命令デコーダ、1
024…命令実行回路、1026…アドレス生成回路、
1028…インタセプション/ホスト割込み処理マイク
ロプログラム、1030…ホストクロックコンパレー
タ、1032…ホストCPUタイマ、1034…ゲスト
クロックコンパレータ、1036…ゲストCPUタイ
マ、1040…仮想計算機モニタ/ハイパバイザ異常検
出部、1042…継続ゲストディスパッチモジュール起
動部、1200…ステートデイスクリプション(S
D)、2000…システム制御装置(SC)、3000
…主記憶装置(MS)、3020…継続ゲスト領域、3
030…仮想計算機モニタ/ハイパバイザ領域、304
0…デイレクトリ、3100…ハードウェアシステムエ
リア(HSA)、3110…継続ゲスト情報格納領域、
3120…継続ゲストディスパッチモジュール格納領
域、4000…拡張記憶装置(ES)、4100…入出
力プロセッサ(IOP)、4200…入出力制御装置
(IOC)、4300…入出力装置、4400…サービ
スプロセッサ(SVP)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 正 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部内 (72)発明者 大築 徹 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】仮想計算機が動作するゲストモードと、前
    記仮想計算機を制御する仮想計算機モニタが動作する非
    ゲストモードとの動作モードとを有する仮想計算機シス
    テムにおいて、 前記仮想計算機システム中の主記憶装置は、前記ゲスト
    モードから前記非ゲストモードへ動作が移行した場合に
    動作を継続する仮想計算機である継続ゲストが使用する
    ゲスト絶対アドレスとホスト絶対アドレスが等しい継続
    ゲスト領域と、前記ゲストモードから前記非ゲストモー
    ドへの動作の移行に対応して、前記継続ゲストをデイス
    パッチするためのプログラムモジュールを格納する領域
    と、 前記ゲストモードから前記非ゲストモードへ動作が移行
    した場合に動作を継続させるべき前記継続ゲストを前記
    継続ゲスト領域に割当てる手段と、 前記仮想計算機モニタのプログラム不良による障害の発
    生を検出する手段と、 前記検出手段による前記障害の発生の検出に応答して、
    前記継続ゲストをデイスパッチするための前記プログラ
    ムモジュールを起動する手段、 を有することを特徴とする計算機システムの動作継続装
    置。
  2. 【請求項2】請求項1の計算機システムの動作継続装置
    において、前記仮想計算機モニタは、前記継続ゲストが
    使用する命令プロセッサに対応する、前記仮想計算機の
    命令プロセッサを、前記継続ゲストに占有させる手段を
    有する。
  3. 【請求項3】請求項1の計算機システムの動作継続装置
    において、前記仮想計算機モニタは、前記継続ゲストが
    使用する入出力割込みサブクラスに対応する、前記仮想
    計算機の入出力割込みサブクラスを、前記継続ゲストに
    占有させる手段を有する。
  4. 【請求項4】請求項1の計算機システムの動作継続装置
    において、前記主記憶装置はさらにハードウエアシステ
    ム領域(HSA)を有し、前記仮想計算機システムは、
    インタセプション/ホスト割込みの発生に応答して、前
    記継続ゲストの動作を継続させるために必要な情報を前
    記ハードウエアシステム領域(HSA)に退避する手段
    を有する。
  5. 【請求項5】論理区画が動作するゲストモードと、前記
    論理区画を制御するハイパバイザが動作する非ゲストモ
    ードとの動作モードとを有する論理分割システムにおい
    て、 前記論理分割システム中の主記憶装置は、前記ゲストモ
    ードから前記非ゲストモードへ動作が移行した場合に動
    作を継続する論理区画である継続ゲストが使用するゲス
    ト絶対アドレスとホスト絶対アドレスが等しい継続ゲス
    ト領域と、前記ゲストモードから前記非ゲストモードへ
    の動作の移行に対応して、前記継続ゲストをデイスパッ
    チするためのプログラムモジュールを格納する領域と、 前記ゲストモードから前記非ゲストモードへ動作が移行
    した場合に動作を継続させるべき前記継続ゲストを前記
    継続ゲスト領域に割当てる手段と、 前記ハイパバイザのプログラム不良による障害の発生を
    検出する手段と、 前記検出手段による前記障害の発生の検出に応答して、
    前記継続ゲストをデイスパッチするための前記プログラ
    ムモジュールを起動する手段、 を有することを特徴とする計算機システムの動作継続装
    置。
  6. 【請求項6】仮想計算機が動作するゲストモードと、前
    記仮想計算機を制御する仮想計算機モニタが動作する非
    ゲストモードとの動作モードとを有し、前記ゲストモー
    ドから前記非ゲストモードへ動作が移行した場合に、動
    作を継続する仮想計算機である継続ゲストが使用するゲ
    スト絶対アドレスとホスト絶対アドレスが等しい継続ゲ
    スト領域、および前記ゲストモードから前記非ゲストモ
    ードへの動作の移行に対応して、前記継続ゲストをデイ
    スパッチするためのプログラムモジュールを格納する領
    域とを有する主記憶装置を接続する仮想計算機システム
    において、 前記ゲストモードから前記非ゲストモードへ動作が移行
    した場合に動作を継続させるべき前記継続ゲストを前記
    継続ゲスト領域に割当てるステップと、 前記仮想計算機モニタのプログラム不良による障害の発
    生を検出するステップと、前記検出ステップによる前記
    障害の発生の検出に応答して、前記継続ゲストをデイス
    パッチするための前記プログラムモジュールを起動する
    ステップ、 を有することを特徴とする計算機システムの動作継続方
    法。
  7. 【請求項7】請求項6の計算機システムの動作継続方法
    において、前記仮想計算機モニタは、前記継続ゲストが
    使用する命令プロセッサに対応する、前記仮想計算機の
    命令プロセッサを、前記継続ゲストに占有させる。
  8. 【請求項8】請求項6の計算機システムの動作継続方法
    において、前記仮想計算機モニタは、前記継続ゲストが
    使用する入出力割込みサブクラスに対応する、前記仮想
    計算機の入出力割込みサブクラスを、前記継続ゲストに
    占有させる。
  9. 【請求項9】請求項6の計算機システムの動作継続装置
    において、前記主記憶装置はさらにハードウエアシステ
    ム領域(HSA)を有し、前記仮想計算機システムは、
    インタセプション/ホスト割込みの発生に応答して、前
    記継続ゲストの動作を継続させるために必要な情報を前
    記ハードウエアシステム領域(HSA)に退避する。
  10. 【請求項10】論理区画が動作するゲストモードと、前
    記論理区画を制御するハイパバイザが動作する非ゲスト
    モードとの動作モードとを有し、前記ゲストモードから
    前記非ゲストモードへ動作が移行した場合に、動作を継
    続する論理区画である継続ゲストが使用する、ゲスト絶
    対アドレスとホスト絶対アドレスが等しい継続ゲスト領
    域、および前記ゲストモードから前記非ゲストモードへ
    の動作の移行に対応して、前記継続ゲストをデイスパッ
    チするためのプログラムモジュールを格納する領域とを
    有する主記憶装置を接続する論理分割システムにおい
    て、 前記ゲストモードから前記非ゲストモードへ動作が移行
    した場合に動作を継続させるべき前記継続ゲストを前記
    継続ゲスト領域に割当てるステップと、 前記ハイパバイザのプログラム不良による障害の発生を
    検出するステップと、 前記検出ステップによる前記障害の発生の検出に応答し
    て、前記継続ゲストをデイスパッチするための前記プロ
    グラムモジュールを起動するステップ、 を有することを特徴とする計算機システムの動作継続方
    法。
JP3300183A 1990-11-16 1991-11-15 計算機システムの動作継続方法および装置 Pending JPH0512045A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31081490 1990-11-16
JP2-310814 1990-11-16

Publications (1)

Publication Number Publication Date
JPH0512045A true JPH0512045A (ja) 1993-01-22

Family

ID=18009738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3300183A Pending JPH0512045A (ja) 1990-11-16 1991-11-15 計算機システムの動作継続方法および装置

Country Status (2)

Country Link
US (1) US5437033A (ja)
JP (1) JPH0512045A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005528665A (ja) * 2001-09-27 2005-09-22 インテル コーポレイション システムインテグリティとレガシー環境とを提供するための方法
JP2008140198A (ja) * 2006-12-04 2008-06-19 Hitachi Ltd フェイルオーバ方法、およびその計算機システム。
JP2009054169A (ja) * 2002-12-17 2009-03-12 Intel Corp 仮想計算機を制御する方法及びシステム
JP2009537897A (ja) * 2006-05-15 2009-10-29 マイクロソフト コーポレーション 実行中のオペレーティングシステムの下でのハイパーバイザの起動
JP2014006676A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム
US9430266B2 (en) 2012-11-26 2016-08-30 Hitachi, Ltd. Activating a subphysical driver on failure of hypervisor for operating an I/O device shared by hypervisor and guest OS and virtual computer system
JP2017062841A (ja) * 2016-11-30 2017-03-30 富士通株式会社 メモリダンプ機能を有する情報処理装置
JP2022126714A (ja) * 2022-01-20 2022-08-30 オムロン株式会社 情報処理装置、管理プログラム、管理方法、および、情報処理システム

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621912A (en) * 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US8631066B2 (en) * 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) * 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6892383B1 (en) * 2000-06-08 2005-05-10 International Business Machines Corporation Hypervisor function sets
US7003771B1 (en) 2000-06-08 2006-02-21 International Business Machines Corporation Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7225441B2 (en) 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
JP4426736B2 (ja) * 2001-04-27 2010-03-03 株式会社日立製作所 プログラム修正方法およびプログラム
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US7130949B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Managing input/output interruptions in non-dedicated interruption hardware environments
WO2004104825A1 (en) * 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
JP4253224B2 (ja) * 2003-07-02 2009-04-08 株式会社日立製作所 アドレス管理方法および装置
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7177967B2 (en) 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7237051B2 (en) 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7370324B2 (en) * 2003-09-30 2008-05-06 Intel Corporation Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US7913226B2 (en) * 2003-10-01 2011-03-22 Hewlett-Packard Development Company, L.P. Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
WO2005036806A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7877747B2 (en) * 2004-02-20 2011-01-25 Hewlett-Packard Development Company, L.P. Flexible operating system operable as either native or as virtualized
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7600216B2 (en) * 2004-04-22 2009-10-06 Gteko, Ltd Method for executing software applications using a portable memory device
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US8214622B2 (en) 2004-05-27 2012-07-03 International Business Machines Corporation Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US7305592B2 (en) 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US7757231B2 (en) * 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US8060683B2 (en) * 2004-12-17 2011-11-15 International Business Machines Corporation System, method and program to preserve a cache of a virtual machine
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7496790B2 (en) * 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US20070006178A1 (en) * 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
US7496495B2 (en) * 2005-05-12 2009-02-24 Microsoft Corporation Virtual operating system device communication relying on memory access violations
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US20070074187A1 (en) * 2005-09-29 2007-03-29 O'brien Thomas E Method and apparatus for inserting code fixes into applications at runtime
WO2007053980A1 (en) * 2005-11-12 2007-05-18 Intel Corporation Method and apparatus to support virtualization with code patches
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US7587663B2 (en) * 2006-05-22 2009-09-08 Intel Corporation Fault detection using redundant virtual machines
JP5212360B2 (ja) * 2007-03-19 2013-06-19 富士通株式会社 制御プログラム、制御システムおよび制御方法
US8055951B2 (en) * 2007-04-10 2011-11-08 International Business Machines Corporation System, method and computer program product for evaluating a virtual machine
US7797587B2 (en) * 2007-06-06 2010-09-14 Dell Products L.P. System and method of recovering from failures in a virtual machine
US8006079B2 (en) * 2008-02-22 2011-08-23 Netapp, Inc. System and method for fast restart of a guest operating system in a virtual machine environment
US20100107148A1 (en) * 2008-10-28 2010-04-29 International Business Machines Corporation Check-stopping firmware implemented virtual communication channels without disabling all firmware functions
US20110225458A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for an operating system kernel and hypervisor
US20110225459A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for a virtual machine
CN102521016A (zh) * 2011-12-08 2012-06-27 中兴通讯股份有限公司 一种运行多个虚拟机的方法及***
CN104321748B (zh) * 2012-06-29 2018-02-02 英特尔公司 用于捕捉轻量虚拟机管理器中的错误条件的方法、***和装置
US9195493B2 (en) * 2014-03-27 2015-11-24 International Business Machines Corporation Dispatching multiple threads in a computer
US9772867B2 (en) 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer
US9223574B2 (en) * 2014-03-27 2015-12-29 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
US9213569B2 (en) 2014-03-27 2015-12-15 International Business Machines Corporation Exiting multiple threads in a computer
US9612926B2 (en) * 2014-05-15 2017-04-04 International Business Machines Corporation Host swap hypervisor that provides high availability for a host of virtual machines
US9389897B1 (en) 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023779A (en) * 1982-09-21 1991-06-11 Xerox Corporation Distributed processing environment fault isolation
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005528665A (ja) * 2001-09-27 2005-09-22 インテル コーポレイション システムインテグリティとレガシー環境とを提供するための方法
JP2009054169A (ja) * 2002-12-17 2009-03-12 Intel Corp 仮想計算機を制御する方法及びシステム
JP2009537897A (ja) * 2006-05-15 2009-10-29 マイクロソフト コーポレーション 実行中のオペレーティングシステムの下でのハイパーバイザの起動
JP2008140198A (ja) * 2006-12-04 2008-06-19 Hitachi Ltd フェイルオーバ方法、およびその計算機システム。
JP2014006676A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム
US9430266B2 (en) 2012-11-26 2016-08-30 Hitachi, Ltd. Activating a subphysical driver on failure of hypervisor for operating an I/O device shared by hypervisor and guest OS and virtual computer system
JP2017062841A (ja) * 2016-11-30 2017-03-30 富士通株式会社 メモリダンプ機能を有する情報処理装置
JP2022126714A (ja) * 2022-01-20 2022-08-30 オムロン株式会社 情報処理装置、管理プログラム、管理方法、および、情報処理システム

Also Published As

Publication number Publication date
US5437033A (en) 1995-07-25

Similar Documents

Publication Publication Date Title
JPH0512045A (ja) 計算機システムの動作継続方法および装置
US5805790A (en) Fault recovery method and apparatus
US4494189A (en) Method and means for switching system control of CPUs
JP2629278B2 (ja) 仮想計算機システム
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
US8429669B2 (en) Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
US4779188A (en) Selective guest system purge control
US6026462A (en) Main storage and expanded storage reassignment facility
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JP3546678B2 (ja) マルチos構成方法
US20060184938A1 (en) Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
JPH02502764A (ja) 多重処理を行なう方法および構成
US7111200B2 (en) Apparatus and method for debugging a logical partition
JP2000259434A (ja) 論理区画式計算機システム
US6141635A (en) Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program
JP2001216172A (ja) マルチos構成方法
JPS59167756A (ja) 仮想計算機のデイスパツチ制御方式
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
JPH0567973B2 (ja)
JP3022398B2 (ja) 仮想計算機方式
JP2556018B2 (ja) チヤネルパスグル−プ管理方式
JPH0336633A (ja) 仮想計算機の割り込み直接実行方式