JP2002073358A - 仮想計算機主記憶のアクセス制御方法 - Google Patents

仮想計算機主記憶のアクセス制御方法

Info

Publication number
JP2002073358A
JP2002073358A JP2000266940A JP2000266940A JP2002073358A JP 2002073358 A JP2002073358 A JP 2002073358A JP 2000266940 A JP2000266940 A JP 2000266940A JP 2000266940 A JP2000266940 A JP 2000266940A JP 2002073358 A JP2002073358 A JP 2002073358A
Authority
JP
Japan
Prior art keywords
access
virtual
memory
main memory
hypervisor
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
JP2000266940A
Other languages
English (en)
Inventor
Koji Sugano
孝司 菅野
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
Priority to JP2000266940A priority Critical patent/JP2002073358A/ja
Publication of JP2002073358A publication Critical patent/JP2002073358A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 他の仮想計算機のゲストプログラムからのア
クセスを抑止するセキュリティ機能を損うことなく、ゲ
ストプログラム同士が互いの仮想計算機主記憶(LPA
Rメモリ)をアクセスできるようにする。 【解決手段】 各LPARメモリ201、211に対応
するアクセス許可コード121をハイパバイザ領域に持
ち、ゲストプログラム202、212上に、アクセス許
可コードを設定できる仮想命令と、他のLPARメモリ
をアクセスできる仮想命令とを定義し、これをハイパバ
イザ110がシミュレーションで実現し、LPARメモ
リのアクセス要求時には、アクセス許可コードを用い
て、アクセスが許可されているかをチェックする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は中央処理装置、主記
憶装置、コンソール装置などを備える情報処理装置に係
り、特にハイパバイザにより中央処理装置と主記憶装置
などを論理的に分割あるいは時分割で使用することで複
数の仮想計算機を構築する仮想計算機システムにおい
て、ある仮想計算機のゲストプログラムから他の仮想計
算機の主記憶のアクセスを可能とする技術に関する。
【0002】
【従来の技術】仮想計算機システムでは、各仮想計算機
にそれぞれ独立した仮想計算機主記憶が割り当てられ
て、該仮想計算機主記憶にゲストプログラムとゲストデ
ータがそれぞれ格納され、ハイパバイザの制御の元で、
各仮想計算機上でゲストプログラムが実行しているが、
通常、ある仮想計算機上で実行しているゲストプログラ
ムが他の仮想計算機の主記憶をアクセスするのを抑止し
て、仮想計算機主記憶のセキュリティを保証している。
【0003】このような仮想計算機システムにおいて、
仮想計算機上で実行するオペレーティングシステムを代
表とするシステムプログラムが如何なる操作にも応答し
ない場合、即ち、ハングアップした場合、このハングア
ップしたシステムプログラムを格納している仮想計算機
主記憶を外部記憶装置にダンプするには、ダンプ先とな
る外部記憶装置を初期設定し、ダンププログラムを仮想
計算機主記憶にロードする前にロード先の仮想計算機主
記憶の一部領域を外部記憶装置へ書込み、ダンププログ
ラムを仮想計算機主記憶へロードし、仮想計算機上でダ
ンププログラムを起動するという手順が必要である。従
来、大型汎用計算機などの高価な情報処理装置では、こ
の手順の遂行を支援するハードウェア機能が具備されて
いるが、比較的安価な情報処理装置では具備されていな
い。
【0004】また、従来の情報処理装置では、複数の仮
想計算機上でそれぞれテストプログラムを実行し、互い
のテストプログラム間でデータ転送を行ないながら全体
のテストを遂行する仮想計算機システムの機能試験のた
めに、互いの仮想計算機を接続しうるネットワークデバ
イスあるいはチャネル(以下、デバイスという)を仮想
計算機同士を接続するルートの数だけ準備し、仮想計算
機に取り付け、それぞれをケーブルで接続する方式をと
っている。そして、テストプログラムは、デバイスの初
期設定とデータ転送を司る制御プログラム(以下、デバ
イスドライバという)を備えている。
【0005】
【発明が解決しようとする課題】従来技術において、ダ
ンププログラムを起動するまでの手順の遂行を支援する
ハードウェア機能を具備していない安価な情報処理装置
などにおける仮想計算機システムでは、ハングアップに
備えて、ダンププログラムと同等の機能をハイパバイザ
に内蔵する必要があるが、多大なコストを要し、経済的
ではない。なぜならば、デバイスの仕様はデバイスメー
カ固有であるからである。これは、仮想計算機システム
のテストプログラムによる機能試験にも当てはまる。
【0006】また、前記テスト方式において、機能試験
がそれぞれの仮想計算機に接続されたデバイスまで含ん
でしまうテストの場合、従来のデバイスを使った仮想計
算機同士のデータ転送は、本来テストが目的とするデバ
イスの状態を変化させてしまう。この様なテストは機能
試験から排除されてしまうだけである。
【0007】本発明が解決しようとする課題は、仮想計
算機システムにおいて、他の仮想計算機のゲストプログ
ラムからの仮想計算機主記憶のアクセスを抑止できるセ
キュリティ機能を損うことなく、デバイスなどを経由し
ないで、容易にゲストプログラム同士が互いの仮想計算
機主記憶をアクセスできるようにすることにある。
【0008】この課題が解決するならば、仮想計算機シ
ステム上で正常に動作しているアプリケーションプログ
ラムが、ハングアップしてしまったゲストプログラムを
格納する仮想計算機主記憶の内容を読み出して外部記憶
装置に出力することが可能になる。つまり、ダンププロ
グラムを起動するまでの手順の遂行を支援するハードウ
エア機能を具備していない情報処理装置において、具備
している情報処理装置と同等の機能が容易に実現するこ
とを意味する。また、複数の仮想計算機上でテストプロ
グラムを実行し、デバイスを経由しないデータ転送が容
易に実現する。
【0009】
【課題を解決するための手段】前記課題を解決するため
に、本発明は、ハイパバイザが管理する実主記憶領域
に、仮想計算機主記憶のアクセスを許可するか否かを決
定付ける情報(以下、アクセス許可コードという)を各
仮想計算機主記憶に対応付けて記憶する。このアクセス
許可コードは、仮想計算機を活性化するときに、ハイパ
バイザによって初期設定が行なわれる。初期設定値は、
仮想計算機主記憶のアクセスを抑止する値とする。
【0010】ゲストプログラムには、前記アクセス許可
コードの設定・変更をハイパバイザへ要求する第1仮想
命令(以下、許可コード設定命令という)を定義する。
この許可コード設定命令は、当該ゲストプログラム自身
が格納される仮想計算機主記憶に対応するアクセス許可
コードだけを設定・変更できる。
【0011】また、ゲストプログラムには、仮想計算機
主記憶のアクセスをハイパバイザへ要求する第2仮想命
令(以下、アクセス命令という)を定義する。このアク
セス命令は、アクセス先の仮想計算機主記憶の識別子、
アクセス先の仮想計算機主記憶のアドレス、アクセス先
仮想計算機主記憶のアクセス許可コードの期待値(以
下、比較コードという)を同時にあるいは別々に所定領
域(以下、アクセス制御ブロックという)へ設定するこ
とを強制する。
【0012】ゲストプログラムから仮想命令が発行され
ると、特権レベル割込みが発生し、ハイパバイザに制御
が移行する。ハイパバイザは、ゲストプログラムから許
可コード設定命令が発行されると、当該ゲストプログラ
ムの仮想計算機主記憶に対応するアクセス許可コードを
設定・変更する。また、ハイパバイザは、ゲストプログ
ラムからアクセス命令が発行されると、アクセス制御ブ
ロックを読み出す。そして、アクセス先の仮想計算機主
記憶装置のアクセス許可コードと、比較コードとをチェ
ックし、チェックの結果がアクセスを許可する(例え
ば、値が等しい)ならば、当該仮想計算機主記憶をアク
セスする。
【0013】本発明は、さらに、情報処理装置を構築す
るコンソール装置からオペレータの入力により前記アク
セス許可コードの設定・変更も可能である。コンソール
装置から仮想計算機主記憶の識別子及びアクセス許可コ
ードの値を示す設定コマンドが入力されると、ハイパバ
イザは、当該仮想計算機主記憶に対応するアクセス許可
コードを設定・変更する。
【0014】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて具体的に説明する。図1は、本発明によ
る仮想計算機主記憶のアクセス制御方法を実現する仮想
計算機システムの一実施例を示すブロック図である。図
1において、100は実主記憶装置、101は中央処理
装置、102はコンソール装置である。中央処理装置1
01は、アドレス変換機構と特権レベル/非特権レベル
設定機構、さらには、これら機構によって命令を実行で
きない条件に遭遇した場合あるいは単に割込みを発生さ
せる命令に遭遇した場合に、当該命令の命令アドレスを
レジスタやメモリに格納する割込み機構を具備するが、
これらの機構は周知であるので、図1では省略してあ
る。
【0015】仮想計算機(以下、LPARという)を構
築するための制御手段(仮想計算機制御プログラム)で
あるハイパバイザ110は実主記憶装置100に格納さ
れ、本実施例では、該ハイパバイザ110によって2個
のLPAR200、210(以下、LPAR1、LPA
R2という)が構築されている。LPAR1およびLP
AR2にはそれぞれ独立した仮想計算機主記憶(以下、
LPARメモリという)201,211があり、LPA
Rメモリ201、211に、ゲストプログラム202、
212とゲストデータ203、213がそれぞれ格納さ
れ、ハイパバイザ110の制御の元で中央処理装置10
1によって、ゲストプログラム202、212が実行し
ている。なお、LPARメモリ201、211は、実際
には主記憶装置100上に割り当てられるが、図1では
分かりやすいように主記憶装置100から独立して示し
ている。
【0016】ここで、ハイパバイザ110は、LPAR
メモリのメモリ管理情報120と、ゲストプログラム同
士が互いのLPARメモリのアクセスを可能とするアク
セス許可情報121の領域を保持している。ハイパバイ
ザ110は、コンソール装置102からのオペレータの
入力によりアクセス許可情報121を設定・変更できる
オペレータインタフェースを実現する。また、ハイパバ
イザ110は、ゲストプログラムによりアクセス許可情
報121を設定・変更できる命令インタフェースを実現
する。
【0017】全てのゲストプログラムは、ハイパバイザ
110の制御の元で、常時、アドレス変換モードで且つ
非特権レベルで実行している。ハイパバイザ110は、
メモリ管理情報120とアクセス許可情報121の所定
の条件下で、あるゲストプログラムから他のLPARの
LPARメモリのアクセスを許可する命令インタフェー
スを実現する。
【0018】図2は、ハイパバイザ110が保持するメ
モリ管理情報120の構成例を示した図である。メモリ
管理情報120は、LPARを識別するID(以下、L
PAR番号という)をインデクスとする配列構造で構成
される。図2において、メモリ管理情報エントリnがL
PARnのメモリ管理情報を保持する。それぞれのメモ
リ管理情報エントリは、当該LPARメモリの大きさを
格納するメモリサイズ300と、実主記憶装置100上
における当該LPARメモリの先頭アドレスを保持する
ベースアドレス301を格納する。
【0019】ハイパバイザ110は、LPARメモリn
内におけるアドレス(以下、論理アドレスという)の
「0」番地が、ベースアドレス301で示されるアドレ
スに変換されるように、中央処理装置101が具備する
アドレス変換機構を制御し、さらに、ゲストプログラム
がメモリサイズ300以上の論理アドレスを使用した場
合、割込みが発生するように割込み機構を制御する。ゲ
ストプログラムによるメモリサイズ300以上のメモリ
アクセスがなされようとしていることをハイパバイザ1
10が検出した場合、ハイパバイザ110はゲストプロ
グラムに対してLPARのアーキテクチャで規定される
割込みなどのシミュレーションを行なう。これによっ
て、ゲストプログラムがハイパバイザ110を経由しな
いで直接他のLPARメモリをアクセスすることを防止
する。
【0020】ハイパバイザ110では、ゲストプログラ
ムが扱うところの論理アドレスから、論理アドレスに対
応するところの実主記憶装置100の物理アドレスを、
次の計算式により算出する。 LPARメモリの物理アドレス=(ベースアドレス)+(LPARメモリ の論理アドレス) (1)
【0021】図2に示すように、全てのLPARメモリ
は、実主記憶装置100上に連続的に配置される。した
がって、ゲストプログラムが指定する論理アドレスにベ
ースアドレス301を加算することで、論理アドレスが
示すLPARメモリの物理アドレスが算出できる。ハイ
パバイザ110は、LPARメモリ200、210をア
クセスする時、上記(1)式の計算式303を用いて、
実主記憶装置100の物理アドレスを求める。
【0022】図3は、ハイパバイザ110が保持するア
クセス許可情報121の構成例を示した図である。アク
セス許可情報121は、メモリ管理情報120と同様
に、LPAR番号をインデクスとする配列構造で構成さ
れる。図3において、アクセス許可情報エントリnがL
PARメモリnに対するアクセス許可情報を保持する。
それぞれのアクセス許可情報エントリは、当該LPAR
メモリのアクセスを許可するか否かを決定付けるコード
であるアクセス許可コード310を格納する。ここで
は、アクセス許可コード310の値が「0」の時は、当
該LPARメモリのアクセスを不許可、「0」以外の時
はアクセスを許可するものとする。アクセス許可コード
310は、ハイパバイザ110の制御の元で、コンソー
ル装置102からのオペレータによるコマンド入力とゲ
ストプログラムの仮想命令によって設定される。仮想命
令について後述する。
【0023】図4は、オペレータがコンソール装置10
2からアクセス許可コード310を設定するSETコマ
ンドの形式を示す。SETコマンド320では、アクセ
ス許可するLPAR番号321と設定コード322を指
定する。このSETコマンド320は仮想計算機システ
ムを運用する管理者のみに開放される。ハイパバイザ1
10は、コンソール装置102からSETコマンド32
0が入力されると、LPAR番号321と設定コード3
22を抜き出し、アクセス許可情報121中のLPAR
番号321に対応するLPARメモリの許可コード31
0に、設定コード322を設定する。設定コード322
には、「0」の指定も可能である。許可コード310が
「0」に設定されると、その間は対応するLPARメモ
リが他からアクセス不許可となる。即ち、当該LPAR
メモリのアクセス機能は非活性化される。なお、仮想計
算機システム立上げの場合など、コンソール装置102
からLPAR活性化コマンドが投入された時、ハイパバ
イザ110は、アクセス許可情報121中の全ての許可
コード310を「0」に初期設定する。
【0024】図5は、LPARメモリのアクセスを可能
とするため、ゲストプログラムとハイパバイザとの間に
新たな命令インターフェースを定義付ける仮想命令を示
したものである。仮想命令400のオペコード401で
ある「83」はDiagnose命令を意味し、中央処
理装置101のアーキテクチャにおいて特権レベルに定
義されている特権命令の1つである。通常、この命令に
より、中央処理装置101は種々の診断動作を実行す
る。第1オペランド402のR1は汎用レジスタの番号
を示し、第2オペランド403の「FFF」は、LPA
Rメモリアクセスのための仮想命令であることを表すI
D(サブファンクションコード)である。汎用レジスタ
R1は、後述するLPARメモリアクセスに用いられる
アクセス制御ブロックの先頭アドレスを保持する。
【0025】全てのゲストプログラムは常に非特権レベ
ルで実行するので、ゲストプログラムが仮想命令400
を発行すると、特権レベル例外の割込みが発生し、ハイ
パバイザ110に制御が移行する。ハイパバイザ110
は、特権命令例外を起したゲストプログラムの命令コー
ドを読み出し、仮想命令の場合、R1をもとにアクセス
制御ブロックを読み出し、該アクセス制御ブロックに従
った処理を行う。
【0026】図6は汎用レジスタR1(404)とアク
セス制御ブロック500の関係を示し、図7と図8はア
クセス制御ブロック500の構成例を示す。図6に示す
ように、アクセス制御ブロック500の先頭は、ファン
クションコード(ファンクションID)501を表わ
し、このファンクションID501の値によって、アク
セス制御ブロック500は図7あるいは図8で示す形式
に分かれる。
【0027】図7は、ファンクションID501が「F
E」を示す時のアクセス制御ブロック500の形式を示
す。ファンクションID501が「FE」は、仮想命令
400がアクセス許可コード310を設定できる命令
(第1仮想命令:許可コード設定命令)であることを示
す。設定LPAR番号510は、仮想命令400を発行
したゲストプログラム自身のLPAR番号を指定するこ
とを強制するためのものである。変更コード511は、
仮想命令400を発行したゲストプログラム自身のLP
ARメモリの許可コード310へ設定すべき値を示す。
【0028】図8は、フォンクションID501が「F
F」を示す時のアクセス制御ブロック500の形式を示
す。フォンクションコード501が「FF」は、仮想命
令400がLPARメモリのアクセスを行なう命令(第
2仮想命令:アクセス命令)であることを示す。ソース
LPAR番号520はLPARメモリをアクセスする際
の転送元となるLPARメモリのLPAR番号を示し、
ターゲットLPAR番号521は、転送先となるLPA
RメモリのLPAR番号を示す。ソース比較コード52
2は、転送元となるLPARメモリのアクセス許可コー
ド310の期待値を示し、ターゲット比較コード523
は、転送先となるLPARメモリのアクセス許可コード
310の期待値を示す。ソースメモリアドレス524
は、転送元となるLPARメモリの転送データの先頭論
理アドレスを示し、ターゲットメモリアドレス525
は、転送先となるLPARメモリの先頭論理アドレスを
示す。データ長526は、転送すべきデータの大きさを
示す。
【0029】以下、図9、図10、図11により、仮想
命令400とアクセス制御ブロック500で定義付けた
機能を実現するためのハイパバイザ110の処理を説明
する。
【0030】図9は、仮想命令400のデコード処理フ
ローを示す。ハイパバイザ110は、ゲストプログラム
の走行中、特権レベル例外の割込みが発生し、仮想命令
400を検出すると、ステップ800でアクセス制御ブ
ロック500をハイパバイザ110のワーク領域に取り
込む。アクセス制御ブロック500の実主記憶装置10
0上の物理アドレスは、先の(1)式に示す計算式で求
められる。次に、アクセス制御ブロック500のファン
クションID501をチェックし(ステップ801)、
この値が「FE」を示すならば、ステップ802を実行
する。また、ファンクションID501が「FF」を示
すならば、ステップ804を実行する。「FE」でも
「FF」でもないファンクションID501は、定義さ
れていないので、ステップ805で例外シミュレーショ
ンを行う。
【0031】図10は、アクセス制御ブロック500の
ファンクションID501の値が「FE」で、アクセス
許可コード310の設定を要求された仮想命令(許可コ
ード設定命令)の場合のハイパバイザ110の処理フロ
ーを示す。ステップ810で、仮想命令400を発行し
たゲストプログラムのLPAR番号と設定LPAR番号
510とを比較し、一致しているならば、ステップ81
1で当該ゲストプログラム自身のLPARメモリのアク
セス許可コード310を、変更コード511で書き換え
る。ここで、アクセス許可コード310が「1」の値で
設定されると、セキュリティ付きLPARメモリのアク
セス機能が活性化される。ステップ810の判定の結
果、LPAR番号が一致していなければ、ステップ80
5で例外シミュレーションを行なう。
【0032】図11は、アクセス制御ブロック500の
ファンクションID501の値が「FF」で、LPAR
メモリのアクセスを要求された仮想命令(アクセス命
令)の場合のハイパバイザ110の処理フローを示す。
【0033】ステップ820では、ソースLPAR番号
520で指定されるLPARメモリのアクセス許可コー
ド310が「0」でないかチェックする。ステップ82
1では、ソースLPAR番号521で指定されるLPA
Rメモリのアクセス許可コード310が「0」でないか
チェックする。ステップ822では、ソースLPAR番
号520で指定されるLPARメモリのアクセス許可コ
ード310と、ソース比較コード522とを比較し、一
致しているかチェックする。ステップ823では、ター
ゲットLPAR番号521で指定されるLPARメモリ
のアクセス許可コード310と、ターゲット比較コード
523とを比較し、一致しているかチェックする。ステ
ップ820からステップ823のチェックを全てクリア
しなければ、ステップ805で例外シミュレーションを
行う。つまり、LPARメモリのアクセスを抑止する。
【0034】ステップ820から823のチエックを全
てクリアしたならば、ステップ824にて、ソースLP
AR番号520とソースメモリアドレス524から転送
元となるLPARメモリの先頭物理アドレス求め、ター
ゲットLPAR番号421とターゲットメモリアドレス
425から転送先となるメモリの先頭物理アドレスを求
める。それぞれの物理アドレスは、先の(1)式の計算
式に基いて算出される。次に、ステップ825にて、ス
テップ824で算出したソース先頭物理アドレスが示す
先のメモリからソース先頭物理アドレス+データサイズ
(526)−1までの領域のメモリを、ターゲット先頭
物理アドレスが示すところのメモリ領域にコピーする。
【0035】次に、具体的処理例として、本発明を用い
た時のハングアップLPARメモリのダンプ操作を説明
する。ここでは、ゲストプログラム202がハングアッ
プしてしまい、ゲストプログラム212が正常に実行し
ていると仮定する。
【0036】まず、オペレータが、SETコマンド32
0をコンソール装置102から入力して、ハイパバイザ
110を介し、アクセス許可情報121中のハングアッ
プしたゲストプログラム202を記憶しているLPAR
メモリ201に対応付けられるアクセス許可コード(以
下、許可コード311と称す)を「0」以外の値に設定
する。これによって、ハングアップLPAR1に対する
他のLPAR2からのメモリアクセス機能が活性化され
る。なお、オペレータがSETコマンドを投入するの
は、ゲストプログラム202がハングアップして自身で
許可コード設定命令を発行できないことによる。
【0037】次に、オペレータは、正常に動作している
LPAR2上のゲストプログラム212のアプリケーシ
ョンとしてダンププログラムを起動する。このダンププ
ログラムは特権命令の発行が許されるアプリケーション
である。ダンププログラム起動の際、オペレータは、許
可コード301と、LPARメモリ201が属するLP
AR1のLPAR番号をパラメータとして指定する。
【0038】起動されたダンププログラムは、ダンププ
ログラム自身が実行しているLPAR2のLPAR番号
を取得する。このLPAR番号は図7のアクセス制御ブ
ロック500における設定LPAR番号510の設定に
使用される。次に、ダンププログラムはアクセス許可コ
ード設定命令を発行し、ハイパバイザ110が図10の
処理を実行することで、アクセス許可情報121中のダ
ンププログラム自身を記憶するLPARメモリ210に
対応するアクセス許可コード(以下、許可コード312
と称す)が「0」以外の値に設定される。許可コード3
12の値はダンププログラム自身が決定する。これによ
って、ダンププログラムが実行するLPAR2における
メモリアクセス機能が活性化される。
【0039】また、ダンププログラムは、アクセス命令
の発行に先立ち、図8のアクセス制御ブロック500に
それぞれ値を設定する。許可コード311をソース比較
コード522に、ハングアップLPAR番号をソースL
PAR番号520に、許可コード312をターゲット比
較コード523に、ダンププログラム自身のLPAR番
号はターゲットLPAR番号521に、読み出すべきハ
ングアップLPARの論理アドレスをソースメモリアド
レス624に、ダンププログラムのデータ領域のアドレ
スをターゲットメモリアドレス625に設定する。デー
タ長526はダンププログラムのデータ領域を越えない
値が設定される。
【0040】ダンププログラムがアクセス命令を発行す
ると、ハイパバイザ110が図11の処理を実行し、ハ
ングアップLPARメモリ201の内容がLPARメモ
リメモリ210に転送される。アクセス命令が正常に終
了したなら、ダンププログラムはオペレーティングシス
テムが提供するファイルアクセス関数を用いて、このL
PARメモリ210に転送されたハングアップLPAR
メモリ201の内容を外部記憶装置に出力する。ダンプ
すべき領域の数、それぞれの領域のアドレスと大きさは
ダンププログラムが自動的に判断し、ソースメモリアド
レス624、ターゲットメモリアドレス625、データ
長526を必要に応じて変更する。
【0041】最後に、オペレータは再びSETコマンド
320をコンソール装置102から入力して、ハングア
ップLPARメモリ201に対応する許可コードの不許
可を指定し、ハイパバイザ110がアクセス許可情報1
21中の当該LPARメモリ201に対応するアクセス
許可コードを「0」に設定する。これによって、以後、
LPARメモリ201に対する他のLPARからのメモ
リアクセスが防止される。 なお、LPAR1、LPA
R2上のゲストプログラム202、212のアブリケー
ションとしてそれぞれテストプログラムが起動し、ハイ
パバイザ110の制御の元でLPARメモリ201、2
11間でデータ転送を行う場合は、図7や図8のアクセ
ス制御ブロックに設定する値は、全てゲストプログラム
によって自動的に決定されることになる。
【0042】
【発明の効果】本発明により、ハングアップしたシステ
ムプログラムが格納される仮想計算機主記憶を、同一仮
想計算機システム上の他の仮想計算機上の正常に動作し
ているアプリケーションプログラムが、低コストで外部
記憶装置にダンプできるようになる。
【0043】また、本発明により、仮想計算機システム
が構築する複数の仮想計算機上で実行するそれぞれのプ
ログラムが、低コストで互いにデータのやり取りを行な
うことができるようになる。
【0044】また、本発明により、仮想計算機上で実行
するそれぞれのプログラムが自身のメモリのアクセスを
許可する仮想計算機を限定できるので、仮想計算機主記
憶のアクセス機能が具備された仮想計算機システムにお
いても安全な走行ができるようになる。
【図面の簡単な説明】
【図1】本発明による仮想計算機システムの一実施例を
示すブロック図である。
【図2】仮想計算機主記憶(LPARメモリ)の実主記
憶装置上の配置を管理する情報を示す図である。
【図3】LPARメモリのアクセス許可を決定付ける情
報を示す図である。
【図4】アクセス許可コードを設定するコマンドの形式
を示す図である。
【図5】LPARメモリアクセスのための仮想命令の形
式を示す図である。
【図6】仮想命令で指定されるアクセス制御ブロックの
様子を示す図である。
【図7】許可コードの設定を要求する仮想命令に対応す
るアクセス制御ブロックの形式を示す図である。
【図8】LPARメモリのアクセスを要求する仮想命令
に対応するアクセス制御ブロックの形式を示す図であ
る。
【図9】アクセス制御ブロック内のファンクションコー
ドの判定処理を示すフローチャートである。
【図10】許可コードの設定を要求する仮想命令のハイ
パバイザの処理を示すフローチャートである。
【図11】LPARメモリのアクセスを要求する仮想命
令のハイパバイザの処理を示すフローチャートである。
【符号の説明】
100 実主記憶装置 101 中央処理装置 102 コンソール装置 110 ハイパバイザ 120 メモリ管理情報 121 アクセス許可情報 200,210 仮想計算機(LPAR) 201,211 仮想計算機主記憶 202,212 ゲストプログラム 203,213 ゲストデータ 300 メモリサイズ 301 ベースアドレス 310 アクセス許可コード 320 アクセス許可コード設定コマンド 321 LPAR番号 322 設定コード 400 仮想命令 500 アクセス制御ブロック 501 ファンクションコード 510 設定LPAR番号 511 変更コード 520 ソースLPAR番号 521 ターゲットLPAR番号 522 ソース比較コード 523 ターゲット比較コード 524 ソースメモリアドレス 525 ターゲットメモリアドレス 526 データ長

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 各々独立した仮想計算機主記憶を具備す
    る複数の仮想計算機からなり、ハイパバイザの制御の元
    で、各仮想計算機主記憶に格納されたゲストプログラム
    が該当仮想計算機上で実行する仮想計算機システムにお
    ける仮想計算機主記憶のアクセス制御方法であって、 ハイパバイザ管理領域に、各仮想計算機主記憶に対応し
    て当該仮想計算機主記憶のアクセスを許可するか否かを
    示すアクセス許可コードを記憶し、 ゲストプログラムに、前記アクセス許可コードの設定を
    ハイパバイザへ要求する第1仮想命令と、仮想計算機主
    記憶のアクセスをハイパバイザへ要求する第2仮想命令
    を定義し、 ハイパバイザは、ゲストプログラムから第1仮想命令が
    発行されると、当該ゲストプログラムの仮想計算機主記
    憶に対応するアクセス許可コードを設定し、ゲストプロ
    グラムから第2仮想命令が発行されると、アクセス要求
    のあった仮想計算機主記憶に対応するアクセス許可コー
    ドをチエックし、アクセス許可を示している場合、当該
    仮想計算機主記憶をアクセスする、ことを特徴とする仮
    想計算機主記憶のアクセス制御方法。
  2. 【請求項2】 請求項1記載の仮想計算機主記憶のアク
    セス制御方法において、 外部装置からの入力コマンドにアクセス許可コードの設
    定コマンドを定義し、ハイパバイザは、前記コマンドが
    入力されると、指定された仮想計算機主記憶に対応する
    アクセス許可コードを設定することを特徴とする仮想計
    算機主記憶のアクセス制御方法。
  3. 【請求項3】 請求項1、2記載の仮想計算機主記憶の
    アクセス制御方法において、 ゲストプログラムは、アクセスする仮想計算機主記憶の
    識別子及びメモリアクセス、アクセス許可コードの期待
    値をアクセス制御ブロックに設定し、該アクセス制御ブ
    ロックを指定して第2仮想命令を発行し、 ハイパバイザは、前記第2仮想命令で指定されたアクセ
    ス制御ブロックを取り込み、前記期待値にアクセス許可
    コードがなっていた場合、アクセス制御ブロックに基づ
    き要求された仮想計算機主記憶をアクセスする、ことを
    特徴とする仮想計算機主記憶のアクセス制御方法。
JP2000266940A 2000-09-04 2000-09-04 仮想計算機主記憶のアクセス制御方法 Pending JP2002073358A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000266940A JP2002073358A (ja) 2000-09-04 2000-09-04 仮想計算機主記憶のアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000266940A JP2002073358A (ja) 2000-09-04 2000-09-04 仮想計算機主記憶のアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2002073358A true JP2002073358A (ja) 2002-03-12

Family

ID=18753943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000266940A Pending JP2002073358A (ja) 2000-09-04 2000-09-04 仮想計算機主記憶のアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2002073358A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299400A (ja) * 2006-05-01 2007-11-15 Internatl Business Mach Corp <Ibm> ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)
US7299468B2 (en) 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US7328437B2 (en) 2002-10-24 2008-02-05 International Business Machines Corporation Management of locks in a virtual machine environment
US20080086729A1 (en) * 2006-10-10 2008-04-10 Yuki Kondoh Data processor
JP2008140116A (ja) * 2006-12-01 2008-06-19 Nec Corp パーティション・コンテキスト制御装置及び方法、並びにコンピュータ
JP2010211339A (ja) * 2009-03-09 2010-09-24 Mitsubishi Electric Corp 仮想計算機システム、仮想計算機システムの通信制御プログラム及び仮想計算機システムの通信制御方法
US7831977B2 (en) 2003-04-29 2010-11-09 International Business Machines Corporation Shared file system cache in a virtual machine or LPAR environment
US8001540B2 (en) 2006-08-08 2011-08-16 International Business Machines Corporation System, method and program product for control of sequencing of data processing by different programs
JP2016509726A (ja) * 2013-01-22 2016-03-31 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護
JP5981845B2 (ja) * 2011-03-02 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328437B2 (en) 2002-10-24 2008-02-05 International Business Machines Corporation Management of locks in a virtual machine environment
US7831977B2 (en) 2003-04-29 2010-11-09 International Business Machines Corporation Shared file system cache in a virtual machine or LPAR environment
US7299468B2 (en) 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US8589937B2 (en) 2003-04-29 2013-11-19 International Business Machines Corporation Shared file system cache in a virtual machine or LPAR environment
US7784053B2 (en) 2003-04-29 2010-08-24 International Business Machines Corporation Management of virtual machines to utilize shared resources
JP2007299400A (ja) * 2006-05-01 2007-11-15 Internatl Business Mach Corp <Ibm> ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)
US8001540B2 (en) 2006-08-08 2011-08-16 International Business Machines Corporation System, method and program product for control of sequencing of data processing by different programs
JP2008097173A (ja) * 2006-10-10 2008-04-24 Renesas Technology Corp データプロセッサ
US20080086729A1 (en) * 2006-10-10 2008-04-10 Yuki Kondoh Data processor
US8713563B2 (en) 2006-10-10 2014-04-29 Renesas Electronics Corporation Data processor with virtual machine management
TWI470552B (zh) * 2006-10-10 2015-01-21 Renesas Electronics Corp Data processor
JP2008140116A (ja) * 2006-12-01 2008-06-19 Nec Corp パーティション・コンテキスト制御装置及び方法、並びにコンピュータ
JP2010211339A (ja) * 2009-03-09 2010-09-24 Mitsubishi Electric Corp 仮想計算機システム、仮想計算機システムの通信制御プログラム及び仮想計算機システムの通信制御方法
JP5981845B2 (ja) * 2011-03-02 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路
JP2016509726A (ja) * 2013-01-22 2016-03-31 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護
JP2018081705A (ja) * 2013-01-22 2018-05-24 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護

Similar Documents

Publication Publication Date Title
KR101799261B1 (ko) 하드웨어 모드와 보안 플래그에 의존하여 판독된 명령어에 대한 메모리 영역의 제한
KR101770665B1 (ko) 데이터 처리장치의 디버깅
US9218302B2 (en) Page table management
US5353411A (en) Operating system generation method
KR100708356B1 (ko) 가상 기기 아키텍처에서의 게스트 소프트웨어의 연산과연관된 장애의 취급
US5526523A (en) Interface between operating system and operating system extension
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
JPH0769844B2 (ja) データ空間への共通アクセス装置及び方法
US20060282624A1 (en) Information processing apparatus, process control method and computer program therefor
US20060005200A1 (en) Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor
US11734430B2 (en) Configuration of a memory controller for copy-on-write with a resource controller
JP2002073358A (ja) 仮想計算機主記憶のアクセス制御方法
JP2001051900A (ja) 仮想計算機方式の情報処理装置及びプロセッサ
JP5318197B2 (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
US5003468A (en) Guest machine execution control system for virutal machine system
JPH07120318B2 (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH07225694A (ja) 仮想計算機システム
EP1901171A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
JPS5856058A (ja) 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式
JP3674446B2 (ja) 個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法
US20230161650A1 (en) Method and apparatus for inter-process communication, and computer storage medium
JP6439887B1 (ja) 情報処理装置
JP2708636B2 (ja) 情報処理装置の保守制御方法
Bellino et al. Virtual machine or virtual operating system?