JPH05204760A - Control system for virtual computer system - Google Patents
Control system for virtual computer systemInfo
- Publication number
- JPH05204760A JPH05204760A JP4036941A JP3694192A JPH05204760A JP H05204760 A JPH05204760 A JP H05204760A JP 4036941 A JP4036941 A JP 4036941A JP 3694192 A JP3694192 A JP 3694192A JP H05204760 A JPH05204760 A JP H05204760A
- Authority
- JP
- Japan
- Prior art keywords
- address
- real
- memory
- management table
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000013519 translation Methods 0.000 abstract description 11
- 238000007726 management method Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 18
- 230000014616 translation Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は電子計算機システムにお
いて仮想計算機システムを実現した場合の仮想計算機シ
ステムの制御方式に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control system for a virtual computer system when the virtual computer system is realized in an electronic computer system.
【0002】[0002]
【従来の技術】複数のオペレーティングシステムと、こ
の複数のオペレーティングシステムを管理する管理プロ
グラムを備え、この管理プログラムの制御のもとに、上
記複数のオペレーティングシステムを1つの計算機シス
テム上で動作させるようにした仮想計算機システムにお
けるアドレス変換方式は大きく2つの方式に分かれてい
る。2. Description of the Related Art A plurality of operating systems and a management program for managing the plurality of operating systems are provided, and the plurality of operating systems are operated on one computer system under the control of the management program. The address conversion method in the virtual computer system is roughly divided into two methods.
【0003】(1)シャドウページテーブルを用いたア
ドレス変換方式がある。このアドレス変換方式は実計算
機(仮想計算機でない)上では、仮想アドレスと実アド
レスのマッピングをオペレーティングシステムが管理し
ているアドレス変換テーブルにより定義ずけ、変換処理
は動的アドレス変換処理機能(DAT)を用いて実施さ
れる。しかし、仮想計算機システムでは複数の仮想計算
機が同時に走行するので、実アドレスとして同じアドレ
スが各仮想計算機対応に必要になったり、複数の計算機
が実アドレスで対応ずけられる空間の大きさが足りなく
なったりする。このため、仮想計算機システムでは、仮
想計算機上の実アドレスも仮想化し、その仮想化した実
アドレスと実アドレスのマッピングを仮想計算モニタが
管理していた。したがって、仮想計算機システムでは2
種類のアドレス変換テーブルが存在していた。 仮想アドレス→仮想実アドレス(実アドレス) 仮想実アドレス→実アドレス(絶対アドレス) 以下、仮想化実アドレスを単に実アドレス、本当の実メ
モリに対応する実アドレスを絶対アドレスという。しか
し、この2種類のアドレス変換をメモリアクセスがある
たびに実施するのは、大変なオバーヘッドになるし、ハ
ードウェアにこの2つのアドレス変換機構をいれるのは
費用/性能上問題があった。この問題を解決するのに提
案されたのが、シャドウページテーブルである。このシ
ャドウページテーブルは前述した仮想アドレスと絶対ア
ドレスの直接管理テーブルである。しかし、このシャド
ウページテーブルは前述した2つのアドレス変換テーブ
ルの対応関係が変更されれば、それをシャドウページテ
ーブルに反映されなければならず、その反映を仮想計算
機モニタが実施している。シャドウテーブルを用いない
方法よりはすくないが、まだ大きなオバーヘッドが存在
していた。(1) There is an address conversion method using a shadow page table. In this address translation method, on a real computer (not a virtual computer), the mapping of virtual addresses and real addresses must be defined by an address translation table managed by the operating system, and the translation process is a dynamic address translation function (DAT). Is carried out using. However, in a virtual machine system, multiple virtual machines run at the same time, so the same address as the real address is required for each virtual machine, and there is not enough space to accommodate multiple machines with real addresses. Or Therefore, in the virtual computer system, the real address on the virtual computer is also virtualized, and the virtual computer monitor manages the mapping between the virtualized real address and the real address. Therefore, in the virtual computer system, 2
There was a kind of address translation table. Virtual address → virtual real address (real address) Virtual real address → real address (absolute address) Hereinafter, a virtualized real address is simply called a real address, and a real address corresponding to a real real memory is called an absolute address. However, it is a great overhead to perform these two types of address translations each time there is a memory access, and there is a cost / performance problem in including these two address translation mechanisms in hardware. A proposed solution to this problem is the shadow page table. This shadow page table is a direct management table of the virtual address and the absolute address described above. However, this shadow page table must be reflected in the shadow page table if the correspondence between the above-mentioned two address conversion tables is changed, and the reflection is performed by the virtual machine monitor. Though less expensive than the shadow table method, there was still a large overhead.
【0004】(2)もう一つの実現方式はアドレスFレ
ジスタとアドレスLレジスタによる方式がある。アドレ
スFレジスタは各仮想計算機が所持している実空間の絶
対アドレスにおける先頭アドレスをおさえ、アドレスL
レジスタは最終アドレスをおさえる。アドレスFレジス
タとアドレスLレジスタの範囲でその仮想計算機は動作
する。その動作は仮想計算機上で動作しているオペレー
ティングシステムがアドレス変換テーブルを用いて仮想
実アドレスを実アドレスするのは、実計算機上でDAT
機構を用いてアドレス変換するのと同じである。その後
ハードウェアにより、この実アドレスにアドレスFレジ
スタの内容を加え、アドレスLレジスタの値を越えない
かチェックし、その結果アドレスで実メモリ上をアクセ
スする。この方式により実アドレス上で同一アドレスを
持つ空間をふやしている。(2) Another realization method is a method using an address F register and an address L register. The address F register holds the start address of the absolute address of the real space possessed by each virtual machine and sets the address L
The register holds the final address. The virtual machine operates within the range of the address F register and the address L register. The operation is such that the operating system operating on the virtual machine actually addresses the virtual real address using the address conversion table is the DAT on the real machine.
It is the same as using the mechanism to translate addresses. After that, the contents of the address F register are added to this real address by hardware, and it is checked whether the value of the address L register is exceeded. As a result, the real memory is accessed at the address. With this method, the space having the same address on the real address is expanded.
【0005】[0005]
【発明が解決しようとする課題】上記従来のアドレス変
換方式の(1)の方式では、オバーヘッド/ハードウェ
アの投資量が大きいという課題があった。また、(2)
の方式では予め実メモリを分割して仮想計算機に割り当
ててしまうので、メモリをVM間で動作中に融通しあう
ことが不可能であるという課題があった。The above-mentioned conventional address conversion method (1) has a problem that the amount of overhead / hardware investment is large. Also, (2)
In the method, since the real memory is divided in advance and allocated to the virtual machine, there is a problem that it is impossible to share the memory between the VMs during the operation.
【0006】[0006]
【課題を解決するための手段】本発明の仮想計算機シス
テムの制御方式は、複数のオペレーティングシステム
と、この複数のオペレーティングシステムを管理する管
理プログラムを備え、この管理プログラムの制御のもと
に、上記複数のオペレーティングシステムを1つの計算
機システム上で動作させるようにした仮想計算機システ
ムにおいて、上記複数のオペレーティング・システムの
各々に対して、主記憶装置上の連続した空間を複数個わ
りあて、それを管理するアドレス管理テーブルを持ち、
かつオペレーティングシステム内のアドレス変換テーブ
ルにより仮想アドレスから実アドレスに変換する仮想ア
ドレス実アドレス変換手段と、この仮想アドレス実アド
レス変換手段によって得られた実アドレスを上記アドレ
ス管理テーブルにより主記憶のアドレスに対応づける実
アドレス絶対アドレス変換手段を備えてなるものであ
る。A control method for a virtual computer system according to the present invention comprises a plurality of operating systems and a management program for managing the plurality of operating systems. In a virtual computer system in which a plurality of operating systems are made to operate on one computer system, a plurality of continuous spaces on a main storage device are allocated to each of the plurality of operating systems and managed. Has an address management table,
In addition, the virtual address real address conversion means for converting a virtual address to a real address by the address conversion table in the operating system, and the real address obtained by this virtual address real address conversion means are made to correspond to the addresses of the main memory by the address management table. It is provided with a real address / absolute address conversion means.
【0007】また、本発明の別の発明による仮想計算機
システムの制御方式は、上記のものにおいて、アドレス
管理テーブルを変更することにより各オペレーティング
システムに割当られている実メモリを変更するアドレス
管理テーブル変更手段と、このアドレス管理テーブル変
更手段によって変更された実メモリを上記オペレーティ
ングシステムによって通知する通知手段と、この通知手
段によって通知されたオペレーティングシステムがその
通知された内容をもとにメモリ変更を実施するメモリ変
更実施手段を備えてなるものである。A virtual computer system control method according to another invention of the present invention is the above-mentioned one, in which the address management table is changed by changing the address management table to change the real memory allocated to each operating system. Means, notifying means for notifying the real memory changed by the address management table changing means by the operating system, and the operating system notified by the notifying means changes the memory based on the notified contents. It is provided with a memory changing means.
【0008】また、本発明のさらに別の発明による仮想
計算機システムの制御方式は、上記第1の発明におい
て、管理プログラムが一定間隔ごとに管理しているオペ
レーティングシステムの実メモリの使用状況をチェック
しOS間のメモリの移動を判断できる判断手段を有し、
かつ移動が必要な際はアドレス管理テーブルを変更する
ことにより各オペレーティングシステムに割当られてい
る実メモリを変更するアドレス管理テーブル変更手段
と、このアドレス管理テーブル変更手段によって変更さ
れた実メモリを上記オペレーティングシステムによって
通知する通知手段と、この通知手段によって通知された
オペレーティングシステムがその通知された内容をもと
にメモリ変更を実施するメモリ変更実施手段を備えてな
るものである。A control method for a virtual computer system according to still another aspect of the present invention is the first aspect of the present invention, which checks the usage status of the real memory of the operating system managed by the management program at regular intervals. It has a judgment means that can judge the movement of memory between OSs,
Further, when it is necessary to move the address management table, the address management table is changed by changing the address management table, and the real memory changed by the address management table changing means The system is provided with notifying means for notifying by the system, and memory changing execution means for making the memory change based on the notified contents of the operating system notified by the notifying means.
【0009】[0009]
【作用】本発明においては、仮想計算機対応に割り当て
るメモリを分割し、その分割されたメモリ単位に融通す
る。According to the present invention, the memory allocated to each virtual computer is divided, and the divided memory units are accommodated.
【0010】[0010]
【実施例】図1は本発明の一実施例を示すブロック図で
ある。この図1に示すブロック図は、1つの計算機シス
テムに複数個の仮想計算機(以下、VMと略称する)V
M1,VM2を疑似し、この仮想計算機を管理する管理
プログラム(以下、仮想計算機モニタと呼称する)が存
在する。この図1において、1−1は仮想計算機を管理
する仮想計算機モニタ、1−2−1,1−2−2はアド
レス変換テーブル、1−3−1,1−3−2は複数のオ
ペレーティング・システムの各々に対して、主記憶装置
上の連続した空間を複数個わりあて、それを管理するア
ドレス管理テーブル、1−4はオペレーティングシステ
ム内のアドレス変換テーブルにより仮想アドレスから実
アドレスに変換する仮想アドレス実アドレス変換手段、
1−5はこの仮想アドレス実アドレス変換手段1−4に
よって得られた実アドレスをアドレス管理テーブル1−
3−1,1−3−2により主記憶のアドレスに対応づけ
る実アドレス絶対アドレス変換手段である。FIG. 1 is a block diagram showing an embodiment of the present invention. In the block diagram shown in FIG. 1, a plurality of virtual computers (hereinafter abbreviated as VM) V are provided in one computer system.
There is a management program (hereinafter, referred to as a virtual machine monitor) that simulates M1 and VM2 and manages this virtual machine. In FIG. 1, 1-1 is a virtual computer monitor that manages a virtual computer, 1-2-1, 1-2-2 are address conversion tables, 1-3-1 and 1-3-2 are operating systems. An address management table for allocating a plurality of contiguous spaces on the main memory to each system and managing the same, 1-4 are virtual addresses for converting from virtual addresses to real addresses by an address conversion table in the operating system. Real address translation means,
1-5 is an address management table 1-the real address obtained by the virtual address real address converting means 1-4.
It is a real address absolute address conversion means for associating with a main memory address by 3-1 and 1-3-2.
【0011】1−6はアドレス管理テーブル1−3−
1,1−3−2を変更することにより各オペレーティン
グシステムに割当られている実メモリを変更するアドレ
ス管理テーブル変更手段、1−7−1,1−7−2はこ
のアドレス管理テーブル変更手段1−6によって変更さ
れた実メモリをオペレーティングシステムによって通知
するOS通知手段、1−8−1,1−8−2はアドレス
変換テーブル書換手段で、このアドレス変換テーブル書
換手段1−8−1,1−8−2はOS通知手段1−7−
1,1−7−2によって通知されたオペレーティングシ
ステムがその通知された内容をもとにメモリ変更を実施
するメモリ変更実施手段を構成している。1−9はメモ
リ使用状況チェック部で、このメモリ使用状況チェック
部1−9は管理プログラムが一定間隔ごとに管理してい
るオペレーティングシステムの実メモリの使用状況をチ
ェックしOS間のメモリの移動を判断できる判断手段を
構成している。1-6 is an address management table 1-3.
Address management table changing means for changing the actual memory allocated to each operating system by changing 1, 1-3-2, 1-7-1 and 1-7-2 are the address management table changing means 1 OS notification means for notifying the real memory changed by -6 by the operating system, and 1-8-1, 1-8-2 are address conversion table rewriting means, which are the address conversion table rewriting means 1-8-1, 1 -8-2 is OS notification means 1-7-
The operating system notified by 1, 1-7-2 constitutes a memory change execution means for changing the memory based on the notified contents. Reference numeral 1-9 is a memory usage status check unit, and this memory usage status check unit 1-9 checks the usage status of the actual memory of the operating system managed by the management program at regular intervals and moves the memory between OSs. It constitutes a judgment means that can judge.
【0012】そして、移動が必要な際は、アドレス管理
テーブル12−1,12−2を変更することにより、各
オペレーティングシステムに割当られている実メモリを
変更するアドレス管理テーブル変更手段1−6と、この
アドレス管理テーブル変更手段1−6によって変更され
た実メモリをオペレーティングシステムによって通知す
るOS通知手段1−7−1,1−7−2と、このOS通
知手段1−7−1,1−7−2によって通知されたオペ
レーティングシステムがその通知された内容をもとにメ
モリ変更を実施するメモリ変更実施手段(アドレス変換
テーブル書換手段1−8−1,1−8−2)を備えてい
る。When a move is required, the address management tables 12-1 and 12-2 are changed to change the real memory allocated to each operating system. , OS notifying means 1-7-1, 1-7-2 for notifying the real memory changed by the address management table changing means 1-6 by the operating system, and the OS notifying means 1-7-1, 1- The operating system notified by 7-2 is provided with memory change execution means (address conversion table rewriting means 1-8-1, 1-8-2) for changing memory based on the notified contents. ..
【0013】図2は図1におけるアドレス管理テーブル
1−3−1,1−3−2の詳細を示す説明図で、(a)
はVM1アドレス管理テーブルを示したものであり、
(b)はVM2アドレス管理テーブルを示したものであ
る。FIG. 2 is an explanatory diagram showing the details of the address management tables 1-3-1 and 1-3-2 in FIG.
Shows a VM1 address management table,
(B) shows a VM2 address management table.
【0014】図3および図4は図1に示す実施例のブロ
ック図に具体的数値を与えた説明図で、図4の(a)は
VM1用管理表を示し、図4の(b)はVM2用管理表
を示す。FIGS. 3 and 4 are explanatory diagrams in which specific numerical values are given to the block diagram of the embodiment shown in FIG. 1, (a) of FIG. 4 shows a VM1 management table, and (b) of FIG. The management table for VM2 is shown.
【0015】図5は図1における実アドレス絶対アドレ
ス変換手段1−5の構成例を示すブロック図である。こ
の図5において、5−1はAアドレス、5−2はアドレ
ステーブルレジスタ、5−3はVM1用管理、5−4は
Aアドレス5−1の出力とVM1用管理5−3の出力を
比較するコンパレータ、5−5はこのコンパレータ5−
4の出力であるBアドレスである。FIG. 5 is a block diagram showing a configuration example of the real address / absolute address converting means 1-5 in FIG. In FIG. 5, 5-1 is an A address, 5-2 is an address table register, 5-3 is management for VM1 and 5-4 is output of A address 5-1 and output of VM1 management 5-3. The comparator 5-5 is the comparator 5-
It is the B address which is the output of 4.
【0016】図6ないし図9は本発明におけるVM間メ
モリ移動の説明図で、図6,図7は移動前の状態を示
し、図9は移動後の状態、図8はその処理フローチャー
トを示したものである。この図7において、(a)はV
M1の管理表を示し、(b)はVM2の管理表、(c)
はVM3管理表を示す。図9において、(a)は移動後
の状態を示し、(b)はVM1の管理表、(c)はVM
2の管理表、(d)はVM3の管理表を示す。6 to 9 are explanatory views of the memory movement between VMs according to the present invention. FIGS. 6 and 7 show a state before the movement, FIG. 9 shows a state after the movement, and FIG. 8 shows a processing flowchart thereof. It is a thing. In FIG. 7, (a) is V
The management table of M1 is shown, (b) is the management table of VM2, (c)
Indicates a VM3 management table. In FIG. 9, (a) shows the state after movement, (b) is the management table of VM1, and (c) is the VM.
2 shows a management table of 2, and (d) shows a management table of VM3.
【0017】図10は図1の動作説明に供する自動VM
間メモリ移動処理を示すフローチャートである。FIG. 10 is an automatic VM for explaining the operation of FIG.
It is a flow chart which shows inter-memory movement processing.
【0018】つぎに図1に示す実施例の動作を図2ない
し図10を参照して説明する。まず、VMに対して割り
当てる実メモリを複数に分割し、割り当てる。VM1は
実計算機上のメモリ資源を現わすアドレス(以下、絶対
アドレスと呼称する)c1〜c2を仮想計算機上の実ア
ドレス(以下、単に実アドレスと呼称する)としてVM
10〜a1に対応させ、仮想実アドレスa1〜a2まで
をシステム化アドレスc3〜C4連続領域にわけて割り
当てる。一方、VM2は絶対アドレスc2〜c3を仮想
実アドレスとしてVM20〜b1に対応させ、実アドレ
スb1〜b2までをシステム化アドレスc4〜C5連続
領域にわけて割り当てる。そして、各VMの絶対アドレ
スと実アドレスは仮想計算機モニタ1−1内のアドレス
管理テーブル1−3−1,1−3−2で管理される。こ
のアドレス管理テーブルは各仮想計算機対応に存在す
る。The operation of the embodiment shown in FIG. 1 will be described below with reference to FIGS. First, the real memory allocated to the VM is divided into a plurality of parts and allocated. The VM 1 uses the addresses (hereinafter, referred to as absolute addresses) c1 to c2 that represent the memory resources on the real computer as real addresses (hereinafter, simply referred to as real addresses) on the virtual computer.
The virtual real addresses a1 to a2 are allocated to the systemized addresses c3 to C4 continuous areas in association with 10 to a1. On the other hand, the VM2 associates the absolute addresses c2 to c3 with the VM20 to b1 as virtual real addresses, and allocates the real addresses b1 to b2 by dividing them into the systematized addresses c4 to C5 continuous areas. The absolute address and real address of each VM are managed by the address management tables 1-3-1, 1-3-2 in the virtual machine monitor 1-1. This address management table exists for each virtual computer.
【0019】図2に図1に示すようなアドレス管理テー
ブル1−3−1,1−3−2の具体例について示す。各
仮想計算機の仮想実空間(実アドレスで規定される空
間)がシステム化空間(絶対アドレスで示される空間)
のいくつに分かれているかを示している個数と、この個
数分の仮想実空間とシステム化空間対応表が存在する。
本発明は1つの仮想計算機の仮想実空間を複数の連続し
たシステム化空間に割り当てられるようにしたのが特徴
である。アドレス管理テーブルはその分割されたシステ
ム化空間を管理するテーブルである。このアドレス管理
テーブルの分割情報は仮想計算機の初期値として与えら
れ決定している。また、あくまでも実アドレスと絶対ア
ドレスの管理表であって、シャドウページテーブルのよ
うな仮想アドレスと絶対アドレスの対応表とは異なる。FIG. 2 shows a concrete example of the address management tables 1-3-1 and 1-3-2 as shown in FIG. The virtual real space of each virtual machine (the space specified by the real address) is the systemized space (the space indicated by the absolute address)
There are as many virtual real spaces and systemized space correspondence tables as the number indicating how many are divided.
The present invention is characterized in that the virtual real space of one virtual computer is assigned to a plurality of continuous systematized spaces. The address management table is a table for managing the divided systemized space. The division information of this address management table is given and determined as the initial value of the virtual computer. Further, it is only a management table of real addresses and absolute addresses, and is different from the correspondence table of virtual addresses and absolute addresses such as the shadow page table.
【0020】したがって、シャドウページテーブルのよ
うに頻発して変更が必要になる管理テーブルではない。
図1で示された仮想計算機のアドレス管理表には、図2
に示すように、VM1のアドレス管理テーブルには仮想
実アドレス0とシステム化アドレスC1が対応し、その
大きさをサイズ1として設定している。また、仮想実ア
ドレスa1とシステム化アドレスC3が対応し、その大
きさをサイズ2として設定している。Therefore, it is not a management table such as the shadow page table which needs to be changed frequently.
The virtual computer address management table shown in FIG.
As shown in, the virtual real address 0 and the systemized address C1 correspond to each other in the address management table of the VM1, and the size thereof is set as the size 1. Further, the virtual real address a1 and the systemized address C3 correspond to each other, and their size is set as size 2.
【0021】同様にしてVM2のアドレス管理テーブル
も設定する。このアドレス管理テーブルは一例であっ
て、このほかにもシステム化アドレスと仮想実アドレス
の対応がとれる表であればどんな形式でもよい。例え
ば、サイズの代わりにシステム化アドレスと仮想実アド
レスの終了アドレスを管理表にいれてもよいし、システ
ム化空間の分割単位を固定にしてしまいサイズのフィー
ルドがなくてもよい。要するに各仮想計算機の持ってい
る仮想実空間とシステムアドレス空間の対応が複数個管
理できる管理表であればよく、その管理表が後述するハ
ードウェアによる安価なアドレス変換機構で簡単に使用
可能になっていればよいのである。Similarly, the address management table of the VM2 is also set. This address management table is an example, and any other format may be used as long as it is a table in which correspondence between systemized addresses and virtual real addresses can be obtained. For example, instead of the size, the systematized address and the end address of the virtual real address may be entered in the management table, or the division unit of the systematized space may be fixed and the size field may not be provided. In short, a management table that can manage multiple correspondences between the virtual real space and the system address space of each virtual machine can be used, and the management table can be easily used by an inexpensive address translation mechanism by hardware described later. It is all right.
【0022】仮想計算機システムは仮想計算機システム
の実現方法によっても異なるが、CPU動作モードとし
て一般に2つのモードが存在する。 (1)仮想計算機上のプログラムが動作するモード(以
下、VMOSモードと略称する) (2)仮想計算機が動作するときのモード(以下、VM
Mモードと略称する) VMMモードとVMOSモードは従来からある、特権命
令実行可能モードと不可モードをそのまま適用している
仮想計算機システムを実現しているケースもあるし、特
別にCPUの動作モードを仮想計算機システムを実現す
るために新設してある計算機もある。Although the virtual computer system varies depending on the method of implementing the virtual computer system, there are generally two modes as CPU operation modes. (1) A mode in which a program on a virtual computer operates (hereinafter, abbreviated as VMOS mode) (2) A mode when a virtual computer operates (hereinafter, VM)
In a few cases, the VMM mode and the VMOS mode have realized a virtual computer system in which the privileged instruction executable mode and the non-privileged instruction mode are directly applied, and the CPU operation mode is specially set. Some computers have been newly established to realize a virtual computer system.
【0023】つぎに、図3および図4を参照して、本発
明で実施するアドレス変換方式を説明する。アドレス変
換はVMOSモードでのみ動作する。図3は図1で示し
た概念図により具体的な数値を入れたものである。ま
た、そのアドレス管理テーブルは図4のようになってお
り、各連続したアドレス空間の大きさは仮想計算機シス
テムを実装する計算機システムのメモリユニットと等価
な値にしている。ここでは16MBにしている。ここ
で、メモリユニットとはオペレーティングシステム(以
下、OSと略称する)で組み込み/切り離しがコントロ
ール可能なメモリ単位のことである。そして、後述する
仮想計算機間のメモリの融通を説明する際には、OSメ
モリ組み込み/切り離しと連動して動作することが多い
のでメモリユニットを分割の単位としている。Next, with reference to FIGS. 3 and 4, an address conversion method implemented in the present invention will be described. Address translation works only in VMOS mode. FIG. 3 is a diagram in which specific numerical values are entered according to the conceptual diagram shown in FIG. The address management table is as shown in FIG. 4, and the size of each continuous address space is set to a value equivalent to the memory unit of the computer system in which the virtual computer system is mounted. Here, it is set to 16 MB. Here, the memory unit is a memory unit that can be embedded / separated by an operating system (hereinafter abbreviated as OS). When explaining memory interchange between virtual machines, which will be described later, the memory unit is used as a unit of division because it often operates in conjunction with OS memory incorporation / separation.
【0024】また、この計算の実アドレス空間は28ビ
ットで現わされる空間とする。したがって実アドレス2
8ビットで現わされる実装可能な最大量は256MBと
いうことになる。また、この例では便宜的にVMに割り
当てる連続空間を16MB固定ということにする。した
がって、図3に示すような実アドレスと絶対アドレスを
持つ仮想計算機を対応ずけると図4に示すアドレス管理
表をVM1とVM2対応に持つことになる。そして、V
M1のアドレス管理表は実アドレス0に対してシステム
化アドレスを1に対応させている。このシステムの場合
メモリの分割単位を16MBと決めてるので、1はすな
わち16000000番地とVM1の実アドレス0番地
が対応していることを示してる。また、次のエントリも
同様に実アドレス1は16000000番地を示し、絶
対アドレス3は48000000番地を示している。The real address space of this calculation is a space represented by 28 bits. Therefore real address 2
The maximum mountable amount represented by 8 bits is 256 MB. Further, in this example, the continuous space allocated to the VM is fixed to 16 MB for convenience. Therefore, when a virtual computer having a real address and an absolute address as shown in FIG. 3 is associated, the address management table shown in FIG. 4 is provided for VM1 and VM2. And V
In the address management table of M1, the realized address 0 corresponds to the systemized address 1. In the case of this system, since the memory division unit is determined to be 16 MB, 1 indicates that 16000000 corresponds to the real address 0 of VM1. Similarly, in the next entry, the real address 1 indicates the address 16000000 and the absolute address 3 indicates the address 48000000.
【0025】図5はVM1上のプログラムが、この場合
のハードウェア動作を図5に示す。図5におけるアドレ
ステーブルレジスタ5−2はアドレス管理表をHWに通
知するレジスタである。16MB単位である、いま仮想
計算機上のプログラムがメモリアクセスをするために生
成したアドレスがAアドレス5−1とするアドレスの先
頭4ビットがアドレステーブルレジスタ5−2から示さ
れるアドレス管理表をインデックス(INDEX)す
る。この例の場合アドレス先頭4ビットは「1」である
ためインデックスするとシステム化アドレスは「3」に
なっている。そして、システム化アドレスはAアドレス
5−1の下24ビットと3を合成して作成する。その結
果がBアドレス5−5である。このBアドレス5−5で
メモリ接近をする。ここで、勿論Bアドレス5−5はキ
ャッシュ(CASH)サービスの対象となる。FIG. 5 shows the hardware operation of the program on the VM 1 in this case. The address table register 5-2 in FIG. 5 is a register for notifying the HW of the address management table. The address generated by the program on the virtual computer, which is a unit of 16 MB, is the address A-1, and the first 4 bits of the address are the address management table indicated by the address table register 5-2. INDEX). In this example, since the first 4 bits of the address are "1", the systemized address is "3" when indexed. The systemized address is created by synthesizing the lower 24 bits and 3 of the A address 5-1. The result is the B address 5-5. The B address 5-5 approaches the memory. Here, of course, the B address 5-5 is the target of the cache (CASH) service.
【0026】図6と図7および図8はVM間メモリ流通
の例である。図6は3台のVM、すなわち、VM1,V
M2,VM3がある。そして、VM1は仮想実アドレス
0〜d1がシステム化実アドレスg1〜g2,仮想実ア
ドレス0〜d2がシステム化実アドレスg3〜g4に対
応している。VM2は仮想実アドレス0〜e1がシステ
ム化実アドレスg2〜g3,仮想実アドレス0〜d2が
システム化実アドレスg4〜g5に対応している。VM
3は仮想実アドレス0〜f1がシステム化実アドレスg
5〜g6,仮想実アドレス0〜f2がシステム化実アド
レスg6〜g7に対応している。したがって、アドレス
管理表は図7に示すようになる。FIG. 6, FIG. 7, and FIG. 8 are examples of memory circulation between VMs. FIG. 6 shows three VMs, that is, VM1 and V.
There are M2 and VM3. In the VM1, virtual real addresses 0 to d1 correspond to systemized real addresses g1 to g2, and virtual real addresses 0 to d2 correspond to systemized real addresses g3 to g4. In VM2, virtual real addresses 0 to e1 correspond to systemized real addresses g2 to g3, and virtual real addresses 0 to d2 correspond to systemized real addresses g4 to g5. VM
3 is virtual real address 0 to f1 is systemized real address g
5 to g6, virtual real addresses 0 to f2 correspond to systemized real addresses g6 to g7. Therefore, the address management table is as shown in FIG.
【0027】図8はVM間でメモリをやりとりする場合
の例の処理フローチャートである。ステップ101でま
ずVM2の処理を停止させる。したがって、VM2アド
レス管理表削除される(ステップ102)。そして、シ
ステム化アドレス空間もg2〜g3とg4〜g5は空き
領域になる。ステップ103でVM1アドレス管理表に
g2〜g3のアドレス管理表を追加する。ステップ10
4で実メモリが追加なったことをVM1上のOSに通知
する。ステップ105でVM1アドレス管理表にg4〜
g5のアドレス管理表を追加する。ステップ106で実
メモリが追加なったことをVM3上のOSに通知する。FIG. 8 is a processing flowchart of an example of exchanging memory between VMs. First, in step 101, the processing of the VM 2 is stopped. Therefore, the VM2 address management table is deleted (step 102). In the systemized address space, g2 to g3 and g4 to g5 are free areas. In step 103, the address management tables g2 to g3 are added to the VM1 address management table. Step 10
In step 4, the OS on VM1 is notified that the real memory has been added. In step 105, g4 to VM1 address management table
Add g5 address management table. In step 106, the OS on the VM 3 is notified that the real memory has been added.
【0028】そして、ステップ101におけるVMの停
止処理は一般にはオペレータコマンドにより実施する。
ステップ103のアドレス変更管理表の追加変更は一般
にはコマンドで変更されるのが普通であるが、ケースに
よってはVM2が停止されたときに、自動的にVM1,
VM3へ組み込まれるケースもある。ステップ104へ
の各VMからOSへ通知は、ステップ103を実行後、
OSコマンドにて、実施される場合もあるし、ステップ
103の処理実行後、VMモニタより自動的に通知する
ケースもある。また、ステップ102〜103は両方と
もコマンドで実施するので両方同時に実施するコマンド
をサポートしてもよい。The VM stop processing in step 101 is generally executed by an operator command.
Generally, the additional change of the address change management table in step 103 is generally changed by a command, but in some cases, when VM2 is stopped, VM1, VM1 is automatically changed.
In some cases, it is incorporated into VM3. To notify the OS from each VM to step 104, after executing step 103,
In some cases, it is executed by an OS command, and in some cases, after the processing of step 103 is executed, the VM monitor automatically notifies. Further, since steps 102 to 103 are both executed by commands, commands executed by both at the same time may be supported.
【0029】結果として、システム化アドレスは図9で
示されるマッピングになり、VM2がもっていたメモリ
をVM1とVM3に割り振ることができる。また、この
組み込み処理を自動的に実施することによりメモリの有
効利用を自動的に実施することもできる。As a result, the systemized address becomes the mapping shown in FIG. 9, and the memory possessed by VM2 can be allocated to VM1 and VM3. In addition, effective use of the memory can be automatically performed by automatically performing this embedding processing.
【0030】その例を図10に示す。この図10におけ
るステップ201で仮想計算機モニタではVM1,VM
2に実メモリ使用状況の問い合わせを行う。その問い合
わせ処理はVMモニタがVMに割り込みを通知を実施す
ることにより実施される。この場合原因を示す割り込み
コードは特殊なものが通知される。ステップ202,2
03は実メモリの問い合わせ状況を実施されたOSで実
メモリの使用状況をチェックする。この実メモリの使用
状況はオペレーティングシステムがメモリ使用率の改善
を実施するために、通常収集されているのが一般的であ
る。また、過負荷制御を実施した回数を通知するケース
もある。要するにそのオペレーティングシステムがメモ
リ不足になっていて効率がおちていないかどうかをチェ
ック可能であればよいのである。その後結果ハンドシェ
ークと呼ばれるVM上のオペレーティングシステムから
VMモニタへの通信手段で通知する。An example thereof is shown in FIG. In step 201 in FIG. 10, VM1 and VM are displayed on the virtual machine monitor.
Inquires about the actual memory usage status in 2. The inquiry process is performed by the VM monitor notifying the VM of an interrupt. In this case, a special interrupt code indicating the cause is notified. Steps 202 and 2
Reference numeral 03 is an OS that has executed the inquiry status of the real memory and checks the usage status of the real memory. This real memory usage is typically collected for the operating system to improve memory usage. In some cases, the number of times overload control is performed is notified. In short, it only needs to be able to check if the operating system is out of memory and inefficient. After that, the result is notified by means of communication from the operating system on the VM to the VM monitor called a handshake.
【0031】ステップ204,205ではVM1,VM
2のメモリ使用状況をチェックする。また、メモリ移動
の変更があるか状況をチェックする。このチェック方法
は各VM間の状況比較によって実施する。そして、VM
1→VM2のメモリ移動の必要がある場合には、ステッ
プ206,メモリ切り離し指示ステップ201と同様な
方式でVMおよびオペレーティングシステムにメモリ切
り離しを指示し、ステップ207,ステップ208でV
Mのメモリ切り離しを実施し、完了通知をVMモニタで
実施する。また、VMメモリ組み込み指示をステップ2
09,210,211で実施する。In steps 204 and 205, VM1 and VM
Check the memory usage status of 2. Also, check the status to see if there is a change in memory movement. This check method is performed by comparing the statuses of the VMs. And VM
If it is necessary to move the memory from 1 to VM2, the VM and the operating system are instructed to perform the memory disconnection in the same manner as in step 206 and the memory disconnection instruction step 201.
The memory of M is separated, and the completion notification is executed by the VM monitor. In addition, the VM memory installation instruction is given in step 2.
09, 210, 211.
【0032】[0032]
【発明の効果】以上説明したように本発明は、仮想計算
機対応に割り当てるメモリを分割し、その分割されたメ
モリ単位に融通するようにしたので、オバーヘッド/ハ
ードウェアの投資量が少なく、また、VM間でのメモリ
やりとりができるという効果を有する。As described above, according to the present invention, since the memory allocated to the virtual machine is divided and the divided memory units are accommodated, the overhead amount / hardware investment amount is small, and This has the effect that memory can be exchanged between VMs.
【図1】本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing an embodiment of the present invention.
【図2】図1におけるアドレス管理テーブルの詳細を示
す説明図である。FIG. 2 is an explanatory diagram showing details of an address management table in FIG.
【図3】図1に示す実施例のブロック図に具体的数値を
与えた説明図である。3 is an explanatory diagram in which specific numerical values are given to the block diagram of the embodiment shown in FIG.
【図4】図1に示す実施例のブロック図に具体的数値を
与えた説明図である。FIG. 4 is an explanatory diagram in which specific numerical values are given to the block diagram of the embodiment shown in FIG.
【図5】図1における実アドレス絶対アドレス変換手段
の構成例を示したブロック図である。5 is a block diagram showing a configuration example of real address / absolute address conversion means in FIG. 1. FIG.
【図6】本発明におけるVM間メモリ移動の説明に供す
る移動前の状態を示す説明図である。FIG. 6 is an explanatory diagram showing a state before movement, which is used for explaining memory movement between VMs according to the present invention.
【図7】本発明におけるVM間メモリ移動の説明に供す
る移動前の状態を示す説明図である。FIG. 7 is an explanatory diagram showing a state before movement, which is used for explaining memory movement between VMs according to the present invention.
【図8】本発明におけるVM間メモリ移動の説明に供す
る処理を示すフローチャートである。FIG. 8 is a flowchart showing a process for explaining memory movement between VMs according to the present invention.
【図9】本発明におけるVM間メモリ移動の説明に供す
る移動後の状態を示す説明図である。FIG. 9 is an explanatory diagram showing a state after movement, which is used for explaining memory movement between VMs in the present invention.
【図10】図1の動作説明に供する自動VM間メモリ移
動処理を示すフローチャートである。FIG. 10 is a flowchart showing an automatic VM-to-VM memory movement process for explaining the operation of FIG. 1;
1−1 仮想計算機モニタ 1−2−1,1−2−2 アドレス変換テーブル 1−3−1,1−3−2 アドレス管理テーブル 1−4 仮想アドレス実アドレス変換手段 1−5 実アドレス絶対アドレス変換手段 1−6 アドレス管理テーブル変更手段 1−7−1,1−7−2 OS通知手段 1−8−1,1−8−2 アドレス変換テーブル書換手
段 1−9 メモリ使用状況チェック部1-1 Virtual machine monitor 1-2-1, 1-2-2 Address conversion table 1-3-1, 1-3-2 Address management table 1-4 Virtual address real address conversion means 1-5 Real address absolute address Converting means 1-6 Address management table changing means 1-7-1, 1-7-2 OS notifying means 1-8-1, 1-8-2 Address conversion table rewriting means 1-9 Memory usage status check unit
Claims (3)
の複数のオペレーティングシステムを管理する管理プロ
グラムを備え、この管理プログラムの制御のもとに、前
記複数のオペレーティングシステムを1つの計算機シス
テム上で動作させるようにした仮想計算機システムにお
いて、前記複数のオペレーティング・システムの各々に
対して、主記憶装置上の連続した空間を複数個わりあ
て、それを管理するアドレス管理テーブルを持ち、かつ
オペレーティングシステム内のアドレス変換テーブルに
より仮想アドレスから実アドレスに変換する仮想アドレ
ス実アドレス変換手段と、この仮想アドレス実アドレス
変換手段によって得られた実アドレスを前記アドレス管
理テーブルにより主記憶のアドレスに対応づける実アド
レス絶対アドレス変換手段を備えてなることを特徴とす
る仮想計算機システムの制御方式。1. A plurality of operating systems and a management program for managing the plurality of operating systems are provided, and the plurality of operating systems are operated on one computer system under the control of the management program. In the virtual computer system described above, a plurality of continuous spaces in the main memory are allocated to each of the plurality of operating systems, and an address management table for managing the spaces is provided, and an address conversion table in the operating system is used. Virtual address real address conversion means for converting a virtual address to a real address, and real address absolute address conversion for associating the real address obtained by the virtual address real address conversion means with the address of the main memory by the address management table. A control method for a virtual computer system, characterized by comprising means.
御方式において、アドレス管理テーブルを変更すること
により各オペレーティングシステムに割当られている実
メモリを変更するアドレス管理テーブル変更手段と、こ
のアドレス管理テーブル変更手段によって変更された実
メモリを前記オペレーティングシステムによって通知す
る通知手段と、この通知手段によって通知されたオペレ
ーティングシステムがその通知された内容をもとにメモ
リ変更を実施するメモリ変更実施手段を備えてなること
を特徴とする仮想計算機システムの制御方式。2. The virtual computer system control method according to claim 1, wherein an address management table changing means for changing the real memory allocated to each operating system by changing the address management table, and the address management table. The operating system notified by the operating system notifies the real memory changed by the changing unit, and the memory change execution unit for executing the memory change based on the notified contents. A control method for a virtual computer system characterized by:
御方式において、管理プログラムが一定間隔ごとに管理
しているオペレーティングシステムの実メモリの使用状
況をチェックしOS間のメモリの移動を判断できる判断
手段を有し、かつ移動が必要な際はアドレス管理テーブ
ルを変更することにより各オペレーティングシステムに
割当られている実メモリを変更するアドレス管理テーブ
ル変更手段と、このアドレス管理テーブル変更手段によ
って変更された実メモリを前記オペレーティングシステ
ムによって通知する通知手段と、この通知手段によって
通知されたオペレーティングシステムがその通知された
内容をもとにメモリ変更を実施するメモリ変更実施手段
を備えてなることを特徴とする仮想計算機システムの制
御方式。3. The virtual computer system control method according to claim 1, wherein the management program checks the usage status of the real memory of the operating system managed by the management program at regular intervals to determine whether to move the memory between the OSs. And an address management table changing means for changing the real memory allocated to each operating system by changing the address management table when there is a need to move the address management table and the address management table changing means. The present invention is characterized by comprising notifying means for notifying the real memory by the operating system, and memory changing execution means for making the memory change on the basis of the notified contents of the operating system notified by the notifying means. Control method of virtual computer system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4036941A JPH05204760A (en) | 1992-01-29 | 1992-01-29 | Control system for virtual computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4036941A JPH05204760A (en) | 1992-01-29 | 1992-01-29 | Control system for virtual computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05204760A true JPH05204760A (en) | 1993-08-13 |
Family
ID=12483780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4036941A Pending JPH05204760A (en) | 1992-01-29 | 1992-01-29 | Control system for virtual computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05204760A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004537786A (en) * | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | A secure machine platform that interfaces with the operating system and customized control programs |
JP2009059121A (en) * | 2007-08-31 | 2009-03-19 | Hitachi Ltd | Control method of virtual machine |
US7644252B2 (en) | 2004-03-23 | 2010-01-05 | Nec Corporation | Multi-processor system and memory accessing method |
JP2010055641A (en) * | 2009-12-07 | 2010-03-11 | Fuji Xerox Co Ltd | Information processor and program |
JP2011238278A (en) * | 2011-07-22 | 2011-11-24 | Hitachi Ltd | Control method for virtual calculator |
US8352942B2 (en) | 2007-03-27 | 2013-01-08 | Fujitsu Limited | Virtual-machine control apparatus and virtual-machine moving method |
WO2015045046A1 (en) * | 2013-09-26 | 2015-04-02 | 株式会社日立製作所 | Computer system and memory allocation adjustment method for computer system |
-
1992
- 1992-01-29 JP JP4036941A patent/JPH05204760A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004537786A (en) * | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | A secure machine platform that interfaces with the operating system and customized control programs |
US7644252B2 (en) | 2004-03-23 | 2010-01-05 | Nec Corporation | Multi-processor system and memory accessing method |
US8352942B2 (en) | 2007-03-27 | 2013-01-08 | Fujitsu Limited | Virtual-machine control apparatus and virtual-machine moving method |
JP2009059121A (en) * | 2007-08-31 | 2009-03-19 | Hitachi Ltd | Control method of virtual machine |
JP2010055641A (en) * | 2009-12-07 | 2010-03-11 | Fuji Xerox Co Ltd | Information processor and program |
JP2011238278A (en) * | 2011-07-22 | 2011-11-24 | Hitachi Ltd | Control method for virtual calculator |
WO2015045046A1 (en) * | 2013-09-26 | 2015-04-02 | 株式会社日立製作所 | Computer system and memory allocation adjustment method for computer system |
US9632931B2 (en) | 2013-09-26 | 2017-04-25 | Hitachi, Ltd. | Computer system and memory allocation adjustment method for computer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4347565A (en) | Address control system for software simulation | |
US4459661A (en) | Channel address control system for a virtual machine system | |
US20190155637A1 (en) | Resource Access Method Applied to Computer and Computer | |
US7434003B2 (en) | Efficient operating system operation on a hypervisor | |
CA1141475A (en) | Virtual machine system | |
KR100992034B1 (en) | Computer Memory Management in Computing Environments with Dynamic Logical Partitioning | |
CN101751284B (en) | I/O resource scheduling method for distributed virtual machine monitor | |
JPH0532772B2 (en) | ||
EP0238158A2 (en) | Copy-on-write segment sharing in a virtual memory, virtual machine data processing system | |
WO2018176911A1 (en) | Virtual disk file format conversion method and device | |
US8738890B2 (en) | Coupled symbiotic operating system | |
US20120137103A1 (en) | Automated paging device management in a shared memory partition data processing system | |
US5652853A (en) | Multi-zone relocation facility computer memory system | |
US20230259380A1 (en) | Chip system, virtual interrupt processing method, and corresponding apparatus | |
KR20070100367A (en) | Methods, devices, and systems for dynamically reallocating memory from one virtual machine to another | |
JPH0784883A (en) | Virtual computer system address translation buffer purging method | |
JP2010157234A (en) | Efficient remapping engine utilization | |
JPH0458056B2 (en) | ||
JPH05204760A (en) | Control system for virtual computer system | |
JPH0496828A (en) | Multiple absolute address space configuration method and device | |
JP2012103930A (en) | Virtual computer system and method for installing the same | |
CN117453352B (en) | Equipment straight-through method under Xen | |
JPS5850383B2 (en) | information processing equipment | |
JP2535584B2 (en) | Real memory fixed processing computer | |
CN1037418A (en) | The information transferring method of virtual computer system |