JPH03204731A - Device and method for executing emulation of virtual computer - Google Patents

Device and method for executing emulation of virtual computer

Info

Publication number
JPH03204731A
JPH03204731A JP75890A JP75890A JPH03204731A JP H03204731 A JPH03204731 A JP H03204731A JP 75890 A JP75890 A JP 75890A JP 75890 A JP75890 A JP 75890A JP H03204731 A JPH03204731 A JP H03204731A
Authority
JP
Japan
Prior art keywords
virtual machine
virtual
area
input
emulation
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
JP75890A
Other languages
Japanese (ja)
Inventor
Haruhiko Ueno
治彦 上埜
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP75890A priority Critical patent/JPH03204731A/en
Publication of JPH03204731A publication Critical patent/JPH03204731A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To easily and new architecture corresponding to a new virtual computer by constituting the device so that the specifications difference of input/ output areas of the processing issued by the virtual computer necessitated with an emulation by a virtual computer monitor is absorbed by a hardware. CONSTITUTION:An area format changing part 4 reads out data related to the processing stored in input/output areas 3i (i = 1, 2,...) for an allocated virtual computer used for the processing of the required computer, and in the case it can be changed, an area format determined with regard to the virtual computer is changed to a prescribed area format, and the changed data is written in a monitor input/output area 30. A virtual computer monitor 1 executes an emulation, based on the data changed to the prescribed area format. In such a manner, the virtual computer monitor is generated easily, and new architecture can be added easily as the virtual computer.

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第7図) 発明が解決しようとする課題 課題を解決するための手段(第1,2図)作用(第1.
2図) 実施例(第3.4,5.6図) 発明の効果 〔概要〕 −又は複数の仮想計算機を順次起動すると共に、仮想計
算機の発行する命令によりハードウェアが実行する処理
のうち、ハードウェアが共有されている為等の理由で直
接実行不可能な処理につき要求によりエミュレーション
を行う仮想計算機モニタと、各仮想計算機に対応し仮想
計算機の処理に用いる為各々定められた領域形式でデー
タを格納する仮想計算機用入出力領域とを設けた仮想計
算機システムのエミュレーション実行装置及び方法に関
し、 システムの作成が容易で汎用性、かつ柔軟性のある仮想
計算機システムのエミュレーション実行装置及び方法を
提供することを目的とし、前記モニタの処理に用いるた
め所定の領域形式でデータを格納するモニタ用の入出力
領域を設けると共に、エミュレーション実行の開始又は
終了の際に、等価に変更可能な場合には各前記領域に格
納されたデータを読み出し、所定の領域形式に変更し、
変更したデータを該当する前記領域に書き込む領域形式
変更部を設けた構成である。
[Detailed description of the invention] [Table of contents] Overview Industrial field of application Prior art (Fig. 7) Means for solving the problems to be solved by the invention (Figs. 1 and 2) Effects (Fig. 1.
Figure 2) Embodiment (Figures 3.4 and 5.6) Effects of the invention [Summary] - Or, among the processes executed by the hardware according to instructions issued by the virtual machines while sequentially starting a plurality of virtual machines, A virtual machine monitor that emulates processes that cannot be directly executed due to shared hardware, etc. upon request, and data in a designated area format corresponding to each virtual machine and used for virtual machine processing. The present invention relates to an emulation execution device and method for a virtual computer system having a virtual machine input/output area for storing information, and provides an emulation execution device and method for a virtual computer system that is easy to create, versatile, and flexible. For the purpose of reading the data stored in the area and changing it to a predetermined area format;
This configuration includes an area format changing unit that writes changed data into the corresponding area.

〔産業上の利用分野〕[Industrial application field]

本発明は仮想計算機のエミュレーション実行装置及び方
法に係り、特に一または複数の仮想計算機を順次起動さ
せるとともに、当該仮想計算機の発行する命令によりハ
ードウェアが実行する処理のうち、当該ハードウェアが
共有されているため命令により直接実行不可能な処理に
つき、要求によりエミュレーションを行う仮想計算機モ
ニタと、各仮想計算機に対応して、当該仮想計算機の処
理に用いるため各々定められた領域形式でデータを格納
する仮想計算機用の入出力領域とを設けた仮想計算機シ
ステムのエミュレーション実行装置及び方法に関する。
The present invention relates to a virtual machine emulation execution device and method, and particularly relates to a virtual machine emulation execution device and method, in which one or more virtual machines are started up sequentially, and among the processes executed by the hardware according to instructions issued by the virtual machine, the hardware is shared. A virtual machine monitor performs emulation upon request for processing that cannot be executed directly by instructions because of the processing conditions, and data is stored in a designated area format for use in the processing of each virtual machine, corresponding to each virtual machine. The present invention relates to an emulation execution device and method for a virtual computer system provided with an input/output area for a virtual computer.

ここで、「仮想計算機(Virtual Machin
;VM) Jとは複数のユーザ(OS)に対して、単一
ハードウェアによる仮想的実計算機環境を提供すること
を目的とするものであり、ハードウェア上の構成は従来
の計算機システムと変らない。仮想計算機機構には大き
く分けて3つの構成要素がある。仮想計算機制御プログ
ラム(以下、ホスト・プログラム、或は単にホストと記
述する)は時分割方式等により仮想計算機(以下、ゲス
ト・プログラム、或いは単にゲストと記述する)を順番
に起動して行く。先ず、ゲスト1を起動する。ゲスト1
に割り付けたタイム・スライスが経過したら次にゲスト
2、次はゲスト3・・・と言う方法で順繰りにゲストを
起動して行く。この方式により、単一のハードウェア上
で複数のオペレーティング・システムが走行可能となる
Here, "Virtual Machine"
;VM) The purpose of J is to provide multiple users (OS) with a virtual real computer environment using a single piece of hardware, and the hardware configuration is no different from that of conventional computer systems. do not have. The virtual machine mechanism has three main components. A virtual computer control program (hereinafter referred to as a host program or simply a host) sequentially starts up virtual computers (hereinafter referred to as a guest program or simply a guest) using a time-sharing method or the like. First, start Guest 1. Guest 1
After the time slice assigned to the guest has elapsed, the guests are started in sequence, next guest 2, then guest 3, and so on. This approach allows multiple operating systems to run on a single piece of hardware.

上記のように、単一のハードウェアを複数のゲストで共
用するため、そのゲストのみが使用するシステム資源(
コンソール等)は該ゲストが勝手に使用しても良いが、
ゲスト間で共用する資源(物理CPU等)はゲストが勝
手に操作することが出来ない。従って、システム共用資
源を操作することが必要な場合には、ホストがゲストの
制御に介入する。
As mentioned above, since a single piece of hardware is shared by multiple guests, the system resources used only by that guest (
console, etc.) may be used by the guest without permission, but
Resources shared between guests (such as a physical CPU) cannot be manipulated by the guests without permission. Therefore, the host intervenes in the control of the guest when it is necessary to manipulate system shared resources.

〔従来の技術〕[Conventional technology]

従来、第7図に示すように、一または複数の仮想計算機
を順次起動させるとともに、当該仮想計算機の発行する
命令によりハードウェアが実行する処理のうち、当該ハ
ードウェアが共有されているため命令により直接実行不
可能な処理につき、要求によりエミュレーションを行う
仮想計算機モニタ71と、各仮想計算機に対応して、当
該仮想計算機の処理に用いるため各々定められた領域形
式でデータを格納する仮想計算機用の入出力領域731
,732.・・・、73nとが設けられた仮想計算機シ
ステムのエミュレーション実行装置があった。
Conventionally, as shown in FIG. 7, one or more virtual machines are started up in sequence, and among the processes executed by hardware according to instructions issued by the virtual machines, since the hardware is shared, A virtual machine monitor 71 performs emulation upon request for processing that cannot be directly executed, and a virtual machine monitor 71 that stores data in a predetermined area format for use in the processing of each virtual machine, corresponding to each virtual machine. Input/output area 731
, 732. There was an emulation execution device for a virtual computer system equipped with ..., 73n.

当該仮想計算機のエミュレーション実行装置は次のよう
に動作する。
The emulation execution device of the virtual machine operates as follows.

前記仮想計算機モニタ71により起動された前記仮想計
算機が処理Aを行う際に、当該仮想計算機から発行され
た命令による処理がエミュレーションを必要とするとい
うハードウェアからの要求が前記モニタ71に達すると
、当該モニタ71は当該要求の発行元である仮想計算機
の対応する入出力領域731(入出カブロック)に対し
て直接読み出しの指示を行い、読み出されたデータに基
づいて、前記モニタ71はエミュレーションを行うこと
になる。
When the virtual machine started by the virtual machine monitor 71 performs process A, when a request from hardware reaches the monitor 71 that the process based on an instruction issued from the virtual machine requires emulation, The monitor 71 directly instructs the corresponding input/output area 731 (input/output block) of the virtual machine that issued the request, and based on the read data, the monitor 71 performs emulation. I will do it.

また、当該モニタ71のエミュレーションの実行の結果
得られたデータは再び当該発行元の前記仮想計算機に対
応する仮想計算機用の入出力領域731内へ直接書き込
まれることとなる。
Further, the data obtained as a result of the emulation execution of the monitor 71 is directly written into the virtual machine input/output area 731 corresponding to the virtual machine of the issuer.

すなわち、従来例では各仮想計算機のアーキテクチャの
仕様差を意識して(当該仮想計算機モニタの動作を規定
するホストプログラムが各領域形式を直接考慮して)処
理Aのエミュレーションを行っていた。
That is, in the conventional example, emulation of process A was performed while being aware of the differences in the architecture specifications of each virtual machine (the host program that defines the operation of the virtual machine monitor directly takes into account each area format).

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところで、従来では以上説明したように各仮想計算機の
アーキテクチャを意識してエミュレーションを行うよう
にしていたため、仮想計算機のアーキテクチャとして、
新たなアーキテクチャZを追加したとき、このアーキテ
クチャの処理A用データを格納した入出力領域(ブロッ
ク)A−Zの領域形式が既存のものと異なる場合には、
仮想計算機モニタのエミュレーション・プログラムをも
変更する必要があり、仮想計算機モニタの作成、すなわ
ち、ホストプログラムの作成による仮想モニタの構築に
手間がかかるという問題点を有していた。
By the way, in the past, as explained above, emulation was performed keeping in mind the architecture of each virtual machine, so the architecture of the virtual machine was
When adding a new architecture Z, if the area format of the input/output area (block) A-Z that stores data for processing A of this architecture is different from the existing one,
It is also necessary to change the emulation program of the virtual machine monitor, and there is a problem in that it takes time and effort to create the virtual machine monitor, that is, to construct the virtual monitor by creating the host program.

そこで、本発明は仮想計算機モニタによるエミュレーシ
ョンが必要な仮想計算機が発行する処理の入出力領域の
仕様差をハードウェアが吸収することにより、仮想計算
機モニタの変更及び作成を容易にして、新しい仮想計算
機に対応するアーキテクチャを容易に追加することがで
きる汎用性及び柔軟性のある仮想計算機システムのエミ
ュレーション実行装置及び方法を提供することを目的と
してなされたものである。
Therefore, the present invention makes it easy to change and create virtual machine monitors by allowing hardware to absorb specifications differences in the input/output area of processes issued by virtual machines that require emulation by virtual machine monitors, and to create new virtual machine monitors. The purpose of this invention is to provide a versatile and flexible virtual machine system emulation execution device and method that can easily add architectures that support the system.

〔課題を解決するための手段〕[Means to solve the problem]

以上の技術的課題を解決するため第一の発明は第1図に
示すように、一または複数の仮想計算機を順次起動させ
るとともに、当該仮想計算機の発行する命令によりハー
ドウェアが実行する処理のうち、直接実行不可能な命令
をエミュレーションする仮想計算機モニタ1と、各仮想
計算機に対応して、当該仮想計算機の処理に用いるため
各々定められた領域形式でデータを格納する仮想計算機
用の入出力領域31,32.・・・とを設けた仮想計算
機システムのエミュレーション実行装置において、前記
モニタ1の処理に用いるため所定の領域形式でデータを
格納するモニタ用の入出力領域30を設けるとともに、
エミュレーション実行の開始又は終了の際に、等価に変
更可能な場合には各前記領域30,31.・・・3nに
格納されたデータを読み出し、所定の領域形式に変更し
、変更したデータを該当する前記領域30,31.・・
・3nに書き込む領域形式変更部4を設けたものである
In order to solve the above technical problems, the first invention, as shown in FIG. , a virtual machine monitor 1 that emulates instructions that cannot be directly executed, and an input/output area for each virtual machine that stores data in a predetermined area format for use in the processing of the virtual machine. 31, 32. In an emulation execution device for a virtual computer system, an input/output area 30 for storing data in a predetermined area format for use in the processing of the monitor 1 is provided, and
At the start or end of emulation execution, each of the areas 30, 31 . . . 3n is read out, changed to a predetermined area format, and the changed data is transferred to the corresponding area 30, 31 .・・・
- An area format changing unit 4 for writing to 3n is provided.

一方、第二の発明は第2図に示すように、一または複数
の仮想計算機が順次起動された際に、仮想計算機の発行
する命令によりハードウェアが実行する処理のうち、当
該ハードウェアが共有されているため当該命令により直
接実行不可能な処理につきエミュレーションの要求があ
った(S1)場合に、各仮想計算機に対応して各々定め
られた領域形式で各仮想計算機毎に入出力領域に格納さ
れた処理内容を示すデータに基づいてエミュレーション
を行う仮想計算機システムのエミュレーション実行方法
において、要求のあった仮想計算機に対応する仮想計算
機用の入出力領域に格納されている前記データを当該領
域から読み出し、等価に変更可能な場合には、所定の領
域形式へ変更し(S2)、変更された当該データをエミ
ュレーション実行のために用いるモニタ用の入出力領域
に書き込むとともに(S3)、書き込まれた当該データ
に基づいてエミュレーションを実行し(S4)、エミュ
レーションの実行により生じた結果を要求のあった仮想
計算機に対応する領域形式に変更して該当する仮想計算
機用の入出力領域に書き込む(S5)ものである。
On the other hand, the second invention is, as shown in Figure 2, when one or more virtual machines are sequentially started, among the processes executed by the hardware according to the instructions issued by the virtual machines, the hardware shares the When there is a request for emulation of a process that cannot be directly executed by the instruction because the instruction is executed (S1), the data is stored in the input/output area of each virtual computer in a predetermined area format corresponding to each virtual computer. In an emulation execution method for a virtual computer system that performs emulation based on data indicating the processing content that has been requested, the data stored in the input/output area for a virtual machine corresponding to the requested virtual machine is read from the area. , if it can be changed equivalently, it is changed to a predetermined area format (S2), the changed data is written to the input/output area for the monitor used for emulation execution (S3), and the written data is Execute emulation based on the data (S4), change the result generated by the emulation execution to the area format corresponding to the requested virtual machine, and write it to the input/output area for the corresponding virtual machine (S5) It is.

〔作用〕[Effect]

第−及び第二の発明に係る仮想計算機システムのエミュ
レーション実行装置の動作について説明する。
The operation of the emulation execution device for a virtual computer system according to the first and second inventions will be explained.

ステップSlで前記仮想計算機モニタ1により起動され
たある仮想計算機による命令により、複数の仮想計算機
がハードウェアを共用するため当該仮想計算機の命令に
よっては直接実行不可能な処理について、当該ハードウ
ェアから仮想計算機モニタ1に要求があると、当該仮想
計算機モニタlは、ステップS2で前記領域形式変更部
4に対し指示を行う。
In step Sl, an instruction from a certain virtual computer started by the virtual computer monitor 1 causes a virtual computer to transfer from the hardware a process that cannot be directly executed depending on the instructions of the virtual computer because multiple virtual computers share the hardware. When the computer monitor 1 receives a request, the virtual computer monitor 1 instructs the area format changing unit 4 in step S2.

すると、当該領域形式変更部4はステップS3で当該要
求があった仮想計算機の処理に用いるための(割り当て
られた)仮想計算機用の入出力領域3i (i=1.2
.・・・)に格納されている処理に関するデータを読み
出し、変更可能な場合には、当該仮想計算機について定
められた領域形式を所定の領域形式に変更し、変更され
たデータは前記モニタ用入出力領域30に書き込まれる
ことになる。
Then, in step S3, the area format changing unit 4 changes the (allocated) virtual machine input/output area 3i (i=1.2
.. ...), and if it is possible to change it, change the area format defined for the virtual machine to a predetermined area format, and the changed data is transferred to the monitor input/output. It will be written to area 30.

ここで、「エミュレーション」とはハードウェアの共用
等のため当該各仮想計算機のみによっては実行不可能な
処理について、VM上で動作するプログラムからは、恰
かも仮想計算機が処理する如くに見えるように処理する
ことをいう。
Here, "emulation" refers to processing that cannot be executed by each virtual machine alone due to shared hardware, etc., so that it appears to the program running on the VM as if it were being processed by the virtual machine. It means to process.

「入出力領域」とは各仮想計算機または仮想計算機モニ
タ1とハードウェアとの間のデータの受渡しの為に用い
るメモリ領域をいう。
The "input/output area" refers to a memory area used for exchanging data between each virtual computer or virtual computer monitor 1 and hardware.

「所定の領域形式」とは、例えば、前記仮想計算機の1
つで採用されている汎用的な領域形式であって、当該領
域形式が採用されている仮想計算機の処理の内容が、他
の仮想計算機として提供される処理の内容の殆どを包含
しており、多くの場合能の仮想計算における処理の領域
形式を当該領域形式に変更することが可能である領域形
式をいい、前記複数の仮想計算機では使用されていない
別の汎用的な領域形式であっても良い。
The "predetermined area format" is, for example, one of the virtual machines.
It is a general-purpose area format adopted in , and the processing contents of the virtual machine that adopts the area format include most of the processing contents provided as other virtual computers, In many cases, it refers to an area format in which it is possible to change the processing area format in virtual computing to the area format, even if it is another general-purpose area format that is not used in the plurality of virtual computers. good.

尚、「可能でない場合」、すなわち、等価な意味で領域
形式の変更が不能な場合には、例えば、変更不能の部分
の処理を前記ハードウェアが実行し、残りを前記所定の
領域形式に変更し、前記モニタ用の入出力領域30に書
き込むようにし、また、仮想計算機として実行不可能な
処理が指定された場合には、例えば、当該処理は「実行
不能な処理」である旨の終了コードを前記仮想計算機モ
ニタlが出力するような処理を行わしめれば良い。
In addition, if it is "not possible", that is, if it is impossible to change the area format in an equivalent sense, then, for example, the hardware executes the processing of the unchangeable part and changes the remaining area to the predetermined area format. When a process that cannot be executed by the virtual machine is specified, an exit code indicating that the process is an "unexecutable process" is written to the input/output area 30 for the monitor. What is necessary is to perform processing such that the virtual machine monitor l outputs the above.

すると、ステップS4で前記仮想計算機モニタ1は前記
所定の領域形式に変更されたデータに基づいてエミュレ
ーションを実行することになる。
Then, in step S4, the virtual machine monitor 1 executes emulation based on the data changed to the predetermined area format.

その際、仮想計算機モニタ1は常に「所定の領域形式」
により表現されたデータでエミュレーションを実行する
ようにしているため、各仮想計算機間の領域形式の相違
を意識することなくエミュレーションを実行することが
できることになる。
At that time, virtual machine monitor 1 is always in the "predetermined area format"
Since emulation is executed using data expressed by , it is possible to execute emulation without being aware of differences in area formats between virtual machines.

エミュレーションの実行により生じた結果はステップS
5で、前記要求のあった仮想計算機の仮想計算機用の領
域形式に前記領域形式変更部4により再び変更された後
、該当する仮想計算機用の入出力領域、すなわち、前記
要求のあった仮想計算機の仮想計算機用の入出力領域3
1に書き込まれるこ′とになる。
The results produced by running the emulation are shown in step S.
In step 5, after the area format of the requested virtual machine is changed again by the area format changing unit 4, the input/output area for the corresponding virtual machine, that is, the requested virtual computer Input/output area 3 for virtual machine
It will be written to 1.

〔実施例〕〔Example〕

続いて、本発明の実施例について説明する。 Next, examples of the present invention will be described.

第3図に本発明の実施例に係る仮想計算機システムの全
体機器構成ブロック図を示す。
FIG. 3 shows a block diagram of the overall equipment configuration of a virtual computer system according to an embodiment of the present invention.

本実施例に係る仮想計算機システムでは同図に示すよう
に、所定のハードウェア12と、入出力装置との接続の
制御を行うチャネル151゜152、・・・15mと、
各チャネルを介して入出力制御装置及び入出力装置16
1,162.・・・16mと接続されている。
As shown in the figure, in the virtual computer system according to the present embodiment, channels 151, 152, .
Input/output control device and input/output device 16 through each channel
1,162. ...Connected to 16m.

また、当該所定のハードウェア12は同図に示すように
、前記各チャネル151,152.・・・15mと接続
した入出力処理を行うとともに入出力割込みをホストま
たはゲストに振り分ける■○P(入出カプロセッサ装置
)12eと、仮想計算機または仮想計算機モニタとして
動作する物理CP’U12a、12b、12c、12d
Further, as shown in the figure, the predetermined hardware 12 includes the respective channels 151, 152 . . . . 15m, which performs input/output processing and distributes input/output interrupts to the host or guest.■○P (input/output processor device) 12e, and physical CP'U12a, 12b, which operates as a virtual computer or virtual computer monitor. 12c, 12d
.

12eと、メモリ13に対するアクセス等の制御を行う
メモリ制御装置(MCU)12fと、メモリ13とを有
するものである。
12e, a memory control unit (MCU) 12f that controls access to the memory 13, and the memory 13.

また、当該メモリエ3には各仮想計算機に対応付けられ
た仮想計算機用の入出力領域13aと、各仮想計算機モ
ニタ用の入出力領域13bと、仮想計算機構築用のメモ
リ領域13cと、仮想入出力装置構築用のメモリ領域1
3dとを有するものである。また、図示していないが、
ホストやゲストに対応して設けられたハードウェア割込
み用の待ち行列を格納する領域が設けられている。
In addition, the memory area 3 includes an input/output area 13a for virtual machines associated with each virtual machine, an input/output area 13b for monitoring each virtual machine, a memory area 13c for constructing a virtual computer, and a virtual input/output area 13a for virtual machines. Memory area 1 for device construction
3d. Also, although not shown,
An area is provided for storing hardware interrupt queues provided for hosts and guests.

さらに、第4図には本実施例に係る仮想計算機システム
を機能的にブロック図に示したものである。
Furthermore, FIG. 4 is a functional block diagram of the virtual computer system according to this embodiment.

本実施例に係る仮想計算機システムは大きくは一または
複数の仮想計算機を順次起動させるとともに、当該仮想
計算機の発行する命令によりハードウェアが実行する処
理のうち、当該ハードウェアが共有されているため当該
命令により直接実行不可能な処理につき当該ハードウェ
アからの要求によりエミュレーションを行う仮想計算機
モニタ(以下rVMモニタ」という)11と、所定ハー
ドウェア12とを有するものであり、当該所定ハードウ
ェア12には当該VMモニタ11を実行するのに用いら
れたCPU自体をも含まれる。これは当該VMモニタ1
1はタイムスライス方式により当該CPUのある時間の
み用いられるものであり、当該時間以外の時間は仮想計
算機として用いられるからである。
Broadly speaking, the virtual computer system according to this embodiment sequentially starts one or more virtual machines, and among the processes executed by the hardware based on the instructions issued by the virtual machines, the hardware is shared, so the It has a virtual machine monitor (hereinafter referred to as "rVM monitor") 11 that emulates processes that cannot be directly executed by instructions in response to a request from the hardware, and a predetermined hardware 12, and the predetermined hardware 12 includes: The CPU itself used to execute the VM monitor 11 is also included. This is the VM monitor 1
This is because the CPU 1 is used only during a certain period of time by the time slice method, and is used as a virtual computer at other times.

当該VMモニタ11は第4図に示すように、前記所定ハ
ードウェア12に含まれるCPU等を用いて構築された
仮想計算機からの命令内容を解読し、該当する指示を行
う内容解読部11aと、前記所定ハードウェア12を用
いて仮想計算機の構築の指示を行う仮想計算機構築部1
1bと、同様に前記所定ハードウェア12を用いて仮想
入出力装置の構築の指示を行う仮想入出力装置構築部1
1cと、当該仮想計算機の処理に関するエラー等の監視
や管理を行う管理監視部lidと、前記仮想計算機の処
理実行の優先順位を定め、当該優先順位に基づいて起動
を行う実行順序制御部lieと、当該実行順序制御部l
ieの指示により複数の前記各仮想計算機の動作モード
または当該VMモニタ11の動作モード間の変換を行う
モード変換部11fと、当該モード変換部11fの指示
に基づいて前記エミュレーションを行うエミュレーショ
ン部11gとを有するものである。
As shown in FIG. 4, the VM monitor 11 includes a content decoding unit 11a that decodes the content of an instruction from a virtual machine constructed using a CPU or the like included in the predetermined hardware 12 and issues a corresponding instruction; a virtual machine construction unit 1 that instructs construction of a virtual machine using the predetermined hardware 12;
1b, and a virtual input/output device construction unit 1 that similarly instructs the construction of a virtual input/output device using the predetermined hardware 12.
1c, a management monitoring unit lid that monitors and manages errors, etc. related to the processing of the virtual machine, and an execution order control unit lie that determines the priority order of processing execution of the virtual machine and starts up based on the priority order. , the execution order control unit l
a mode conversion unit 11f that performs conversion between the operation modes of each of the plurality of virtual machines or the operation mode of the VM monitor 11 according to an instruction from the IE; and an emulation unit 11g that performs the emulation based on the instruction of the mode conversion unit 11f; It has the following.

前記所定ハードウェア12はCPU (単数または複数
の場合がある)や、メモリ13等の各種のハードウェア
を有し、当該メモリ13は前記仮想計算機を構築する際
に各仮想計算機の構築用のデータを格納する仮想計算機
構築用メモリ領域13cと、前記仮想入出力装置の構築
用データを格納するメモリ領域13dと、前記各仮想計
算機の動作用のプログラム・データ(コマンド及びデー
タ)を格納する仮想計算機用の入出力領域(入出カブロ
ック)13aと、前記VMモニタ11のエミュレーショ
ン部11gの処理に用いる入出力領域であって、前記所
定の領域形式で表現されたものを格納するモニタ用の入
出力領域13bとを有するものである。当該仮想計算機
用の入出力領域13aには各仮想計算機毎に対応する仮
想計算機用の入出力領域13 a 1 +13a2.・
・・13anが割当てられるとともに、同様に前記仮想
計算機の構築用メモリ領域13cは各仮想計算機毎に構
築用のデータを各々格納する仮想計算機構築用領域13
cl。
The predetermined hardware 12 includes various hardware such as a CPU (in some cases one or more) and a memory 13, and the memory 13 stores data for constructing each virtual machine when constructing the virtual machine. a memory area 13c for storing virtual machine construction, a memory area 13d for storing construction data of the virtual input/output device, and a virtual machine storing program data (commands and data) for operating each of the virtual machines. an input/output area (input/output block) 13a for the VM monitor 11, and an input/output area for the monitor that is used for processing of the emulation unit 11g of the VM monitor 11 and stores things expressed in the predetermined area format. It has a region 13b. The virtual machine input/output area 13a includes virtual machine input/output areas 13 a 1 +13a2 .corresponding to each virtual computer.・
. . 13an is allocated, and similarly, the virtual machine construction memory area 13c is a virtual machine construction area 13 that stores construction data for each virtual machine.
cl.

13c2.・・・13cnを有するとともに、前記仮想
入出力装置の構築用データを格納するメモリ領域13d
も同様にして、各仮想計算機毎に仮想入出力装置の構築
用データを格納する領域13dl、13d2.−−−.
13dnを有するものである。
13c2. . . . 13cn, and a memory area 13d for storing data for constructing the virtual input/output device.
Similarly, areas 13dl, 13d2, . ---.
It has 13dn.

また、当該所定のハードウェア12にはエミュレーショ
ン実行の開始または終了の際に、エミュレーションの要
求があった仮想計算機用の入出力領域13a i (i
=1.2. ・・・、n)に格納されたデータとモニタ
用の入出力領域(ホスト領域)13bに格納された所定
の領域形式で表現されたデータについての領域形式を変
更可能である場合は変更し、変更されたデータを該当す
る当該領域13a、13bに格納するCPU及びプログ
ラム、またはハードウェアにより構成された領域形式変
更部14を有するものである。
In addition, the predetermined hardware 12 has an input/output area 13a i (i
=1.2. . It has an area format changing unit 14 configured by a CPU and a program, or hardware, for storing changed data in the corresponding areas 13a and 13b.

尚、前述したVMモニタ11はCPU及びプログラムか
ら構成されている。
Note that the above-mentioned VM monitor 11 is composed of a CPU and a program.

次に、本実施例に係る仮想計算機システムの動作につい
て説明する。
Next, the operation of the virtual computer system according to this embodiment will be explained.

第5図に本実施例に係るVMモニタ11の前記エミュレ
ーション部11gによるエミュレーションの同期的処理
(仮想計算機からVMモニタに対する処理の依頼の終了
と依頼された処理内容の処理の終了時期とが一致する処
理)の処理流れ図を示す。
FIG. 5 shows synchronous processing of emulation by the emulation unit 11g of the VM monitor 11 according to the present embodiment (the end of a processing request from the virtual machine to the VM monitor coincides with the end of processing of the requested processing content). Fig. 3 shows a processing flowchart of the processing.

同図に示すように、ステップSYIで前記仮想計算機構
築部11bによって構築され、前記実行順序制御部1e
により起動された仮想計算機(アーキテクチャY)から
、所定の処理命令Aを開始する5TART−Y命令が発
行される。
As shown in the figure, the virtual machine is constructed by the virtual machine construction unit 11b in step SYI, and the execution order control unit 1e
A 5TART-Y instruction that starts a predetermined processing instruction A is issued from the virtual machine (architecture Y) started by the virtual machine (architecture Y).

ここで、当該5TART−Y命令の対象は仮想計算機Y
のPRB (Process Request Blo
ck)−Y領域(仮想計算機用の入出力領域)13aで
ある。
Here, the target of the 5TART-Y instruction is virtual computer Y.
PRB (Process Request Blo
ck)-Y area (input/output area for virtual machine) 13a.

当該5TART−Y命令が発行されると、CPUが問題
プログラム状態にあって、前記5TART−Y命令であ
る特権命令が発行されると特権例外を発生して問題プロ
グラム状態を終了させる場合等を除き、前記VMモニタ
11への割込み(仮想計算機同土間の通常の割込みであ
るインタラブジョン;1nterruption  に
対して、インタセプション;1nterception
という)が生じる。ここで、当該VMモニタ11の前記
モード変換部11fの指示により、動作はVMモニタ1
1の動作へ移る。
When the 5TART-Y instruction is issued, the CPU is in the problem program state, and when the privileged instruction that is the 5TART-Y instruction is issued, a privileged exception is generated and the problem program state is terminated. , an interrupt to the VM monitor 11 (interception; 1interception, which is a normal interrupt between two virtual machines)
) occurs. Here, according to the instruction from the mode converting section 11f of the VM monitor 11, the operation of the VM monitor 1
Move on to action 1.

ステップSXIで、当該インタセプションがあると、V
Mモニタ11のエミュレーション部11g(アーキテク
チャX)に対し、5TART−X命令を前記ハードウェ
ア12が前記内容解読部11aを介して通知することに
なる。
In step SXI, if there is the interception, V
The hardware 12 notifies the emulation unit 11g (architecture X) of the M monitor 11 of the 5TART-X command via the content decoding unit 11a.

すると、ステップSX2で当該エミュレーション部11
gは前記ハードウェア12に対し、READ PRB−
X命令を発行する。
Then, in step SX2, the emulation section 11
g is READ PRB- for the hardware 12.
Issue X command.

当該READ PRB−X命令が発行されると、当該ハ
ードウェア12の前記領域形式変更部14は前記仮想計
算機のアーキテクチャYに相当する仮想計算機用の入出
カメモリ領域13aに格納されている当該アーキテクチ
ャYの領域形式で表示されているFRB−Yを前記アー
キテクチャXの汎用的な領域形式(前述した所定の領域
形式) FRB−Xへ変更し、指定された前記VMモニ
タ用の入出力領域13bに書き込む。
When the READ PRB-X command is issued, the area format changing unit 14 of the hardware 12 changes the architecture Y stored in the virtual machine input/output memory area 13a corresponding to the architecture Y of the virtual machine. The FRB-Y displayed in the area format is changed to the general-purpose area format of the architecture X (predetermined area format described above) FRB-X, and is written to the designated input/output area 13b for the VM monitor.

ステップSX3でエミュレーション部11gは前記VM
モニタ用の入出力領域13bに書き込まれたFRB−X
を解析し、前記ハードウェア12に対し、必要なエミュ
レーションを実行することになる。
In step SX3, the emulation unit 11g uses the VM
FRB-X written in input/output area 13b for monitor
will be analyzed and necessary emulation will be executed on the hardware 12.

例えば、当該7Mモニタ11により、5TART−X命
令が既に発生していて、当該5TART−X命令を既に
実行中である場合には、当該仮想計算機を構成するハー
ドウェアがとジー状態であると判定して恰かも当該仮想
計算機がビジーであるようなエミュレーションを行い、
適当な条件コード(condition cocle;
入出力、演算論理等の命令が実行された時、その結果を
反映するコード)を設定してエミュレーションを終了す
ることになる。
For example, if a 5TART-X instruction has already been generated and the 5TART-X instruction is already being executed, the 7M monitor 11 determines that the hardware constituting the virtual machine is in an idle state. Then perform an emulation that makes it appear that the virtual machine is busy,
Appropriate condition code;
When input/output, arithmetic logic, etc. instructions are executed, the emulation is completed by setting a code that reflects the results.

また、例えば、当該データの中にプログラム・エラーを
発見した場合には、エラー割込みが発生することになり
、当該割り込み処理がなされることになる。
Further, for example, if a program error is found in the data, an error interrupt will be generated and the interrupt will be processed.

さらに、上記以外の場合には、当該PRB−Xについて
のエミュレーションは受けいれられ、必要なエミュレー
ションが行われることになる。
Furthermore, in cases other than the above, emulation for the PRB-X will be accepted and necessary emulation will be performed.

こうして、5TART−X命令がエミュレーションの実
行により得られた結果は前記VMモニタ用の入出力領域
13b中に用意したFRB−X形式の領域に格納される
In this way, the results obtained by executing the emulation of the 5TART-X command are stored in the FRB-X format area prepared in the input/output area 13b for the VM monitor.

ステップSX4でエミュレーション部11gはWRIT
E PRB−X命令(WRITE Process R
equestBlock−X)を発行する。すると、前
記ハードウェア12中に設けた領域形式変更部14によ
り前記VMモニタ用の入出力領域13b中のPRB−X
をPRB−Yの形式に変更し、当該処理要求を発行した
仮想計算機に対応する前記仮想計算機用の入出力領域1
3aiに書き込む。
In step SX4, the emulation unit 11g writes WRIT.
E PRB-X command (WRITE Process R
equestBlock-X). Then, the area format changing unit 14 provided in the hardware 12 changes the PRB-X in the input/output area 13b for the VM monitor.
into the PRB-Y format, and input/output area 1 for the virtual machine corresponding to the virtual machine that issued the processing request.
Write to 3ai.

ステップSX5で前記エミュレーション部11gは適当
な条件コードを設定して当該処理命令を発行した仮想計
算機に対し、当該プログラムによる処理の再開の指示を
行うことになる。
In step SX5, the emulation unit 11g sets an appropriate condition code and instructs the virtual machine that issued the processing instruction to resume processing by the program.

ステップSY2で当該指示があると、当該仮想計算機は
前記5TART−Y命令の次の命令から実行を再開する
ことになる。
When the instruction is given in step SY2, the virtual machine resumes execution from the instruction following the 5TART-Y instruction.

一方、第6図に本実施例に係るVMモニタ11の前記エ
ミュレーション部11gによるエミュレーションの非同
期的処理(仮想計算機からVMモニタに対する処理の依
頼の終了と依頼された処理内容の処理の終了時期とが一
致しない処理)の処理流れ図を示す。
On the other hand, FIG. 6 shows the asynchronous processing of emulation by the emulation unit 11g of the VM monitor 11 according to the present embodiment (the end of a processing request from a virtual machine to the VM monitor and the end of processing of the requested processing content). A process flowchart of the non-matching process) is shown.

同図に示すように、ステップ5yiiで前記ハードウェ
ア12上で構築された仮想計算機(アーキテクチャY)
より、所定の処理命令Aを開始する5TART−Y命令
が発行される。
As shown in the figure, the virtual computer (architecture Y) built on the hardware 12 in step 5yii
Therefore, a 5TART-Y instruction that starts a predetermined processing instruction A is issued.

5TART−Y命令が発行されると、前述した場合と同
様に前記VMモニタ11への割込み(インタセブション
; 1nterception)が生じ、動作モードが
VMモニタ11の動作モードへ移る。
When the 5TART-Y command is issued, an interruption (interception) to the VM monitor 11 occurs as in the case described above, and the operation mode shifts to the operation mode of the VM monitor 11.

ステップ5XIIで、当該インタセプションがあると、
エミュレーション部11gであるアーキテクチャXに対
し5TART−X命令が発行されたことを前記ハードウ
ェア12が通知することになる。
In step 5XII, if there is such an interception,
The hardware 12 notifies architecture X, which is the emulation unit 11g, that the 5TART-X command has been issued.

すると、ステップ5X12で当該エミュレーション部1
1gは前記ハードウェア12に対し、READ PRB
−X命令を発行する。
Then, in step 5X12, the emulation section 1
1g sends READ PRB to the hardware 12.
-Issues an X command.

当該READ PRB−X命令が発行されると、当該ハ
ードウェア12の領域形式変更部14は仮想計算機のア
ーキテクチャYに対応する仮想計算機用の入出力領域1
3aに格納されている当該アーキテクチャYの領域形式
で表示されているFRB−Yを前記アーキテクチャXの
汎用的な領域形式(前述した所定の領域形式)をもった
FRB−Xへ変更し、指定された前記VMモニタ用の入
出力領域13bへ格納する。
When the READ PRB-X command is issued, the area format changing unit 14 of the hardware 12 changes the input/output area 1 for the virtual machine corresponding to the architecture Y of the virtual machine.
Change the FRB-Y displayed in the area format of the architecture Y stored in 3a to FRB-X that has the general area format of the architecture The data is stored in the input/output area 13b for the VM monitor.

ステップ5X13でエミュレーション部11gは前記V
Mモニタ用の入出力領域13bに書き込まれたFRB−
Xを解析する。
In step 5X13, the emulation unit 11g
FRB- written in the input/output area 13b for M monitor
Analyze X.

その結果、前述したように既に5TART−X命令が発
行し、仮想計算機がビジー状態にある等の場合には、前
述したように、ビジー状態を表す適当な条件コードの設
定等をして終了することになり、そうでない場合には、
前記ハードウェア12に対して、同期処理部分のエミュ
レーションが実行されることになる。
As a result, if the 5TART-X command has already been issued and the virtual machine is in a busy state, as described above, an appropriate condition code representing the busy state is set and the process ends. and if not,
Emulation of the synchronous processing portion is executed on the hardware 12.

尚、必要なら、前記VMモニタ用の入出力領域13bに
PRB−Xを用意し、ここに出力データを書き込んだ後
、前述したように、エミュレーション部11gによりW
RITE PRB−X命令を発行して、仮想計算機中の
FRB−Yに同期処理の出力を用意し、ここに出力デー
タを書き込んだ後、WRITE PRB−X命令を発行
して、処理要求のあった仮想計算機に対応する仮想計算
機用の入出力領域13aのPRB−Yに同期処理部分の
出力を反映させる。
If necessary, after preparing PRB-X in the input/output area 13b for the VM monitor and writing output data there, the emulation unit 11g writes W as described above.
Issue the RITE PRB-X command to prepare the output of synchronous processing to FRB-Y in the virtual machine, write the output data here, and then issue the WRITE PRB-X command to receive the processing request. The output of the synchronous processing part is reflected in PRB-Y of the virtual machine input/output area 13a corresponding to the virtual machine.

ステップ5X14でエミュレーション部11gは適当な
条件コードを設定して当該処理命令を発行した仮想計算
機に対し、当該プログラムによる処理を再開の指示を行
うことになる。
In step 5X14, the emulation unit 11g sets an appropriate condition code and instructs the virtual machine that issued the processing instruction to resume processing by the program.

ステップ5Y12で仮想計算機のアーキテクチャYは当
該指示があると前記5TART−Y命令の次の命令から
実行を再開することになる。
In step 5Y12, architecture Y of the virtual machine resumes execution from the instruction following the 5TART-Y instruction when the instruction is received.

ステップ5X15で前記エミュレーション部11gは前
記仮想計算機中で発行された処理の非同期部分を、当該
仮想計算機のプログラムの実行とは非同期になるような
エミュレーションの実行を行う。
In step 5X15, the emulation unit 11g executes emulation so that the asynchronous part of the process issued in the virtual machine is asynchronous with the execution of the program in the virtual machine.

ステップ5X16で当該エミュレーション部11gはW
RITE PRB−X命令(WRITE Proces
s Re −quest Block−X)を発行する
。すると、前記ハードウェア12中に設けた領域形式変
更部14により前記VMモニタ用の入出力領域13b中
から読み出したデータの領域形式PRB−XをPRB−
Yの領域形式に変更し、当該処理要求を発行した前記仮
想計算機用の入出力領域13aに転送して書き込む。
In step 5X16, the emulation section 11g
RITE PRB-X command (WRITE Processes
sRe-quest Block-X). Then, the area format changing unit 14 provided in the hardware 12 changes the area format PRB-X of the data read from the VM monitor input/output area 13b to PRB-X.
The area format is changed to Y, and the processing request is transferred and written to the input/output area 13a for the virtual machine that issued the processing request.

ステップ5X17で以上の処理が終了した場合には、当
該エミュレーション部11gは処理の終了を示す割込み
を前記仮想計算機に対して行うことになる。
When the above processing is completed in step 5X17, the emulation unit 11g issues an interrupt to the virtual machine indicating the end of the processing.

ステップ5Y13で当該割込みがあると、当該仮想計算
機にFRB−Yの終了を示す割込みが発生することにな
る。
If the interrupt occurs in step 5Y13, an interrupt indicating the end of FRB-Y will occur in the virtual machine.

以上の実施例をまとめると以下に示す■〜■の全ての項
目を満たす仮想計算機システムにおいて、■を行うこと
が特徴といえる。
To summarize the above embodiments, it can be said that a virtual computer system that satisfies all of the following items 1 to 2 is characterized by performing 2.

■複数種のアーキテクチャを仮想計算機として動作させ
ることができる仮想計算機システムであって、同時に動
作する仮想計算機のアーキテクチャは1個でも良いし、
複数個でも良い。
■It is a virtual computer system that can operate multiple types of architectures as virtual computers, and only one virtual computer architecture can be operated at the same time.
It may be more than one.

■仮想計算機の発行する命令で指定される処理(仮想計
算機のアーキテクチャ上、ハードウェアが実行する処理
として規定されている処理)で、仮想計算機モニタによ
るエミュレーションが必要な処理がある。
■Processes specified by instructions issued by a virtual machine (processes defined as processes to be executed by hardware according to the architecture of a virtual machine) that require emulation by a virtual machine monitor.

■■の処理のうち、次の性質を満たす処理Aがある。処
理Aのための入出カブロックの形式及び入出カブロック
内の各領域の値の割付けがアーキテクチャ間で異なる。
Among the processes described in ■■, there is a process A that satisfies the following properties. The format of the input/output block for process A and the assignment of values to each area within the input/output block differ between architectures.

かつ、仮想計算機として提供されるあるアーキテクチャ
Xの処理A−Xの内容が、他の仮想計算機として提供さ
れる処理Aの内容のほとんどを包含しており、多くの場
合他のアーキテクチャYにおける処理A用の入出カブロ
ックA−Yを、アーキテクチャX上での処理A用入出カ
ブロックA−Xに変換することが可能である。
In addition, the contents of processing A-X of a certain architecture It is possible to convert an input/output block A-Y for processing A into an input/output block A-X for processing A on architecture X.

■仮想計算機モニタが動作するハードウェアのモード(
ホストモード)において、次の2つのハードウェアが実
行する手段を設ける。
■Hardware mode in which the virtual machine monitor operates (
In host mode), the following two hardware implementations are provided.

、仮想計算機用のメモリ領域中に存在する入出カブロッ
クA−Yを、アーキテクチャXにおける入出カブロック
A−Xに変換して、仮想計算機モニタ用の領域(ホスト
領域)に格納する手段、入出カブロックA−Yを入出カ
ブロックA−Xに等価な意味で変換不能な場合には、入
出カブロックA−Xに変換不能な部分の処理をハードウ
ェアが実行し残りを入出カブロックA−Xの形式で仮想
計算機モニタに通知するか、提供されない処理が指定さ
れた処理A−Xを仮想計算機モニタに通知する。
, a means for converting input/output blocks A-Y existing in a memory area for a virtual machine into input/output blocks A-X in architecture If block AY cannot be equivalently converted into input/output block A-X, the hardware executes the processing of the part that cannot be converted into input/output block A-X, and the remaining input/output block A-X The virtual machine monitor is notified in the form of , or the virtual machine monitor is notified of processes A-X in which a process that is not provided is specified.

二、仮想計算機モニタ領域中に用意された入出カブロッ
クA−Xを、仮想計算機のアーキテクチャY用の入出カ
ブロックA−Yに変換して、仮想計算機のメモリ領域に
格納する手段。
2. Means for converting input/output blocks A-X prepared in the virtual machine monitor area into input/output blocks A-Y for architecture Y of the virtual machine, and storing the converted input/output blocks A-Y in the memory area of the virtual machine.

仮想計算機モニタは、仮想計算機から発行された処理A
のエミュレーションに、これら2つのハードウェア手段
を使用し、直接仮想計算機のメモリ領域中の処理A用に
入出カブロックを参照しないことにより、処理Aの仮想
計算機間の使用差を意識する必要がなくなる。また、こ
の操作の対象となる処理Aが複数存在し、その各々に対
し上記2つの手段が導入されても良い。
The virtual machine monitor monitors processing A issued from the virtual machine.
By using these two hardware means for emulation and not directly referring to the input/output block for process A in the memory area of the virtual machine, there is no need to be aware of the usage difference between the virtual machines for process A. . Further, there may be a plurality of processes A that are the targets of this operation, and the above two means may be introduced for each of them.

尚、以上は1つの仮想計算機について説明したが仮想計
算機の数は1つに限られるものではない。
Note that although one virtual computer has been described above, the number of virtual computers is not limited to one.

また、以上の説明では計算機プログラム及びデータに対
して割り当てられる記憶域が予め定められているように
説明したが、当該記憶域を必要が生じた時点において、
適用される基準に従い決定するようにしても良い(動的
記憶割当て;dynamic strorage al
location)。
Furthermore, in the above explanation, it has been explained that the storage area allocated to the computer program and data is determined in advance, but when the storage area becomes necessary,
The decision may be made according to the applicable criteria (dynamic storage allocation).
location).

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明は領域形式変更部を設けて
いるため、仮想計算機モニタによりエミュレーションの
実行の開始または終了の際に、各仮想計算機に対応して
各々定められた領域形式で表現されたデータを所定の領
域形式に変更することができるようにして、各仮想計算
機毎の仕様差をハードウェアが吸収することができるよ
うにしている。
As explained above, since the present invention is provided with an area format change unit, when the virtual machine monitor starts or ends execution of emulation, the area format is expressed in a predetermined area format corresponding to each virtual machine. The data can be changed to a predetermined area format, so that the hardware can absorb differences in specifications for each virtual machine.

したがって、1つの領域形式の使用のみを意識すれば良
いので仮想計算機モニタの作成を容易に行うことができ
るとともに、仮想計算機として新しいアーキテクチャを
追加した場合でも仮想計算機モニタの変更を全く行う必
要がないか、または変更量を少なくすることにより対処
することができることになり、汎用性があり、かつ柔軟
性のある仮想計算機システムを提供することができるこ
とになる。
Therefore, since you only need to be aware of the use of one area format, you can easily create a virtual machine monitor, and even if a new architecture is added as a virtual machine, there is no need to change the virtual machine monitor at all. Alternatively, the problem can be dealt with by reducing the amount of changes, and it is possible to provide a versatile and flexible virtual computer system.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は第一の発明の原理ブロック図、第2図は第二の
発明に係る原理流れ図、第3図は実施例に係る全体機器
構成ブロック図、第4図は実施例に係るブロック図、第
5図は実施例に係る同期処理を示す流れ図、第6図は実
施例に係る非同期処理を示す流れ図、及び第7図は従来
例に係るブロック図である。 (11)・・・仮想計算機モニタ(VMモニタ)2・・
・所定のハードウェア 3・・・メモリ 3a・・・仮想計算機用の入出力領域 3b・・・モニタ用の入出力領域 4.14・・・領域形式変更部
Figure 1 is a principle block diagram of the first invention, Figure 2 is a principle flow diagram of the second invention, Figure 3 is a block diagram of the overall equipment configuration according to the embodiment, and Figure 4 is a block diagram of the embodiment. , FIG. 5 is a flowchart showing synchronous processing according to the embodiment, FIG. 6 is a flowchart showing asynchronous processing according to the embodiment, and FIG. 7 is a block diagram according to the conventional example. (11)...Virtual machine monitor (VM monitor) 2...
・Predetermined hardware 3...Memory 3a...I/O area 3b for virtual machine...I/O area for monitor 4.14...Area format changing unit

Claims (2)

【特許請求の範囲】[Claims] (1)一または複数の仮想計算機を順次起動させるとと
もに、当該仮想計算機の発行する命令によりハードウェ
アが実行する処理のうち、直接実行不可能な命令をエミ
ュレーションする仮想計算機モニタ(1)と、各仮想計
算機に対応して、当該仮想計算機の処理に用いるため各
々定められた領域形式でデータを格納する仮想計算機用
の入出力領域(31、32、・・・)とを設けた仮想計
算機システムのエミュレーション実行装置において、前
記モニタ(1)の処理に用いるため所定の領域形式でデ
ータを格納するモニタ用の入出力領域(30)を設ける
とともに、 エミュレーション実行の開始又は終了の際に、等価に変
更可能な場合には各前記領域(30、31、・・・3n
)に格納されたデータを読み出し、所定の領域形式に変
更し、変更したデータを該当する前記領域(30、31
、・・・3n)に書き込む領域形式変更部(4)を設け
たことを特徴とする仮想計算機システムのエミュレーシ
ョン実行装置。
(1) A virtual machine monitor (1) that sequentially starts one or more virtual machines and emulates instructions that cannot be directly executed among processes executed by hardware based on instructions issued by the virtual machines; A virtual computer system that is provided with input/output areas (31, 32, . . . ) for virtual computers that store data in respective prescribed area formats for use in the processing of the virtual computers, corresponding to the virtual computers. In the emulation execution device, a monitor input/output area (30) is provided to store data in a predetermined area format for use in the processing of the monitor (1), and the input/output area (30) is changed to an equivalent value at the start or end of emulation execution. If possible, each of the above regions (30, 31,...3n
), change it to a predetermined area format, and transfer the changed data to the corresponding area (30, 31
, . . 3n). , . . 3n).
(2)一または複数の仮想計算機が順次起動された際に
、仮想計算機の発行する命令によりハードウェアが実行
する処理のうち、当該命令により直接実行不可能な処理
につきエミュレーションの要求があった(S1)場合に
、各仮想計算機に対応して各々定められた領域形式で各
仮想計算機毎に入出力領域に格納された処理内容を示す
データに基づいてエミュレーションを行う仮想計算機シ
ステムのエミュレーション実行方法において、要求のあ
った仮想計算機に対応する仮想計算機用の入出力領域に
格納されている前記データを当該領域から読み出し、等
価に変更可能な場合には、所定の領域形式へ変更し(S
2)、 変更された当該データをエミュレーション実行のために
用いるモニタ用の入出力領域に書き込むとともに(S3
)、 書き込まれた当該データに基づいてエミュレーションを
実行し(S4)、 エミュレーションの実行により生じた結果を要求のあっ
た仮想計算機に対応する領域形式に変更して該当する仮
想計算機用の入出力領域に書き込む(S5)ことを特徴
とする仮想計算機システムのエミュレーション実行方法
(2) When one or more virtual machines are started up in sequence, a request is made to emulate a process that cannot be directly executed by the instruction issued by the virtual machine ( In the case of S1), in an emulation execution method of a virtual computer system, emulation is performed based on data indicating processing contents stored in an input/output area for each virtual computer in a respectively determined area format corresponding to each virtual computer. , reads the data stored in the virtual machine input/output area corresponding to the requested virtual machine from that area, and if it can be changed equivalently, changes it to a predetermined area format (S
2), writes the changed data to the monitor input/output area used for emulation execution (S3
), executes emulation based on the written data (S4), changes the result of the emulation execution to an area format corresponding to the requested virtual machine, and creates an input/output area for the corresponding virtual machine. (S5) A method for executing emulation of a virtual computer system.
JP75890A 1990-01-05 1990-01-05 Device and method for executing emulation of virtual computer Pending JPH03204731A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP75890A JPH03204731A (en) 1990-01-05 1990-01-05 Device and method for executing emulation of virtual computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP75890A JPH03204731A (en) 1990-01-05 1990-01-05 Device and method for executing emulation of virtual computer

Publications (1)

Publication Number Publication Date
JPH03204731A true JPH03204731A (en) 1991-09-06

Family

ID=11482594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP75890A Pending JPH03204731A (en) 1990-01-05 1990-01-05 Device and method for executing emulation of virtual computer

Country Status (1)

Country Link
JP (1) JPH03204731A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129419A (en) * 1993-11-08 1995-05-19 Nec Corp Virtual computer system
US6785886B1 (en) 1998-05-15 2004-08-31 Vmware, Inc. Deferred shadowing of segment descriptors in a virtual machine monitor for a segmented computer architecture
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6095648A (en) * 1983-10-28 1985-05-29 Fujitsu Ltd Virtual fba pseudo processing device
JPS61206042A (en) * 1985-03-11 1986-09-12 Hitachi Ltd Input/output system for virtual computer
JPS633342A (en) * 1986-06-21 1988-01-08 Nec Corp Input/output executing system for virtual computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6095648A (en) * 1983-10-28 1985-05-29 Fujitsu Ltd Virtual fba pseudo processing device
JPS61206042A (en) * 1985-03-11 1986-09-12 Hitachi Ltd Input/output system for virtual computer
JPS633342A (en) * 1986-06-21 1988-01-08 Nec Corp Input/output executing system for virtual computer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129419A (en) * 1993-11-08 1995-05-19 Nec Corp Virtual computer system
US6785886B1 (en) 1998-05-15 2004-08-31 Vmware, Inc. Deferred shadowing of segment descriptors in a virtual machine monitor for a segmented computer 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
US8296551B2 (en) 1998-10-26 2012-10-23 Vmware, Inc. Binary translator with precise exception synchronization mechanism

Similar Documents

Publication Publication Date Title
US10691363B2 (en) Virtual machine trigger
US7797699B2 (en) Method and apparatus for scheduling virtual machine access to shared resources
US4812967A (en) Method and apparatus for controlling interrupts in a virtual machine system
US9304794B2 (en) Virtual machine control method and virtual machine system using prefetch information
US7454756B2 (en) Method, apparatus and system for seamlessly sharing devices amongst virtual machines
US8539499B1 (en) Symmetric multiprocessing with virtual CPU and VSMP technology
US7814496B2 (en) Method and system for replicating schedules with regard to a host controller for virtualization
US8065441B2 (en) Method and apparatus for supporting universal serial bus devices in a virtualized environment
JPH0695898A (en) Control method for virtual computer and virtual computer system
KR20070100367A (en) Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
JP2008529114A (en) Method for optimizing logging and playback of multitasking applications in a single processor or multiprocessor computer system
JPH03204731A (en) Device and method for executing emulation of virtual computer
JPS6097440A (en) Virtual multiprocessor device
JPS61184643A (en) Starting control system for virtual computer
JPS62221041A (en) Dispatch controller in virtual computer system
JPS6313218B2 (en)
JP3022398B2 (en) Virtual computer system
JPH0290331A (en) Inter-processor communication instruction processor for virtual computer system
Gill Operating systems concepts
JP3585956B2 (en) Information processing apparatus and method
Ikuomola COURSE CONTENT UNIT ONE OPERATING SYSTEM CONCEPT
Cutler et al. The nucleus of a real-time operating system (a tutorial on the internals of RSX-11M)
JPH0444131A (en) Device and method for execution of inter-processor communication in plural os running systems
JPS6139135A (en) Interval timer interruption controller of virtual computer system
JPH0711784B2 (en) Computer system