JPH07110774A - Waiting state control system for virtual machine system - Google Patents

Waiting state control system for virtual machine system

Info

Publication number
JPH07110774A
JPH07110774A JP25575593A JP25575593A JPH07110774A JP H07110774 A JPH07110774 A JP H07110774A JP 25575593 A JP25575593 A JP 25575593A JP 25575593 A JP25575593 A JP 25575593A JP H07110774 A JPH07110774 A JP H07110774A
Authority
JP
Japan
Prior art keywords
guest
wait state
wait
processing
vmcp
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
JP25575593A
Other languages
Japanese (ja)
Inventor
Osamu Onodera
修 小野寺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP25575593A priority Critical patent/JPH07110774A/en
Publication of JPH07110774A publication Critical patent/JPH07110774A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To prevent the actualization of defects inevitably generated in static waiting state control, to eliminate the overhead of a system and to improve the performance of a virtual machine system. CONSTITUTION:At the time of starting a guest OS on virtual machines(VMs) 112 and 113, to the entries of IE mode time measurement, waiting state time measurement and I/O interruption number of times measurement provided inside an SD, a microprogram initializes a measurement entry group, then enters an IE mode and starts the execution of the guest OS in an IE entry processing. Thereafter, the measured results are accumulated in the respective measurement entries inside the SD. A virtual machine control program(VMCP) 111 dynamically sets the value of a waiting control flag inside the SD on or off by using the contents of the measurement entry group every time an SIE is issued.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、仮想計算機システムの
ウェイト状態制御方式に係り、特に、仮想計算機システ
ムの仮想計算機の動作時における仮想計算機のウェイト
状態を制御する仮想計算機システムのウェイト状態制御
方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a wait state control method for a virtual computer system, and more particularly to a wait state control method for a virtual computer system for controlling the wait state of the virtual computer during operation of the virtual computer of the virtual computer system. Regarding

【0002】[0002]

【従来の技術】近年、仮想計算機システムと呼ばれる情
報処理装置が実現され、その使用が一般化されつつあ
る。仮想計算機システムは、単一の実計算機の下に複数
の仮想計算機を生成して情報処理システムを構築するも
のであり、実計算機上で仮想計算機制御プログラム(以
下、VMCPという)を動作させ、このVMCPの制御
の下でオペレーティングシステム(以下、OSという)
を動作させるように構成されている。
2. Description of the Related Art In recent years, an information processing apparatus called a virtual computer system has been realized and its use is becoming popular. The virtual computer system is to create a plurality of virtual computers under a single real computer to construct an information processing system. A virtual computer control program (hereinafter referred to as VMCP) is run on the real computer, Operating system (hereinafter referred to as OS) under the control of VMCP
Is configured to operate.

【0003】一般に、情報処理システムを構成するため
の計算機の使用形態としては、実計算機上で単一のOS
を動作させる方法と単一の実計算機上で複数のOSを動
作させる仮想計算機(以下、VMまたはLPARとい
う)と呼ばれる方法とがある。
In general, as a usage pattern of a computer for configuring an information processing system, a single OS on a real computer is used.
And a method called a virtual computer (hereinafter referred to as VM or LPAR) that operates a plurality of OSs on a single real computer.

【0004】実計算機上で単一のOSを動作させるモー
ドをベーシックモードと言い、その方法における実計算
機のハードウェア資源は、1台またはそれ以上の中央処
理装置(以下、CPUまたはPIPという)、1台の共
用主記憶装置(以下、MSという)、1台またはそれ以
上のチャネルパス(以下、CHPという)により構成さ
れる。そして、これらの実計算機のハードウェア資源は
単一の資源として扱われる。
A mode in which a single OS operates on a real computer is called a basic mode, and the hardware resources of the real computer in this method are one or more central processing units (hereinafter referred to as CPU or PIP), It is composed of one shared main memory (hereinafter referred to as MS) and one or more channel paths (hereinafter referred to as CHP). The hardware resources of these real computers are treated as a single resource.

【0005】また、単一の実計算機上に複数のLPAR
を構築し複数のOSを動作させるモードをLPARモー
ドと言う。一般に、複数のLPARを単一の実計算機上
で実現して構成する仮想計算機システムは、VMCPと
呼ばれるプログラムを実計算機上で動作させ、このVM
CPの制御の下に複数の仮想計算機であるLPARを生
成し、さらに、これらの各LPARの上で独立したOS
を動作させるように構成されている。従って、VMCP
には、単一の実計算機のハードウェア資源をそれぞれの
LPARに共用させて使用させる機能が付加されてい
る。
In addition, a plurality of LPARs can be installed on a single real computer.
A mode in which the OS is constructed and a plurality of OSs are operated is called an LPAR mode. Generally, a virtual computer system that realizes and configures a plurality of LPARs on a single real computer runs a program called VMCP on the real computer,
An LPAR, which is a plurality of virtual machines, is created under the control of the CP, and an independent OS is created on each of these LPARs.
Is configured to operate. Therefore, VMCP
Is added with a function of allowing each LPAR to share and use the hardware resources of a single real computer.

【0006】単一の実計算機のハードウェア資源を複数
のLPARに共用させる方法としては、VMCPの制御
の下に時分割によりハードウェア資源を割り当てる方
法、ハードウェア資源を論理的に分割して各LPARに
占有的に割り当てる方法、または、前述の二つの方法を
混在させて割り当てる方法等が知られている。
As a method of sharing the hardware resource of a single real computer with a plurality of LPARs, a method of allocating the hardware resource by time division under the control of VMCP, and a method of logically dividing the hardware resource A method of exclusively allocating to the LPAR, a method of allocating the above two methods in a mixed manner, and the like are known.

【0007】前述したような単一の実計算機のハードウ
ェア資源を複数のLPARに割り当てる方法に関する従
来技術として、例えば、IBM社発行の刊行物“Enterp
riseSystem/9000 Enterprise System/3090 Processor
Resource/System ManagerPlanning Guide”(GA22-7123
-08)等に記載された技術が知られている。
As a conventional technique for allocating the hardware resources of a single real computer to a plurality of LPARs as described above, for example, a publication "Enterp" issued by IBM Corporation is available.
riseSystem / 9000 Enterprise System / 3090 Processor
Resource / System Manager Planning Guide ”(GA22-7123
-08) etc. are known.

【0008】この従来技術は、実CPUの共用方法とし
て、前述の2つの方法のうち前者の方法、すなわち、実
CPUを時分割して各LPARに割り当てる方法を使用
し、入出力チャネル及びMSのLPARでの共用方法と
して、前述の2つの方法のうち後者の方法、すなわち、
実CHP及び実MSを論理的に分割して各LPARに占
有的に割り当てる方法を使用するというものである。
This prior art uses the former one of the above-mentioned two methods as a method of sharing the real CPU, that is, a method of allocating the real CPU to each LPAR in a time-division manner, and using the I / O channel and the MS. As a sharing method in LPAR, the latter of the above two methods, that is,
This is to use a method in which the real CHP and the real MS are logically divided and exclusively allocated to each LPAR.

【0009】以下、従来技術による仮想計算機システム
の構成例とその動作を図面により説明する。
A configuration example of a virtual computer system according to the prior art and its operation will be described below with reference to the drawings.

【0010】図6は本発明が適用される仮想計算機シス
テムの構成を示すブロック図、図7は仮想計算機システ
ムを実現するために使用される仮想計算機制御プログラ
ムの構成を説明する図、図8は動作しているゲストOS
がオペレーティング状態からウェイト状態に入った時点
でVMCPにインターセプトさせる場合のVMCP及び
ゲストOSへの実計算機資源配分を説明するタイムチャ
ート、図9は動作しているゲストOSがオペレーティン
グ状態からウェイト状態に入ってもVMCPにインター
セプトさせない場合のVMCP及びゲストOSへの実計
算機資源配分を説明するタイムチャート、図10は従来
技術においてウェイト状態が発生した場合のPIPの処
理動作を説明するフローチャート、図11は従来技術に
おいて仮想計算機を起動する場合のマイクロプログラム
制御の動作処理を説明するフローチャートである。図
6、図7において、101はMS、102、103、2
10は実CPU、111、220はVMCP、112、
113はPARA、121、122、131、132は
論理CPU、230はゲストOSである。
FIG. 6 is a block diagram showing the configuration of a virtual computer system to which the present invention is applied, FIG. 7 is a diagram for explaining the configuration of a virtual computer control program used to realize the virtual computer system, and FIG. 8 is Guest OS running
Is a time chart explaining the allocation of real computer resources to the VMCP and guest OS when the VMCP intercepts when the OS enters the wait state from the operating state. Fig. 9 shows the operating guest OS enters the wait state from the operating state. Even if the VMCP is not intercepted, a time chart explaining the real computer resource allocation to the VMCP and the guest OS, FIG. 10 is a flowchart explaining the PIP processing operation when a wait state occurs in the conventional technology, and FIG. 11 is the conventional 3 is a flowchart illustrating an operation process of microprogram control when starting a virtual computer in the technology. 6 and 7, 101 is an MS, 102, 103, 2
10 is a real CPU, 111 and 220 are VMCPs, 112,
Reference numeral 113 is PARA, 121, 122, 131, 132 are logical CPUs, and 230 is a guest OS.

【0011】図6に示す仮想計算機システムは、LPA
Rへの実CPUの割り当てを実CPUの時分割によりる
割り当てを行うようにしたものであり、実CPU(以
下、PIPという)として、PIPA102及びPIP
B103の2台のPIPによるマルチプロセッサ構成
(以下、MP構成という)の実CPUを備えて構成され
ている。そして、PIPA102及びPIPB103
は、それぞれMS101に接続されており、さらに、P
IPA102及びPIPB103も相互に接続されてい
る。
The virtual computer system shown in FIG. 6 is an LPA.
The real CPU is assigned to R by time division of the real CPU, and the PIPA 102 and the PIP are used as the real CPU (hereinafter referred to as PIP).
It is configured by including a real CPU having a multiprocessor configuration (hereinafter, referred to as MP configuration) by two PIPs of B103. Then, the PIPA 102 and PIPB 103
Are connected to MS 101, respectively, and P
The IPA 102 and PIPB 103 are also connected to each other.

【0012】PIPA102及びPIPB103上で
は、MP構成を制御可能なVMCP111が動作してお
り、このVMCPの制御の下に2つのLPAR、すなわ
ち、LPARA112及びLPARB113が生成され
ている。LPARA112及びLPARB113は、そ
れぞれ、LIPAA121、LIPAB122及びLI
PBA131、LIPBB132によるMP構成とされ
ている。
On the PIPA 102 and PIPB 103, a VMCP 111 capable of controlling the MP configuration is operating, and two LPARs, that is, LPARA 112 and LPARB 113 are generated under the control of this VMCP. LPARA 112 and LPARB 113 are LIPAA 121, LIPAB 122 and LI, respectively.
It has an MP configuration with PBA 131 and LIPBB 132.

【0013】従って、LPARA112上で動作するO
Sは、LIPAA121及びLIPAB122を制御
し、LPARB113上で動作するOSは、LIPBA
131及びLIPBB132を制御している。また、L
IPAA121及びLIPBA131は、PIPA10
2上でのみ動作し、LIPAB122及びLIPBB1
32は、PIPB103上でのみ動作する。
Therefore, the O operating on the LPARA 112
The S controls the LIPAA 121 and the LIPAB 122, and the OS operating on the LPARB 113 is LIPBA.
131 and LIPBB132 are controlled. Also, L
IPAA121 and LIPBA131 are PIPA10
2 only, LIPAB122 and LIPBB1
32 operates only on PIPB 103.

【0014】次に、図7を参照して、前述のように構成
される仮想計算機システムにおけるVMCP、各PIP
及び各PIP上で動作するゲストOSの動作の関連につ
いて説明する。
Next, referring to FIG. 7, VMCP and PIPs in the virtual computer system configured as described above.
And, the relation of the operation of the guest OS operating on each PIP will be described.

【0015】図7において、PIP210は、その上で
VMCP220を走行させ、インタフェース251を介
してVMCP220と接続されている。このインタフェ
ース251は、ベーシックモードのときのハードウェア
とその上で走行するソフトウェアとの関係と同一の関係
にある通常のハードウェア対ソフトウェアのインタフェ
ースである。
In FIG. 7, the PIP 210 runs a VMCP 220 on it and is connected to the VMCP 220 via an interface 251. The interface 251 is a normal hardware-to-software interface having the same relationship as the hardware running on the basic mode and the software running on the hardware.

【0016】VMCP220は、PIP210の制御、
及び、PIP210のハードウェア資源の配分及びゲス
トOS230の実行制御等を司り、インタフェース25
1及びインタフェース252を介してそれぞれPIP2
10及びゲストOS230と接続されている。
The VMCP 220 controls the PIP 210,
Also, it manages allocation of hardware resources of the PIP 210 and execution control of the guest OS 230, and the interface 25
1 and PIP2 via interface 252 respectively
10 and the guest OS 230.

【0017】ゲストOS230は、VMCP上で動作す
るゲストOSであり、インタフェース252を介してV
MCP220と接続されている。
The guest OS 230 is a guest OS that operates on the VMCP, and V guest via the interface 252.
It is connected to the MCP 220.

【0018】前述においてゲストOS230を起動し動
作させる手順は、以下に説明するように行われ、ゲスト
OS230の制御の下でユーザのアプリケーションプロ
グラムが走行する。
The procedure for activating and operating the guest OS 230 in the above is performed as described below, and the application program of the user runs under the control of the guest OS 230.

【0019】まず最初に、PIP210は、通常のイニ
シャルプログラムロード機能を使用しVMCP220を
立ち上げる。その後、VMCP220は、自身のイニシ
ャルプログラムロード機能を使用しVM上で動作するゲ
ストOS230を立ち上げる。このとき、VMCP22
0は、ゲストOS230を立ち上げて起動するため、イ
ンタフェース252を介してゲストOS230を起動す
る。以降、ゲストOS230の制御の下でユーザのアプ
リケーションプログラムが走行する。
First, the PIP 210 starts up the VMCP 220 using the normal initial program load function. After that, the VMCP 220 uses its own initial program loading function to start the guest OS 230 operating on the VM. At this time, VMCP22
0 starts and starts the guest OS 230, and thus starts the guest OS 230 via the interface 252. After that, the application program of the user runs under the control of the guest OS 230.

【0020】前述のVMCP220がインタフェース2
52を介してゲストOS230を起動するために、SI
E命令が使用される。このSIE命令は、IE機能の一
部であり、その一般的仕様としては、例えばIBM社発
行の刊行物“IBM System/370Extended Architecture In
terpretive Execution”(SA22-7095)にその詳細が記述
されている。
The VMCP 220 described above is the interface 2
In order to boot the guest OS 230 via 52, SI
The E instruction is used. The SIE instruction is a part of the IE function, and its general specification is, for example, a publication "IBM System / 370 Extended Architecture In" issued by IBM Corporation.
The details are described in "Terpretive Execution" (SA22-7095).

【0021】ゲストOS230が走行している間に何ら
かのインターセプション条件が検出されると、ゲストO
S230が実行中のSIE命令はインターセプトされ、
制御は、インタフェース252を介してVMCP220
に渡される。インターセプションはIE機能の一部であ
り、その一般的仕様としては、例えばIBM社発行の前
述の刊行物にその詳細が記述されている。
If any interception condition is detected while the guest OS 230 is running, the guest O
The SIE instruction being executed by S230 is intercepted,
Control is via the interface 252 to the VMCP 220
Passed to. The interception is a part of the IE function, and its general specification is described in detail in, for example, the aforementioned publications issued by IBM Corporation.

【0022】ゲストOS230からのインターセプショ
ンが報告されると、VMCP220は、インターセプシ
ョン要因を解析し該当するインターセプション処理を実
行する。この場合のインターセプション処理とは、例え
ば、待ち状態インターセプション、あるいは、命令イン
ターセプションである。待ち状態インターセプションで
あれば、ゲストOS230が、インタフェース252を
介して制御をVMCP220に渡す処理を実行し、ま
た、命令インターセプションであれば、VMCP220
が、インターセプトされた命令のシミュレーション処理
を行いインタフェース252を介して再度ゲストOS2
30を起動する。
When the interception from the guest OS 230 is reported, the VMCP 220 analyzes the interception factor and executes the corresponding interception process. The interception process in this case is, for example, waiting state interception or instruction interception. In the case of waiting state interception, the guest OS 230 executes a process of passing control to the VMCP 220 via the interface 252, and in the case of instruction interception, the VMCP 220.
Performs the simulation processing of the intercepted instruction, and again executes the guest OS 2 via the interface 252.
Start 30.

【0023】ゲストOS230が走行している間に何ら
かのホストに対する割込み要因が検出されると、実行中
のSIE命令は割り込まれ、制御はインタフェース25
2を介してVMCP220に渡される。VMCP220
は、割込み要因を解析し該当する割込み処理を実行す
る。この場合の割込み処理とは、例えば、ゲストOS2
30への割当て時間切れを示す外部割込み、あるいは、
プログラム割込みである。ゲストOS230への割当て
時間切れを示す外部割込みであれば、VMCP220が
インタフェース252を介して制御を他のゲストOS2
30に渡す処理を実行し、また、プログラム割込みであ
れば、VMCP220が、プログラム割込みのシミュレ
ーション処理を行いインタフェース252を介して再度
ゲストOS230を起動する。
When an interrupt factor for some host is detected while the guest OS 230 is running, the SIE instruction being executed is interrupted and control is performed by the interface 25.
2 to VMCP 220. VMCP220
Analyzes the interrupt factor and executes the corresponding interrupt process. The interrupt process in this case is, for example, the guest OS 2
An external interrupt that indicates the allocation time to 30 has expired, or
It is a program interrupt. If it is an external interrupt indicating that the allocation time to the guest OS 230 has expired, the VMCP 220 controls the other guest OS 2 via the interface 252.
If it is a program interrupt, the VMCP 220 performs a program interrupt simulation process and restarts the guest OS 230 via the interface 252.

【0024】次に、論理中央処理装置上で動作するゲス
トプログラムがオペレーティング状態からウェイト状態
に入った場合の扱いについて説明する。
Next, the handling of the guest program operating on the logical central processing unit when the guest program enters the wait state from the operating state will be described.

【0025】一般に、中央処理装置上で動作するプログ
ラムは、オペレーティング状態またはウェイト状態の何
れかの状態で動作する。オペレーティング状態とは、中
央処理装置が命令処理を逐次実行している状態であり、
この場合、中央処理装置のプログラム状態語(以下、P
SWという)のウェイト状態制御フラグは“0”とされ
ている。また、ウェイト状態とは、中央処理装置が命令
処理を実行していないアイドル状態であり、この場合、
中央処理装置のPSWのウェイト状態制御フラグは
“1”とされている。
Generally, a program operating on the central processing unit operates in either an operating state or a wait state. The operating state is a state in which the central processing unit is sequentially executing instruction processing,
In this case, the program status word of the central processing unit (hereinafter P
The wait state control flag of SW) is set to "0". The wait state is an idle state in which the central processing unit is not executing instruction processing. In this case,
The wait state control flag of the PSW of the central processing unit is set to "1".

【0026】なお、中央処理装置のオペレーティング状
態及びウェイト状態の一般的仕様については、例えば、
IBM社発行の刊行物“Enterprise System Architectu
re/390 Principles of Operation”(SA22-7201-00)にそ
の詳細が記述されている。
For general specifications of the operating state and wait state of the central processing unit, for example,
Publication "IBM Enterprise System Architectu"
The details are described in re / 390 Principles of Operation ”(SA22-7201-00).

【0027】次に、図7に示すように構成される仮想計
算機制御プログラムにおいて、ゲストOSがオペレーテ
ィング状態からウェイト状態に入った時点でVMCPに
インターセプトさせる場合のVMCP及びゲストOSへ
の実計算機資源配分の様子を図8に示すタイムチャート
を参照して説明する。
Next, in the virtual machine control program configured as shown in FIG. 7, real machine resource allocation to VMCP and guest OS when VMCP intercepts when guest OS enters wait state from operating state This situation will be described with reference to the time chart shown in FIG.

【0028】VMCP上にゲストOSがディスパッチさ
れて動作しているとき、図8に示すように、ゲストOS
に対しては、実計算機資源の時分割された区間302、
区間303、区間305及び区間306が配分される。
そして、ゲストOSに配分された区間の内、区間302
及び区間305はオペレーティング状態であり、区間3
03及び区間306はウェイト状態である。
When the guest OS is dispatched on the VMCP and is operating, as shown in FIG.
, A time-divided section 302 of real computer resources,
Section 303, section 305, and section 306 are distributed.
Then, of the sections allocated to the guest OS, the section 302
And section 305 is in the operating state, and section 3
03 and the section 306 are in a wait state.

【0029】区間301において、VMCP220は、
ゲストOS230を走行させるための事前処理として、
ディスパッチすべきゲストOSを複数のゲストOS群の
中から選択する。また、VMCP220は、ゲストOS
230を起動する準備として、SIE命令のオペランド
である状態記述(以下、SDという)を所定のようにイ
ニシャライズする。SDの一般的仕様に関しては、前述
の刊行物にその詳細が記述されている。そして、VMC
P220は、SDをオペランドとしてSIE命令を発行
し、ゲストOS230を起動する。その時点で、PIP
210の動作は区間302に移る。
In section 301, the VMCP 220
As a pre-processing for running the guest OS 230,
A guest OS to be dispatched is selected from a plurality of guest OS groups. The VMCP 220 is a guest OS
As a preparation for activating 230, a state description (hereinafter, referred to as SD) which is an operand of the SIE instruction is initialized in a predetermined manner. The general specifications of SD are described in detail in the aforementioned publications. And VMC
The P220 issues an SIE instruction using SD as an operand to activate the guest OS 230. At that point, PIP
The operation of 210 moves to the section 302.

【0030】区間302において、ゲストOS230が
オペレーティング状態でVMとして走行する。VM上で
走行しているゲストOS230が、命令処理中に発生し
た割込みまたはLPSW命令によってゲストPSW内の
ウェイトフラグをオンとすると、その時点で、PIPの
動作は区間303に移る。
In the section 302, the guest OS 230 runs as a VM in the operating state. When the guest OS 230 running on the VM turns on the wait flag in the guest PSW by an interrupt generated during instruction processing or an LPSW instruction, the PIP operation shifts to the section 303 at that point.

【0031】区間303において、ゲストPSW内のウ
ェイトフラグがオンとされていることにより、ウェイト
状態インターセプション要因が検出され、ウェイト状態
インターセプションが発生し、制御は、VM上のゲスト
OS230からVMCP220に戻される。その時点
で、PIP210の動作は区間304に移る。
In the section 303, since the wait flag in the guest PSW is turned on, a wait state interception factor is detected, wait state interception occurs, and control is performed from the guest OS 230 on the VM to the VMCP 220. Will be returned. At that point, operation of PIP 210 moves to interval 304.

【0032】区間304において、VMCP220は、
制御がVM上のゲストOS230からVMCP220に
戻される要因となったインターセプションコードを解析
し、コード毎のインターセプション処理を行う準備をす
る。この処理をインターセプション第1レベル処理と呼
ぶ。次に、VMCP220は、インターセプション第2
レベル処理を行う。
In section 304, the VMCP 220
The interception code that causes the control to be returned from the guest OS 230 on the VM to the VMCP 220 is analyzed, and preparations are made to perform interception processing for each code. This processing is called interception first level processing. Next, the VMCP 220 receives the second interception.
Perform level processing.

【0033】この処理の具対的処理内容は、各種インタ
ーセプションコード毎に対応する処理を別々に行うもの
で、インターセプションコードがウェイト状態インター
セプションを示していれば、ウェイト状態インターセプ
ションを生起したゲストOSを除いて、ディスパッチす
べき1つのゲストOSを複数のゲストOS群の中から選
択して起動する。図示例は、ディスパッチすべきゲスト
OSが無く、VMCP220がアイドルする場合を示し
ている。
The specific processing content of this processing is that the processing corresponding to each of the various interception codes is performed separately. If the interception code indicates the wait state interception, the wait state interception is caused. Except for the guest OS, one guest OS to be dispatched is selected from a plurality of guest OS groups and activated. The illustrated example shows a case where there is no guest OS to be dispatched and the VMCP 220 is idle.

【0034】VMCP220がアイドルしている状態の
ときに、ウェイト状態インターセプションを発生させた
ゲストOS230に対する入出力割込み(以下、I/O
割込みという)が入ると、VMCP220は、このI/
O割込みを受付け、ゲストOS230に、このI/O割
込みを渡すためにI/O割込みシミュレーションを行
う。このI/O割込みシミュレーション処理は、具体的
には、MS内に確保されているVMCP220のプリフ
ィクス領域(以下PSAという)にストアされている入
出力割込みパラメータから入出力割込み要因を保留して
いるサブチャネルを求め、このサブチャネルに対応する
入出力割込みパラメータをゲストOS230が動作して
いるVMのPSAの所定の位置にストアし、さらに、イ
ンターセプトされた時のSD内のPSWを該VMのPS
Aの旧PSWの位置にストアし、それから該VMのPS
Aの新PSWの位置のデータを該VMのSDのPSWの
位置にストアした後、前記SDをオペランドとしてSI
E命令を発行し、VM上のゲストOS230を起動する
処理である。この処理の終了後の時点で、PIP210
の動作は区間305に移る。
When the VMCP 220 is in the idle state, an input / output interrupt (hereinafter referred to as I / O) to the guest OS 230 which has caused the wait state interception is generated.
Interrupt), the VMCP 220 sends this I /
An O interrupt is accepted, and an I / O interrupt simulation is performed to pass this I / O interrupt to the guest OS 230. This I / O interrupt simulation processing is, specifically, a sub-hold which holds the input / output interrupt factor from the input / output interrupt parameters stored in the prefix area (hereinafter referred to as PSA) of the VMCP 220 secured in the MS. The channel is obtained, the input / output interrupt parameter corresponding to this sub-channel is stored in a predetermined position of the PSA of the VM in which the guest OS 230 is operating, and the PSW in SD at the time of interception is stored in the PS of the VM.
Store in the location of A's old PSW and then PS of the VM
After storing the data of the new PSW position of A in the PSW position of the SD of the VM, SI is used as an operand.
This is a process of issuing the E command and activating the guest OS 230 on the VM. At the end of this process, the PIP 210
The operation of moves to section 305.

【0035】区間305において、ゲストOS230
は、オペレーティング状態でI/O割込みに対する処理
を実行し、引き続き、アプリケーションプログラムを実
行する。VM上で走行しているゲストOS230は、命
令処理中に発生した割込みまたはLPSW命令によって
ゲストPSW内のウェイトフラグがオンとされると、そ
の時点で、PIP210の動作は区間306に移る。
In the section 305, the guest OS 230
Executes the processing for the I / O interrupt in the operating state, and subsequently executes the application program. When the wait flag in the guest PSW is turned on by the interrupt generated during the instruction processing or the LPSW instruction, the guest OS 230 running on the VM shifts the operation of the PIP 210 to the section 306.

【0036】区間306において、ゲストPSW内のウ
ェイトフラグがオンとされることにより、ウェイト状態
インターセプション要因が検出され、ウェイト状態イン
ターセプションが発生し、制御はVM上のゲストOS2
30からVMCP220に戻される。その時点で、PI
Pの動作は区間307に移る。
In the section 306, the wait flag in the guest PSW is turned on, the wait state interception factor is detected, the wait state interception occurs, and the control is performed by the guest OS 2 on the VM.
Returned from 30 to VMCP 220. At that point, PI
The operation of P moves to section 307.

【0037】区間307においては、区間301と同様
の処理が行われ、以後、区間301から区間306の繰
返しにより、ゲストOSは、処理を実行する。
In the section 307, the same processing as in the section 301 is performed, and thereafter, the guest OS executes the processing by repeating the sections 301 to 306.

【0038】次に、図7に示すように構成される仮想計
算機制御プログラムにおいて、ゲストOSがオペレーテ
ィング状態からウェイト状態に入った場合にもVMCP
にインターセプトさせない場合のVMCP及びゲストO
Sへの実計算機資源配分の様子を図9に示すタイムチャ
ートを参照して説明する。
Next, in the virtual machine control program configured as shown in FIG. 7, even when the guest OS enters the wait state from the operating state, the VMCP
VMCP and guest O when not intercepted
The state of real computer resource allocation to S will be described with reference to the time chart shown in FIG.

【0039】VMCP上にゲストOSがディスパッチさ
れて動作しているとき、図9に示すように、ゲストOS
に対しては、実計算機資源の時分割された区間402、
区間403、区間405及び区間406が配分される。
そして、ゲストOSに配分された区間の内、区間40
2、区間404及び区間406はオペレーティング状態
であり、区間403及び区間405はウェイト状態であ
る。
When the guest OS is dispatched on the VMCP and is operating, as shown in FIG. 9, the guest OS is
, A time-divided section 402 of real computer resources,
Sections 403, 405, and 406 are distributed.
Then, of the sections allocated to the guest OS, the section 40
2, section 404 and section 406 are in the operating state, and section 403 and section 405 are in the waiting state.

【0040】区間401において、VMCP220は、
ゲストOS230を走行させる事前処理として、ディス
パッチすべき1つのゲストOSを複数のゲストOS群の
中から選択する。また、VMCP220は、ゲストOS
230を起動する準備としてSIE命令のオペランドで
あるSDを所定のようにイニシャライズし、そのSDを
SIE命令のオペランドとしてSIE命令を発行し、ゲ
ストOS230を起動する。その時点で、PIP210
の動作は区間402に移る。
In section 401, the VMCP 220
As a pre-process for running the guest OS 230, one guest OS to be dispatched is selected from a plurality of guest OS groups. The VMCP 220 is a guest OS
As a preparation for activating 230, SD, which is the operand of the SIE instruction, is initialized in a predetermined manner, the SIE instruction is issued using the SD as the operand of the SIE instruction, and the guest OS 230 is activated. At that point, PIP210
The operation of moves to section 402.

【0041】区間402において、ゲストOS230が
オペレーティング状態でVMとして走行する。VM上で
走行しているゲストOS230は、命令処理中に発生し
た割込みまたはLPSW命令によってゲストPSW内の
ウェイト状態フラグがオンとされる。その時点で、PI
P210の動作は区間403に移る。
In the section 402, the guest OS 230 runs as a VM in the operating state. In the guest OS 230 running on the VM, the wait state flag in the guest PSW is turned on by an interrupt generated during instruction processing or an LPSW instruction. At that point, PI
The operation of P210 moves to section 403.

【0042】区間403において、ゲストPSW内のウ
ェイト状態フラグがオンとされると、PIP210は、
VMCP220に制御を移すことなくウェイト状態に入
る。この状態のとき、ゲストOS230に対するI/O
割込みが入ると、PIP210は、このI/O割込みを
受付け、ゲストOS230にそのI/O割込みを渡すた
めにI/O割込み処理を行う。すなわち、PIP210
は、具体的には、ゲストOS230のPSAにI/O割
込みパラメ−タをストアし、ゲストPSWをそのVMの
PSAの旧PSWの位置にストアし、その後、そのVM
のPSAの新PSWの位置のデ−タをVMのゲストPS
Wロードし、VM上のゲストOS230を起動する処理
を行う。その時点で、PIP210の動作は区間404
に移る。
When the wait state flag in the guest PSW is turned on in the section 403, the PIP 210
The wait state is entered without transferring control to the VMCP 220. In this state, I / O to the guest OS 230
When an interrupt comes in, the PIP 210 accepts this I / O interrupt and performs I / O interrupt processing to pass the I / O interrupt to the guest OS 230. That is, the PIP 210
Specifically, the I / O interrupt parameter is stored in the PSA of the guest OS 230, the guest PSW is stored in the old PSW position of the PSA of the VM, and then the VM is stored.
Data of new PSW position of PSA of VM guest PS
A process of loading the W and activating the guest OS 230 on the VM is performed. At that point, the PIP 210 operates in section 404.
Move on to.

【0043】区間404において、ゲストOS230
は、オペレーティング状態でI/O割込みに対する処理
過程を実行し、引き続きアプリケーションプログラムを
実行する。そして、VM上で走行しているゲストOS2
30は、命令処理中に発生した割込みまたはLPSW命
令によってゲストPSW内のウェイトフラグがオンとさ
れる。その時点で、PIPの動作は区間405に移る。
In the section 404, the guest OS 230
Executes a process for an I / O interrupt in the operating state, and subsequently executes an application program. And the guest OS2 running on the VM
In 30, the wait flag in the guest PSW is turned on by an interrupt generated during instruction processing or an LPSW instruction. At that point, the PIP operation moves to section 405.

【0044】区間405において、ゲストPSW内のウ
ェイト状態フラグがオンとされると、PIP210はウ
ェイト状態に入り、区間403と同様の動作を行い、ゲ
ストOS230に対するI/O割込みが入ると、PIP
210は、このI/O割込みを受付け、ゲストOS23
0にそのI/O割込みを渡すためにI/O割込み処理を
行う。その時点で、PIPの動作は区間406に移る。
When the wait state flag in the guest PSW is turned on in the section 405, the PIP 210 enters the wait state and performs the same operation as in the section 403, and when the I / O interrupt to the guest OS 230 is input, the PIP
The 210 receives this I / O interrupt, and the guest OS 23
Perform I / O interrupt processing to pass the I / O interrupt to 0. At that point, PIP operation moves to interval 406.

【0045】区間406において、ゲストOS230
は、区間404の場合と同様の処理を行い、以後、区間
402から区間406の繰返しにより、ゲストOSは、
処理を続行する。
In section 406, guest OS 230
Performs the same processing as in the case of the section 404, and thereafter, by repeating the sections 402 to 406, the guest OS is
continue processing.

【0046】次に、図10に示すフローを参照して、ウ
ェイト状態が発生した場合のPIPの動作について説明
する。通常、この処理は、マイクロプログラムで実現さ
れており、図示フロー例もその処理をマイクロプログラ
ムにより実現した場合を示している。
Next, the operation of the PIP when the wait state occurs will be described with reference to the flow shown in FIG. Usually, this processing is realized by a micro program, and the illustrated flow example also shows a case where the processing is realized by a micro program.

【0047】(1)PSWのウェイト状態フラグが
“1”にセットされると、PIP210は、ハードウェ
ア論理によるマイクロプログラムブレイクインを起し、
ウェイト状態処理マイクロプログラムを起動する。ハー
ドウェア論理によるマイクロプログラムブレイクインと
は、ハードウェア論理が何らかの要因によりマイクロプ
ログラムの特定処理を必要とした場合に、現在実行中の
マイクロプログラム処理を一時中断して、そのマイクロ
プログラム処理の先頭アドレスからの実行を開始するハ
ードウェア機能である。このステップ処理からマイクロ
プログラムは、ウェイト状態処理を開始する(ステップ
501)。
(1) When the wait state flag of PSW is set to "1", the PIP 210 causes a microprogram break-in by hardware logic,
Start the wait state processing microprogram. Microprogram break-in by hardware logic is the start address of the microprogram processing that is currently being executed when the hardware logic requires specific processing of the microprogram for some reason. Is a hardware function that starts execution from. From this step processing, the microprogram starts wait state processing (step 501).

【0048】(2)ウェイト状態処理マイクロプログラ
ムは、PIP210が翻訳実行モード(以下、IEモー
ドという)で走行しているか否かをテストする。IEモ
ードの詳細については、前述した刊行物に記述されてい
る。PIP210がIEモードで走行していなければ後
述するステップ504へ行く(ステップ502)。
(2) The wait state processing microprogram tests whether the PIP 210 is running in the translation execution mode (hereinafter referred to as the IE mode). Details of the IE mode are described in the aforementioned publications. If the PIP 210 is not traveling in the IE mode, the process goes to step 504 described later (step 502).

【0049】(3)ステップ502のテストでPIP2
10がIEモードで走行している場合、ウェイト状態処
理マイクロプログラムは、SD内のウェイト制御フラグ
がオンであるか否かをテストする。SD内のウェイト制
御フラグがオンであればステップ504へ行き、そうで
なければステップ505へ行く(ステップ503)。
(3) PIP2 in the test of step 502
If 10 is running in IE mode, the wait state processing microprogram tests whether the wait control flag in SD is on. If the wait control flag in SD is on, the procedure goes to step 504, and if not, the procedure goes to step 505 (step 503).

【0050】(4)ステップ503のテストでSD内の
ウェイト制御フラグがオンであれば、ウェイト状態処理
マイクロプログラムは、完了型の割込み要因があるか否
かをテストする。完了型の割込み要因が無ければこのス
テップのテストを再実行する。この状態をウェイトルー
プ状態と呼ぶ。このウェイトループ状態にある場合、P
IP210はウェイト状態である。完了型の割込み要因
がある場合、ウェイト状態処理マイクロプログラムは、
該完了型の割込み要因を受け付けるべくマイクロプログ
ラム実行終了オーダ(以下、EOPという)を発行して
ウェイト状態処理を完了する(ステップ504)。
(4) If the wait control flag in SD is ON in the test of step 503, the wait state processing microprogram tests whether there is a completion type interrupt factor. If there is no completion type interrupt factor, re-execute the test in this step. This state is called a wait loop state. When in this wait loop state, P
IP 210 is in a wait state. If there is a completion type interrupt factor, the wait state processing microprogram
A microprogram execution end order (hereinafter referred to as EOP) is issued to accept the completion type interrupt factor and the wait state process is completed (step 504).

【0051】(5)ステップ503のテストでSD内の
ウェイト制御フラグがオンであれば、ウェイト状態処理
マイクロプログラムは、ウェイト状態インターセプショ
ン処理を行い、制御をVMCPに渡す。ウェイト状態イ
ンターセプション処理では、IEモードで動作していた
現在までのレジスタ類をSDにストアし、IEモードを
オフとした後、SIE命令の次の命令から実行を開始す
る。インターセプション処理の一般的仕様は、例えば、
前述した刊行物にその詳細に記述されている(ステップ
505)。
(5) If the wait control flag in SD is ON in the test of step 503, the wait state processing microprogram performs wait state interception processing and passes control to VMCP. In the wait state interception process, the registers that have been operating in the IE mode up to the present are stored in SD, the IE mode is turned off, and execution is started from the instruction next to the SIE instruction. The general specification of interception processing is, for example,
It is described in detail in the aforementioned publication (step 505).

【0052】前述した説明から明らかなように、図10
におけるステップ505を実行するケースが図8に示し
たタイムチャートにより説明したPIPの動作となり、
一方、図10におけるステップ504を実行するケース
が図9に示したタイムチャートにより説明したPIPの
動作となる。
As is apparent from the above description, FIG.
The case of executing step 505 in the above is the operation of the PIP described by the time chart shown in FIG.
On the other hand, the case of executing step 504 in FIG. 10 is the PIP operation described with reference to the time chart shown in FIG.

【0053】次に、図11に示すフローを参照して、V
MCP上にゲストOSがディスパッチされて動作してい
るとき、ゲストOSがオペレーティング状態からウェイ
ト状態に入った場合の処理手順について、VMCPにイ
ンターセプトさせないケース及びインターセプトさせる
ケースについて説明する。
Next, referring to the flow shown in FIG. 11, V
The processing procedure when the guest OS enters the wait state from the operating state while the guest OS is dispatched on the MCP and is operating will be described with respect to a case where the VMCP is not intercepted and a case where it is intercepted.

【0054】(1)VMCPは、ゲストOSを起動する
準備としてSIE命令のオペランドであるSDを所定の
ようにイニシャライズする。このとき、既に外部から指
定されているウェイト状態制御フラグの値もSD内に設
定する。この外部から指定されているウェイト状態制御
フラグの値は、静的な値である(ステップ601)。
(1) The VMCP initializes SD, which is the operand of the SIE instruction, in a predetermined manner in preparation for starting the guest OS. At this time, the value of the wait state control flag which has already been designated from the outside is also set in SD. The value of the wait state control flag designated from the outside is a static value (step 601).

【0055】(2)VMCPは、ステップ601でイニ
シャライズされたSDをオペランドとしてSIE命令を
発行し、VM上のゲストOSを起動する(ステップ60
2)。
(2) The VMCP issues an SIE instruction using the SD initialized in step 601 as an operand, and activates the guest OS on the VM (step 60).
2).

【0056】(3)VM上でゲストOSがオペレーティ
ング状態となって走行する(ステップ603)。
(3) The guest OS runs in an operating state on the VM (step 603).

【0057】(4)VM上で走行しているゲストOSが
オペレーティング状態からウェイト状態に入る(ステッ
プ604)。
(4) The guest OS running on the VM enters the wait state from the operating state (step 604).

【0058】(5)マイクロプログラムは、ウェイト状
態処理を開始する。ウェイト状態処理マイクロプログラ
ムは、PIPがIEモードで走行しているか否かをテス
トし、PIPがIEモードで走行していれば、SD内の
ウェイト制御フラグがオンであるか否かをテストする。
この場合、PIPはIEモードで走行していることとす
る。SD内のウェイト制御フラグがオンであればステッ
プ606へ行き、そうでなければステップ610へ行く
(ステップ605)。
(5) The microprogram starts wait state processing. The wait state processing microprogram tests whether the PIP is running in IE mode, and if the PIP is running in IE mode, tests whether the wait control flag in SD is on.
In this case, the PIP is assumed to be traveling in the IE mode. If the wait control flag in SD is on, the procedure goes to step 606, and if not, the procedure goes to step 610 (step 605).

【0059】(6)ステップ605のテストでSD内の
ウェイト制御フラグがオンであった場合、ウェイト状態
処理マイクロプログラムは、完了型の割込み要因がある
か否かをテストしながらウェイトループ状態に入る。そ
の後、ウェイト状態処理マイクロプログラムは、テスト
の結果完了型の割込み要因であるI/O割込み要因の存
在を検出すると、その完了型の割込み要因を受け付ける
ためにEOPを発行してウェイト状態を解除する(ステ
ップ606)。
(6) If the wait control flag in SD is ON in the test of step 605, the wait state processing microprogram enters the wait loop state while testing whether there is a completion type interrupt factor. . After that, when the wait state processing microprogram detects the presence of an I / O interrupt factor which is a completion type interrupt factor as a result of the test, it issues an EOP to accept the completion type interrupt factor and cancels the wait state. (Step 606).

【0060】(7)PIPは、ステップ606でEOP
が発行されたことを受けて、存在しているI/O割込み
処理を起動する。ここでのI/O割込み処理は、ゲスト
現PSWをゲストOSのPSA内の旧PSW領域にスト
アし、さらに関連するI/O割込みパラメータをゲスト
OSのPSA内の所定の領域にストアし、ゲストOSの
PSA内の新PSW領域のデータをゲスト現PSWにロ
ードする処理である。前述の処理は、I/O割込み処理
マイクロプログラムで行われ、このPSWの入替えによ
って、PIPは、ウェイト状態からオペレーティング状
態に入る。従って、PIPの処理状態はステップ603
に戻ることになる(ステップ607)。
(7) PIP performs EOP at step 606.
Is issued, the existing I / O interrupt process is started. In the I / O interrupt processing here, the guest current PSW is stored in the old PSW area in the PSA of the guest OS, and the related I / O interrupt parameters are stored in a predetermined area in the PSA of the guest OS, and the guest This is a process of loading the data of the new PSW area in the PSA of the OS into the guest current PSW. The above-mentioned processing is performed by the I / O interrupt processing microprogram, and the PIP is switched from the wait state to the operating state by the replacement of the PSW. Therefore, the PIP processing status is step 603.
(Step 607).

【0061】(8)ステップ605のテストでSD内の
ウェイト制御フラグがオフであった場合、ウェイト状態
処理マイクロプログラムは、ウェイト状態インターセプ
ション処理を行い、制御をVMCPに渡す。ウェイト状
態インターセプション処理により、IEモードで動作し
ていた現在までのレジスタ類がSDにストアされ、IE
モードをオフとした後、SIE命令の次の命令から実行
が開始される(ステップ610)。
(8) If the wait control flag in the SD is off in the test of step 605, the wait state processing microprogram performs wait state interception processing and passes control to VMCP. Due to the wait state interception process, the registers that have been operating in IE mode up to the present are stored in SD, and IE
After turning off the mode, execution begins at the instruction following the SIE instruction (step 610).

【0062】(9)VMCPは、ウェイト状態インター
セプションによって、制御を渡されると、次にディスパ
ッチすべき1つのVM、すなわち、1つのゲストOSを
複数のVM群の中から選択する。その後、ステップ60
1と同様の手順で他のゲストOSをSIE命令を用いて
起動する。他のゲストOSを実行中に、ウェイト状態イ
ンターセプションを起したゲストOSに対するI/O割
込み要因が発生すると、次のステップ612へ行く(ス
テップ611)。
(9) When the control is passed by the wait state interception, the VMCP selects one VM to be dispatched next, that is, one guest OS from a plurality of VM groups. Then step 60
The other guest OS is booted by using the SIE command in the same procedure as 1. If an I / O interrupt factor for the guest OS that caused wait state interception occurs while another guest OS is being executed, the process proceeds to the next step 612 (step 611).

【0063】(10)PIPは、ステップ611でのウェ
イト状態インターセプションを起したゲストOSに対す
るI/O割込み要因の発生を受けて、I/O割込み処理
を起動する。ここでのI/O割込み処理は、ホスト現P
SWをVMCPのPSA内の旧PSW領域にストアし、
さらに関連するI/O割込みパラメータをVMCPのP
SA内の所定の領域にストアし、VMCPのPSA内の
新PSW領域のデータをゲスト現PSWにロードする処
理である。前述の処理は、I/O割込み処理マイクロプ
ログラムにより行われ、このPSWの入替えによって、
PIPは、ウェイト状態インターセプションを起したゲ
ストOSに対するI/O割込み処理を起動する(ステッ
プ612)。
(10) The PIP activates the I / O interrupt process in response to the generation of the I / O interrupt factor for the guest OS that caused the wait state interception in step 611. The I / O interrupt processing here is performed by the host current P
Store SW in the old PSW area in PSA of VMCP,
Further related I / O interrupt parameters are VMCP's P
This is a process of storing in a predetermined area in the SA and loading the data of the new PSW area in the PSA of the VMCP into the guest current PSW. The above-mentioned processing is performed by the I / O interrupt processing microprogram, and by replacing this PSW,
The PIP activates the I / O interrupt process for the guest OS that caused the wait state interception (step 612).

【0064】(11)VMCPは、ステップ612で受け
付けたウェイト状態インターセプションを起したゲスト
OSに対するI/O割込みをそのゲストOSに渡すた
め、I/O割込みシミュレーション処理を行う。このI
/O割込みシミュレーション処理では、そのゲストOS
に対応するSD内のゲスト現PSWをゲストOSのPS
A内の旧PSW領域にストアし、さらに関連するI/O
割込みパラメータをゲストOSのPSA内の所定の領域
にストアし、ゲストOSのPSA内の新PSW領域のデ
ータをSD内のPSW領域にストアする処理が行われ
る。その後、ステップ601からの処理を繰り返す(ス
テップ613)。
(11) The VMCP performs an I / O interrupt simulation process in order to pass the I / O interrupt for the guest OS that has caused the wait state interception received in step 612 to the guest OS. This I
In the I / O interrupt simulation process, the guest OS
Guest current PSW in SD corresponding to
Stored in the old PSW area in A and related I / O
A process of storing the interrupt parameter in a predetermined area in the PSA of the guest OS and storing the data of the new PSW area in the PSA of the guest OS in the PSW area in SD is performed. Then, the processing from step 601 is repeated (step 613).

【0065】前述したように、従来技術におけるウェイ
ト状態制御は、SIE命令のSD内にウェイト制御フラ
グを設け、該フラグがオンであるか否かをテストし、オ
ンであればIEモードのままでウェイトループ状態に入
り、オフであればウェイト状態インターセプションを起
しIEモードをぬけてVMCPに制御を渡すように行わ
れている。この場合、SD内のウェイト制御フラグをオ
ンまたはオフにする制御は、ポペレータがVMCPのコ
ンソール装置から投入するコマンドに依って行われてい
た。
As described above, in the conventional wait state control, the wait control flag is provided in the SD of the SIE instruction, and it is tested whether the flag is on. If it is on, the IE mode remains as it is. If the wait loop state is entered and if it is off, a wait state interception is caused to exit the IE mode and control is passed to the VMCP. In this case, the control for turning on or off the wait control flag in the SD is performed by a command that the populator inputs from the console device of the VMCP.

【0066】SD内のウェイト制御フラグをオンとする
ケースは、I/O割込みの発生回数が多いアプリケーシ
ョンプログラムが走行する場合であり、例えば、タイム
シェアリングシステムのように、多くの端末装置に対し
て速やかな応答を要する場合に指定される。この場合、
ゲストOSに直接I/O割込みが入るため、入出力装置
への応答性が良いという長所を有するが、反面、IEモ
ードのままでウェイトループ状態に入るため、ハードウ
ェア資源に無駄が生ずるという短所を有することにな
る。
The case where the wait control flag in the SD is turned on is a case where an application program having a large number of I / O interrupts is run, and for many terminal devices such as a time sharing system. It is specified when quick response is required. in this case,
Since an I / O interrupt is directly input to the guest OS, it has an advantage that the responsiveness to the I / O device is good, but on the other hand, it is in a wait loop state in the IE mode, which causes a waste of hardware resources. Will have.

【0067】SD内のウェイト制御フラグをオフとする
ケースは、I/O割込みの発生回数が少なくCPUの走
行時間多いアプリケーションプログラムが走行する場合
であり、例えば、科学技術計算のバッチ処理のように、
限られた入出力装置に対して速やかな応答を要しない場
合に指定される。この場合、IEモードのままでウェイ
トループ状態に入らないため、ハードウェア資源に無駄
が生じないという長所を有するが、反面、ゲストOSに
直接I/O割込みが入らないため、入出力装置への応答
性が悪いという短所を有することになる。
The case where the wait control flag in SD is turned off is a case where an application program with a small number of I / O interrupts and a long CPU running time runs, for example, as in batch processing for scientific and technological calculations. ,
It is specified when a prompt response is not required for a limited number of I / O devices. In this case, there is an advantage in that the hardware resources are not wasted because the wait loop state is not entered in the IE mode, but on the other hand, the I / O interrupt is not directly input to the guest OS, and the input / output device is not input. It has the disadvantage of poor responsiveness.

【0068】[0068]

【発明が解決しようとする課題】前述した従来技術は、
ウェイト制御フラグをオンまたはオフとする制御が、オ
ペレータがVMCPのコンソール装置から投入するコマ
ンドによって行われており、静的な値の変更しか行うこ
とができないものである。また、前述の従来技術は、S
D内のウェイト制御フラグをオンとするケースにおい
て、入出力装置への応答性が良いという長所を有する反
面ハードウェア資源に無駄が生ずるという短所を有して
おり、さらに、SD内のウェイト制御フラグをオフとす
るケースにおいて、ハードウェア資源に無駄が生じない
という長所を有する反面システムの入出力装置に対する
応答性が悪いという短所を有している。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
The control for turning on or off the weight control flag is performed by a command input from the console device of the VMCP by the operator, and only static value change can be performed. In addition, the above-mentioned conventional technique is
In the case where the wait control flag in D is turned on, it has the advantage that the response to the input / output device is good, but it has the disadvantage that the hardware resources are wasted. In the case where the switch is turned off, there is an advantage that the hardware resources are not wasted, but there is a disadvantage that the responsiveness to the input / output device of the system is poor.

【0069】このため、前述した従来技術は、I/O割
込みの発生回数が多いアプリケーションプログラムと、
I/O割込みの発生回数が少なくCPUの走行時間多い
アプリケーションプログラムとが同時に走行するような
システム、または、前述の2種類のアプリケーションプ
ログラムが時系列的に走行し、その走行時間が変動する
ようなシステムの場合、前述した短所を必然的に生じさ
せることになり、システムのオーバヘッドとして顕在化
し、これらのオーバヘッドが仮想計算機システムの性能
を低下させてしまうという問題点を有している。
For this reason, the above-mentioned conventional technique is characterized by an application program in which a large number of I / O interrupts occur.
A system in which an I / O interrupt is generated less frequently and an application program with a longer CPU running time runs at the same time, or the two types of application programs described above run in time series and the running time fluctuates. In the case of a system, the above-mentioned disadvantages are inevitably brought about, and they become apparent as system overheads, and these overheads have the problem of degrading the performance of the virtual computer system.

【0070】本発明の目的は、前記従来技術の問題点を
解決し、前述した必然的に生ずる短所の顕在化を防止
し、この短所によるシステムのオーバヘッドを除去し
て、仮想計算機システムの性能を向上させることのでき
る仮想計算機システムのウェイト状態制御方式を提供す
ることにある。
The object of the present invention is to solve the above-mentioned problems of the prior art, prevent the occurrence of the above-mentioned inevitable disadvantages, eliminate the system overhead due to this disadvantage, and improve the performance of the virtual computer system. It is to provide a wait state control method for a virtual computer system that can be improved.

【0071】[0071]

【課題を解決するための手段】本発明によれば前記目的
は、VMCPがゲストOSを起動するに当たり、一定時
間を単位として起動しようとしているゲストOSのウェ
イト状態時間及びI/O割込み回数をパラメータとし
て、VMCPがSD内のウェイト制御フラグのオンまた
はオフを動的に設定するようにすることにより達成され
る。
According to the present invention, the object is to set the wait state time and the number of I / O interrupts of the guest OS to be started in a unit of a fixed time when the VMCP starts the guest OS. As a result, VMCP dynamically sets ON or OFF of the wait control flag in SD.

【0072】すなわち、前記目的は、個々のVM上のゲ
ストOSに対するIEモードの時間、IEモードでのウ
ェイト状態時間及びI/O割込み回数を計測する機能を
付加し、この計測した時間群をパラメータとして、VM
CPがSIE命令を発行する都度、それに付随してイニ
シャライズされるSD内のウェイト制御フラグの値をオ
ンまたはオフに動的に設定をようにすることにより達成
される。
That is, the purpose is to add a function of measuring the time in the IE mode, the wait state time in the IE mode and the number of I / O interrupts for the guest OS on each VM, and the measured time group is used as a parameter. As a VM
This is accomplished by dynamically setting the value of the wait control flag in SD, which is accompanied with it, to ON or OFF each time the CP issues an SIE instruction.

【0073】[0073]

【作用】本発明による仮想計算機システムのウェイト状
態制御方式は、VM上のゲストOSを起動するSIE命
令のオペランドであるSD内に、IEモード時間計測エ
ントリ、ウェイト状態時間計測エントリ及びI/O割込
み回数計測エントリを設けられている。そして、SIE
命令の入り口処理の中で、入り口処理マイクロプログラ
ムは、これらの計測エントリ群をイニシャライズしてか
らIEモードに入り、ゲストOSの実行を開始する。
According to the wait state control method of the virtual computer system according to the present invention, the IE mode time measurement entry, the wait state time measurement entry, and the I / O interrupt are stored in SD, which is the operand of the SIE instruction for activating the guest OS on the VM. A count measurement entry is provided. And SIE
During the instruction entry processing, the entry processing microprogram initializes these measurement entry groups and then enters the IE mode to start the execution of the guest OS.

【0074】その後、ゲストOSがウェイト状態に入っ
た時点で、ウェイト状態処理マイクロプログラムは、ウ
ェイト状態時間の計測を開始し、ウェイト状態から出る
時点でウェイト状態時間の計測を停止し、計測したウェ
イト状態時間をSD内のウェイト状態時間計測エントリ
に累積する。同様に、ゲストOSがI/O割込みを受け
付けた時点で、I/O割込み処理マイクロプログラム
は、SD内のI/O割込み回数計測エントリをカウント
アップする。さらに、SIE命令の出口処理の中で、出
口処理マイクロプログラムは、IEモード時間計測エン
トリにIEモード時間を累積する。
After that, when the guest OS enters the wait state, the wait state processing microprogram starts measuring the wait state time, and when exiting the wait state, stops measuring the wait state time and waits for the measured wait time. The state time is accumulated in the wait state time measurement entry in SD. Similarly, when the guest OS receives the I / O interrupt, the I / O interrupt processing microprogram counts up the I / O interrupt count measurement entry in the SD. Further, in the exit processing of the SIE instruction, the exit processing microprogram accumulates the IE mode time in the IE mode time measurement entry.

【0075】本発明は、前述したような手順で得られた
IEモード時間計測エントリ、ウェイト状態時間計測エ
ントリ及びI/O割込み回数計測エントリの内容を用い
て、VMCPがSIE命令を発行する都度、SIE命令
のSD内のウェイト制御フラグの値をオンまたはオフに
動的に設定することができ、その結果、静的ウェイト状
態制御において必然的に生じる短所の顕在化を防止し、
この短所が原因で生ずるシステムのオーバヘッドを除去
することができるので、仮想計算機システム性能の大幅
な向上を図ることができる。
The present invention uses the contents of the IE mode time measurement entry, wait state time measurement entry, and I / O interrupt count measurement entry obtained by the above-described procedure, each time the VMCP issues an SIE instruction, The value of the wait control flag in the SD of the SIE instruction can be dynamically set to on or off, and as a result, it is possible to prevent the inconvenience of the inevitable occurrence in the static wait state control.
Since the system overhead caused by this disadvantage can be eliminated, the performance of the virtual computer system can be greatly improved.

【0076】[0076]

【実施例】以下、本発明による仮想計算機システムのウ
ェイト状態制御方式の一実施例を図面により詳細に説明
する。なお、本発明が適用される仮想計算機システム
は、図6により説明したと同一の構成を有しており、ま
た、そのプログラム構成は、図7により説明したと同一
である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a wait state control system for a virtual computer system according to the present invention will be described in detail below with reference to the drawings. The virtual computer system to which the present invention is applied has the same configuration as described with reference to FIG. 6, and its program configuration is the same as that described with reference to FIG.

【0077】図1〜図4は本発明による仮想計算機シス
テムのウェイト状態制御方式を実現するマイクロプログ
ラムの処理動作を説明するフローチャートであり、図1
はSIE命令の入り口処理(以下、IEエントリ処理と
いう)の処理動作を説明するフローチャート、図2はP
SWのウェイト状態ビットが“1”にセットされ、ウェ
イト状態ブレイクインが生成された場合の処理動作を説
明するフローチャート、図3はゲストOSに対してI/
O割込みが生成された場合の処理動作を説明するフロー
チャート、図4はSIE命令の出口処理(以下、IE出
口処理という)の処理動作を説明するフローチャートで
ある。また、図5は本発明の一実施例によるVMCPの
処理動作を説明するフローチャートである。
FIGS. 1 to 4 are flowcharts for explaining the processing operation of the microprogram for realizing the wait state control method of the virtual computer system according to the present invention.
Is a flow chart for explaining the processing operation of the entry processing of the SIE instruction (hereinafter referred to as IE entry processing), and FIG.
FIG. 3 is a flowchart for explaining the processing operation when the wait state bit of SW is set to “1” and a wait state breakin is generated.
FIG. 4 is a flowchart for explaining the processing operation when the O interrupt is generated, and FIG. 4 is a flowchart for explaining the processing operation of the exit processing of the SIE instruction (hereinafter referred to as IE exit processing). FIG. 5 is a flow chart for explaining the processing operation of VMCP according to the embodiment of the present invention.

【0078】まず、図1に示すフローを参照して、SI
E命令の入り口処理(以下、IEエントリ処理という)
を行うマイクロプログラムの処理動作を説明する。
First, referring to the flow shown in FIG.
E instruction entry processing (hereinafter referred to as IE entry processing)
The processing operation of the microprogram for performing will be described.

【0079】(1)SIE命令が発行されると、そのS
IE命令の実行の一部としてIEエントリ処理が実行さ
れる。ここで行われる処理は、本発明の特徴的な処理で
あり、SD内に設定されているIE時間計測エントリ、
ウェイト時間計測エントリ及びI/O割込み回数計測エ
ントリをゼロにイニシャライズする処理である。これら
の計測エントリは、後述する各処理ステップで使用され
る(ステップ711)。
(1) When the SIE instruction is issued, its S
IE entry processing is performed as part of the execution of the IE instruction. The processing performed here is a characteristic processing of the present invention, and the IE time measurement entry set in the SD,
This is a process of initializing the wait time measurement entry and the I / O interrupt count measurement entry to zero. These measurement entries are used in each processing step described later (step 711).

【0080】(2)前述のイニシャライズ処理の終了
後、従来技術の場合のIEエントリ処理と同様のマイク
ロプログラム処理を実行する。この処理は、例えば、各
種の有効性チェック、SDにより指定されたゲスト実行
用パラメータのゲスト用ハードウェアレジスタへのロー
ド及びIEモードへの処理モードの切り替え等の処理で
ある。最後にEOPを発行してゲストOSを起動する。
(2) After completion of the above-mentioned initialization processing, the microprogram processing similar to the IE entry processing in the case of the conventional technique is executed. This processing is, for example, various validity checks, loading of guest execution parameters specified by SD into the guest hardware register, and switching of the processing mode to the IE mode. Finally, the EOP is issued to start the guest OS.

【0081】次に、図2に示すフローを参照して、PS
Wのウェイト状態ビットが“1”にセットされ、ウェイ
ト状態ブレイクインが生成された場合のマイクロプログ
ラムの処理動作を説明する。
Next, referring to the flow shown in FIG.
The processing operation of the microprogram when the wait state bit of W is set to "1" and the wait state breakin is generated will be described.

【0082】(1)PSWのウェイト状態フラグが
“1”にセットされると、PIPは、ハードウェア論理
によるマイクロプログラムブレイクインを起し、ウェイ
ト状態処理マイクロプログラムを起動する。そして、P
IPがIEモードで動作しているか否かがテストされ
る。そして、PIPがIEモードで動作していなければ
ステップ724へ行き、IEモードで動作していればス
テップ722へ行く(ステップ721)。
(1) When the wait state flag of the PSW is set to "1", the PIP causes the microprogram break-in by the hardware logic and activates the wait state processing microprogram. And P
It is tested whether the IP is operating in IE mode. Then, if the PIP is not operating in the IE mode, the process proceeds to step 724, and if it is operating in the IE mode, the process proceeds to step 722 (step 721).

【0083】(2)ステップ721でPIPがIEモー
ドで走行していると判定された場合、ウェイト状態処理
マイクロプログラムは、SD内のウェイト制御フラグが
オンであるか否かをテストする。SD内のウェイト制御
フラグがオンであればステップ723へ行き、そうでな
ければステップ727へ行く(ステップ722)。
(2) If it is determined in step 721 that the PIP is running in the IE mode, the wait state processing microprogram tests whether the wait control flag in SD is on. If the wait control flag in SD is turned on, the procedure proceeds to step 723, and if not, the procedure proceeds to step 727 (step 722).

【0084】(3)ステップ722でウェイト制御フラ
グがオンと判定された場合、すなわち、PIPが、IE
モードでかつSD内のウェイト制御フラグがオンで走行
している場合、ウェイト状態処理マイクロプログラム
は、ウェイト状態時間の計測を開始する(ステップ72
3)。
(3) If it is determined in step 722 that the wait control flag is ON, that is, PIP is IE
If the mode is running and the wait control flag in SD is running, the wait state processing microprogram starts measuring the wait state time (step 72).
3).

【0085】(4)ステップ723の処理終了後、ある
いは、ステップ721のテストでPIPがIEモードで
動作していない場合、ウェイト状態処理マイクロプログ
ラムは、完了型の割込み要因があるか否かをテストし、
完了型の割込み要因が無ければこのテストを繰返し再実
行する。これにより、ウェイトループ状態に入る(ステ
ップ724)。
(4) After the processing of step 723 is completed, or when the PIP is not operating in the IE mode in the test of step 721, the wait state processing microprogram tests whether there is a completion type interrupt factor. Then
If there is no completion type interrupt factor, this test is re-executed repeatedly. As a result, the wait loop state is entered (step 724).

【0086】(5)ステップ724のテストで完了型の
割込み要因がある場合、ウェイト状態処理マイクロプロ
グラムは、PIPがIEモードで動作しているか否かを
テストする。PIPがIEモードで動作していなけれ
ば、ウェイト状態処理マイクロプログラムは、その完了
型の割込み要因を受け付けるためにEOPを発行してウ
ェイト状態処理を完了する(ステップ725)。
(5) If there is a completion type interrupt factor in the test of step 724, the wait state processing microprogram tests whether the PIP is operating in the IE mode. If the PIP is not operating in IE mode, the wait state processing microprogram issues an EOP to accept the completion type interrupt factor and completes the wait state processing (step 725).

【0087】(6)ステップ725のテストでPIPが
IEモードで動作していれば、すなわち、PIPがIE
モードでかつSD内のウェイト制御フラグがオンで走行
している場合、ウェイト状態処理マイクロプログラム
は、ウェイト状態時間の計測を停止し、得られたウェイ
ト状態時間をSD内のウェイト時間計測エントリの内容
に加える。これにより、SD内のウェイト時間計測エン
トリにウェイト状態の経過時間が累積される。その後、
ウェイト状態処理マイクロプログラムは、完了型の割込
み要因を受け付けるため、EOPを発行してウェイト状
態処理を完了する(ステップ726)。
(6) If the PIP is operating in the IE mode in the test of step 725, that is, if the PIP is IE
If the mode is running and the wait control flag in SD is running, the wait state processing microprogram stops measuring the wait state time, and the obtained wait state time is the content of the wait time measurement entry in SD. Add to. As a result, the elapsed time in the wait state is accumulated in the wait time measurement entry in SD. afterwards,
Since the wait state processing microprogram accepts a completion type interrupt factor, it issues an EOP to complete the wait state processing (step 726).

【0088】(7)ステップ722のテストでウェイト
制御フラグがオフと判定された場合、すなわち、PIP
が、IEモードでかつSD内のウェイト制御フラグがオ
フで走行している場合、ウェイト状態処理マイクロプロ
グラムは、ウェイト状態インターセプション処理を行
い、制御をVMCPに渡す。ウェイト状態インターセプ
ション処理では、IEモードで動作していた現在までの
レジスタ類をSDにストアし、IEモードをオフとした
後、SIE命令の次の命令から実行を開始する。このプ
ロセスの詳細は、後述する図4により説明する(ステッ
プ727)。
(7) When the wait control flag is determined to be off in the test of step 722, that is, PIP
However, if the vehicle is running in the IE mode and the wait control flag in SD is off, the wait state processing microprogram performs wait state interception processing and passes control to VMCP. In the wait state interception process, the registers that have been operating in the IE mode up to the present are stored in SD, the IE mode is turned off, and execution is started from the instruction next to the SIE instruction. Details of this process will be described later with reference to FIG. 4 (step 727).

【0089】次に、図3に示すフローを参照して、ゲス
トOSに対してI/O割込みが生成された場合のマイク
ロプログラムの処理動作を説明する。
Next, the processing operation of the microprogram when an I / O interrupt is generated for the guest OS will be described with reference to the flow shown in FIG.

【0090】(1)ゲストOSに対してI/O割込みが
生成されると、PIPは、ハードウェア論理によるマイ
クロプログラムブレイクインを起し、ゲストOSに対す
るI/O割込み処理マイクロプログラムを起動する。そ
して、PIPは、IEモードで動作していて、かつ、現
在ディスパッチされているVMに対するI/O割込みで
あるか否かをテストする。現在ディスパッチされている
VMに対するI/O割込みでなければステップ734へ
行き、現在ディスパッチされているVMに対するI/O
割込みであればステップ732へ行く(ステップ73
1)。
(1) When an I / O interrupt is generated for the guest OS, the PIP initiates a microprogram break-in by hardware logic and activates an I / O interrupt processing microprogram for the guest OS. Then, the PIP is operating in the IE mode and tests whether it is an I / O interrupt for the VM currently being dispatched. If it is not an I / O interrupt for the currently dispatched VM, go to step 734 and execute I / O for the currently dispatched VM.
If it is an interrupt, go to step 732 (step 73).
1).

【0091】(2)ステップ731のテストで現在ディ
スパッチされているVMに対するI/O割込みであった
場合、I/O割込み処理マイクロプログラムは、SD内
のI/O割込み回数計測エントリに“1”を加えてこの
エントリをカウントアップする(ステップ732)。
(2) If the I / O interrupt for the VM currently dispatched in the test in step 731 is an I / O interrupt processing microprogram, the I / O interrupt count measurement entry in the SD stores "1". Is added to count up this entry (step 732).

【0092】(3)I/O割込み処理マイクロプログラ
ムは、ゲストOSに対するI/O割込み処理を直接実行
する。ここでのI/O割込み処理は、ゲスト現PSWを
ゲストOSのPSA内の旧PSW領域にストアし、さら
に、関連するI/O割込みパラメータをゲストOSのP
SA内の所定の領域にストアし、ゲストOSのPSA内
の新PSW領域のデータをゲスト現PSWにロードする
処理である。その後、EOPを発行してゲストOSのI
/O割込みハンドラを起動する(ステップ733)。
(3) I / O interrupt processing The microprogram directly executes I / O interrupt processing for the guest OS. In the I / O interrupt processing here, the guest current PSW is stored in the old PSW area in the PSA of the guest OS, and the related I / O interrupt parameters are stored in the guest OS PSW.
This is a process of storing in a predetermined area in the SA and loading the data of the new PSW area in the PSA of the guest OS into the guest current PSW. After that, EOP is issued and the guest OS I
The / O interrupt handler is activated (step 733).

【0093】(4)ステップ731のテストで現在ディ
スパッチされているVMに対するI/O割込みでなかっ
た場合、I/O割込み処理マイクロプログラムは、IE
出口処理を行う。IE出口処理は、IEモードで動作し
ていた現在までのレジスタ類をSDにストアし、IEモ
ードをオフとする。IE出口処理については、後述の図
4により詳細に説明する(ステップ734)。
(4) If the test in step 731 was not an I / O interrupt for the VM currently dispatched, the I / O interrupt processing microprogram determines
Perform exit processing. In the IE exit processing, the registers that have been operating in the IE mode up to the present are stored in SD, and the IE mode is turned off. The IE exit process will be described in detail later with reference to FIG. 4 (step 734).

【0094】(5)PIPは、I/O割込み処理を起動
する。ここでのI/O割込み処理は、ホスト現PSWを
VMCPのPSA内の旧PSW領域にストアし、さらに
関連するI/O割込みパラメータをVMCPのPSA内
の所定の領域にストアし、VMCPのPSA内の新PS
W領域のデータをゲスト現PSWにロードする処理であ
る。前述の処理は、I/O割込み処理マイクロプログラ
ムで行われ、このPSWの入替えによって、VMCPの
I/O割込みハンドラが起動される。
(5) The PIP activates I / O interrupt processing. The I / O interrupt processing here stores the host current PSW in the old PSW area in the VMCP PSA, and further stores the related I / O interrupt parameters in a predetermined area in the VMCP PSA, and then stores the VMCP PSA. New PS in
This is a process of loading the data in the W area into the guest present PSW. The above-described processing is performed by the I / O interrupt processing microprogram, and the I / O interrupt handler of the VMCP is activated by this PSW replacement.

【0095】次に、図4に示すフローを参照して、SI
E命令の出口処理(以下、IE出口処理という)のマイ
クロプログラム処理動作を説明する。
Next, referring to the flow shown in FIG. 4, SI
The microprogram processing operation of E instruction exit processing (hereinafter referred to as IE exit processing) will be described.

【0096】(1)IEモード中に、インターセプショ
ンまたはホスト割込みが発生すると、SIE命令の実行
の一部としてIE出口処理が実行される。ここで行われ
る処理は、本発明の特徴的な処理であり、SD内に設定
されているIE時間計測エントリにその時点まで計測し
たIEモード時間を累積し、また、ゲストのウェイト状
態からエントリして来た場合には、SD内のウェイト時
間計測エントリにウェイト状態の経過時間を累積する処
理である。ゲストのウェイト状態からエントリしてきた
場合でないときは、SD内のウェイト時間計測エントリ
にウェイト状態の経過時間が累積されない。SD内のI
/O割込み回数計測エントリは、すでに更新されている
ので、このステップでは更新の処理を行わない(ステッ
プ741)。
(1) When an interception or a host interrupt occurs in the IE mode, the IE exit process is executed as a part of the execution of the SIE instruction. The processing performed here is a characteristic processing of the present invention. The IE mode time measured up to that point is accumulated in the IE time measurement entry set in the SD, and the guest wait state is entered. When it comes, it is a process of accumulating the elapsed time of the wait state in the wait time measurement entry in SD. When the entry is not made from the wait state of the guest, the wait time elapsed time is not accumulated in the wait time measurement entry in the SD. I in SD
Since the / O interrupt count measurement entry has already been updated, update processing is not performed in this step (step 741).

【0097】(2)IEモードで動作していた現在まで
のレジスタ類をSDにストアし、ホスト実行用パラメー
タをホスト用ハードウェアレジスタへロードし、その
後、IEモードをオフとする(ステップ742)。
(2) The registers up to the present time, which have been operating in the IE mode, are stored in SD, the host execution parameters are loaded into the host hardware register, and then the IE mode is turned off (step 742). .

【0098】前述した図1〜図4のフローによるマイク
ロプログラムの処理手順を実行することにより、SIE
命令のSD内に設定されているIE時間計測エントリ、
ウェイト時間計測エントリ及びI/O割込み回数計測エ
ントリの各エントリがそれぞれ計測される。
By executing the processing procedure of the microprogram according to the flow of FIGS. 1 to 4 described above, the SIE
IE time measurement entry set in SD of instruction,
Each of the wait time measurement entry and the I / O interrupt count measurement entry is measured.

【0099】次に、図5に示すフローを参照して、本発
明の一実施例によるウェイト状態制御の動作を説明す
る。本発明の一実施例によるウェイト状態制御は、図1
1により従来技術として説明したステップ601におい
て説明した、VMCPが、ゲストOSを起動する準備と
してSIE命令のオペランドであるSDを所定のように
イニシャライズする過程に対し、以下に説明する処理ス
テップを追加したものである。なお、ここでは、VMC
PがSIEを発行する都度、付随してイニシャライズさ
れるSD内のウェイト制御フラグの値をオンまたはオフ
に動的に設定する制御方法について説明する。
Next, the operation of the wait state control according to the embodiment of the present invention will be described with reference to the flow shown in FIG. The wait state control according to the embodiment of the present invention is shown in FIG.
The process step described below has been added to the process described in step 601 described as the related art in 1 in which the VMCP initializes SD, which is the operand of the SIE instruction, in a predetermined manner in preparation for starting the guest OS. It is a thing. In addition, here, VMC
A control method for dynamically setting the value of the wait control flag in the SD that is additionally initialized to ON or OFF each time P issues an SIE will be described.

【0100】(1)まず、VMCPは、SIE命令のS
D内のウェイト制御フラグの設定モードが、自動設定モ
ードであるか否かをテストする。自動設定モードであれ
ばステップ820へ行き、自動設定モードで無ければス
テップ850へ行く。ここで、SD内のウェイト制御フ
ラグの自動設定モードとは、本発明の特徴的なモードで
あり、VMCPがVMの走行状態を監視してSD内のウ
ェイト制御フラグのオンまたはオフをオペレータの介入
無しに設定するモードである。また、SD内のウェイト
制御フラグが自動設定モードで無いモードは、外部から
指定されているウェイト状態制御フラグの値をSD内に
そのまま設定するモードであり、マニュアル設定モード
と言う。マニュアル設定モードは、従来技術の場合と同
様の機能を有する(ステップ810)。
(1) First, the VMCP is the S of the SIE instruction.
It is tested whether the setting mode of the wait control flag in D is the automatic setting mode. If it is the automatic setting mode, go to step 820. If it is not the automatic setting mode, go to step 850. Here, the automatic setting mode of the weight control flag in the SD is a characteristic mode of the present invention, in which the VMCP monitors the running state of the VM to turn on or off the weight control flag in the SD by an operator intervention. This mode is set to None. A mode in which the wait control flag in SD is not the automatic setting mode is a mode in which the value of the wait state control flag designated from the outside is set in SD as it is, and is called a manual setting mode. The manual setting mode has the same function as in the conventional technique (step 810).

【0101】(2)ステップ810のテストでSD内の
ウェイト制御フラグの設定モードが自動設定モードであ
った場合、VMCPは、これからディスパッチしようと
するVMに対応する現在までのIEモード時間の単位時
間(以下、IETIMEという)を、VMCPが管理す
るテーブルから取り出す。IETIMEとは、任意の実
時間間隔の間のIEモード時間を示す。次に、VMCP
は、そのVMに対応する現在までのIEモードでのウェ
イト時間の単位時間(以下、IEWAITIMEとい
う)を、VMCPが管理するテーブルから取り出す。I
EWAITIMEとは、任意の実時間間隔の間のウェイ
ト時間を示す。さらに、VMCPは、そのVMに対応す
る現在までのIEモードにおけるI/O割込み回数の単
位回数(以下、IEIOICNTという)を、VMCP
が管理するテーブルから取り出す。IEIOICNTと
は、任意の実時間間隔の間のI/O割込み回数を示す。
前述のIETIME、IEWAITIME及びIEIO
ICNTは、全て、図1〜図4により説明したマイクロ
プログラム処理手順によって得られたパラメータ群から
VMCPによって作成される。任意の実時間間隔は、全
て同一のタイミング及び間隔を持って設定される(ステ
ップ820)。
(2) If the setting mode of the wait control flag in SD is the automatic setting mode in the test of step 810, VMCP indicates the unit time of the IE mode time until now corresponding to the VM to be dispatched. (Hereinafter referred to as IETIME) is taken out from the table managed by VMCP. IETIME refers to IE mode time during any real time interval. Next, VMCP
Retrieves the unit time of the wait time in the IE mode up to the present (hereinafter referred to as IEWAITTIME) corresponding to the VM from the table managed by the VMCP. I
EWAITIME indicates a wait time between arbitrary real time intervals. Furthermore, the VMCP indicates the unit number of I / O interrupts in the IE mode up to the present (hereinafter, referred to as IEIOCNT) corresponding to the VM as VMCP.
Retrieved from the table managed by. IEIOCNT indicates the number of I / O interrupts during an arbitrary real time interval.
The aforementioned IETIME, IEWAITIME and IEIO
All ICNTs are created by VMCP from the parameter group obtained by the microprogram processing procedure described with reference to FIGS. The arbitrary real time intervals are all set with the same timing and interval (step 820).

【0102】(3)VMCPは、IEWAITIMEに
100を乗じ、その積をIETIMEで除する。そし
て、結果の商(以下、WAITRATEという)と、予
めシステム内に設定されているウェイト率のしきい値
(以下、WAITLMTという)とを比較する。WAI
TRATEがWAITLMTより大きい場合ステップ8
40に行く。WAITRATEがWAITLMTに等し
いか小さい場合ステップ870に行く(ステップ83
0)。
(3) VMCP multiplies IEWAITTIME by 100 and divides the product by IETIME. Then, the resultant quotient (hereinafter referred to as WAITRATE) is compared with the threshold value of the weight ratio (hereinafter referred to as WAITLMT) set in the system in advance. WAI
If RATE is greater than WAITLMT Step 8
Go to 40. If WAITRATE is less than or equal to WAITLMT, go to step 870 (step 83).
0).

【0103】(4)VMCPは、IEWAITIMEを
IEIOICNTで除する。そして、結果の商(以下、
IOIRATEという)と、予めシステム内に設定され
ているI/O割込み発生率しきい値(以下、IOILM
Tという)とを比較する。IOIRATEがIOILM
Tより小さい場合ステップ860に行く。IOIRAT
EがIOILMTに等しいか大きい場合ステップ870
に行く(ステップ840)。
(4) VMCP divides IEWAITTIME by IEIOCNT. And the resulting quotient (below,
IOIRATE) and an I / O interrupt rate threshold value (hereinafter referred to as IOILM) preset in the system.
(T). IOIRATE is IOILM
If smaller than T, go to step 860. IOIRAT
If E is greater than or equal to IOILMT, step 870.
(Step 840).

【0104】(5)ステップ810のデストでSD内の
ウェイト制御フラグの設定モードが、自動設定モードで
無い場合、すなわち、SD内のウェイト制御フラグがマ
ニュアル設定モードの場合、VMCPは、外部から指定
されているウェイト状態制御フラグの値をSD内のウェ
イト制御フラグにそのまま設定するため、外部から指定
されているウェイト状態制御フラグの値がオンか否かの
テストを行い、ウェイト状態制御フラグの値がオンのと
きステップ860に行き、ウェイト状態制御フラグの値
がオフの時ステップ870に行く(ステップ850)。
(5) If the setting mode of the wait control flag in SD is not the automatic setting mode in the step 810 of the destination, that is, if the wait control flag in SD is the manual setting mode, VMCP is designated from the outside. In order to set the value of the wait state control flag that has been set to the wait control flag in the SD as it is, the value of the wait state control flag is tested by testing whether the value of the wait state control flag specified from the outside is on. When is ON, the process goes to step 860, and when the value of the wait state control flag is OFF, the process goes to step 870 (step 850).

【0105】(6)ステップ830、840で、WAI
TRATEがWAITLMTより大きく、かつ、IOI
RATEがIOILMTより小さい場合、及び、ステッ
プ850で外部から指定されているウェイト状態制御フ
ラグの値がオンの場合、VMCPは、SD内のウェイト
制御フラグを“1”にセットする(ステップ860)。
(6) In steps 830 and 840, the WAI
RATE is greater than WAITLMT and IOI
If RATE is smaller than IOILMT, and if the value of the wait state control flag designated externally in step 850 is ON, the VMCP sets the wait control flag in SD to "1" (step 860).

【0106】(7)ステップ830、840で、WAI
TRATEがWAITLMTに等しいか小さい場合、あ
るいは、IOIRATEがIOILMTに等しいか大き
い場合、及び、ステップ850で外部から指定されてい
るウェイト状態制御フラグの値がオフの場合、VMCP
は、SD内のウェイト制御フラグを“0”にセットする
(ステップ870)。
(7) In steps 830 and 840, the WAI
If RATE is equal to or less than WAITLMT, or if IOREATE is equal to or greater than IOILMT, and if the value of the wait state control flag externally specified in step 850 is OFF, VMCP
Sets the wait control flag in SD to "0" (step 870).

【0107】(8)ステップ860、870の処理終了
後、VMCPは、ステップ810からステップ870の
処理によりイニシャライズされたSIE命令のSDをオ
ペランドとしてSIE命令を発行し、VM上のゲストO
Sを起動する。これにより、その後、VM上でゲストO
Sが走行する(ステップ880)。
(8) After the processing of steps 860 and 870 is completed, the VMCP issues the SIE instruction with the SD of the SIE instruction initialized by the processing of steps 810 to 870 as an operand, and the guest O on the VM.
Start S. With this, after that, guest O on VM
S runs (step 880).

【0108】前述したウェイト制御フラグ自動設定モー
ド時の処理において、WAITRATEがWAITLM
Tより大きく、かつ、IOIRATEがIOILMTよ
り小さい場合に、SD内のウェイト制御フラグを“1”
にセットするとして説明したが、本発明は、WAITR
ATEがWAITLMTより大きい場合、あるいは、I
OIRATEがIOILMTより小さい場合の何れか一
方の条件が成立したときに、SD内のウェイト制御フラ
グを“1”にセットするようにしてもよい。
In the processing in the wait control flag automatic setting mode described above, WAITRATE is set to WAITLM.
If it is larger than T and IOIRATE is smaller than IOILMT, the wait control flag in SD is set to "1".
However, the present invention is not limited to the WAITR.
If ATE is greater than WAITLMT, or I
The wait control flag in SD may be set to "1" when either one of the conditions when OIRATE is smaller than IOILMT is satisfied.

【0109】また、前述したSD内のウェイト制御フラ
グを“0”または“1”にセットするするために使用す
るパラメータとしてのIETIME、IEWAITIM
E、IEIOICNTの作成の元となるパラメータの値
は、外部からオペレータが入力する方法によって決定し
てもよく、また、VMCPが内部で一定のアルゴリズム
のもとで作成する方法によって決定してもよく、さら
に、前記の2つの方法を併用する方法によって決定して
もよい。
In addition, IETIME and IEWAITIM as parameters used to set the above-mentioned wait control flag in SD to "0" or "1".
The values of the parameters that are the bases for creating E and IEIOCNT may be determined by a method input by an operator from the outside, or may be determined by a method internally created by VMCP under a certain algorithm. Further, it may be determined by a method in which the above two methods are used in combination.

【0110】前述した本発明の一実施例は、SD内のウ
ェイト制御フラグを“0”または“1”にセットするす
るに当たり、任意の実時間間隔の間のIEモード時間を
示すIETIME、任意の実時間間隔の間のウェイト時
間を示すIEWAITIME、及び、そのVMに対応す
る現在までのIEモードでのI/O割込みの単位回数を
示すIEIOICNTを、その時点でのゲストOSの走
行状態を示すパラメータとして使用し、このパラメータ
の値の関係に基づいて、SD内のウェイト制御フラグに
セットする値を動的に決定することができる。
In the above-described embodiment of the present invention, when the wait control flag in SD is set to "0" or "1", IETIME indicating an IE mode time during an arbitrary real time interval, an arbitrary A parameter indicating the running state of the guest OS at that time, ie, IEWAITTIME indicating the wait time between the real time intervals, and IEIOCNT indicating the unit number of I / O interrupts in the IE mode up to the present corresponding to the VM. The value to be set in the wait control flag in the SD can be dynamically determined based on the relationship between the values of this parameter.

【0111】この結果、本発明の一実施例によれば、静
的な値の変更しか行うことのできない従来技術に比較し
て、SD内のウェイト制御フラグをオンとするケースで
ハードウェア資源に無駄が生ずるという問題点を是正す
ることができ、また、SD内のウェイト制御フラグをオ
フとするケースで入出力装置への応答性が悪いという問
題点を是正することができる。これにより、本発明の一
実施例は、静的ウェイト状態制御において必然的に生じ
る短所の顕在化を防止し、この短所が原因で生ずるシス
テムのオーバヘッドを除去することができ、仮想計算機
システムの大幅な性能の向上を図ることができる。
As a result, according to the embodiment of the present invention, in comparison with the prior art in which only a static value change can be performed, hardware resources are saved in the case where the wait control flag in SD is turned on. It is possible to correct the problem of waste, and to correct the problem of poor response to the input / output device when the wait control flag in the SD is turned off. As a result, one embodiment of the present invention can prevent the inconvenience that naturally occurs in the static wait state control from manifesting itself, and can eliminate the system overhead caused by this inconvenience, thus significantly reducing the size of the virtual computer system. It is possible to improve various performances.

【0112】[0112]

【発明の効果】以上説明したように本発明によれば、V
MCPがSIEを発行する都度VMの走行状態を反映さ
せて、SD内のウェイト制御フラグの値をオンまたはオ
フに動的に設定することができるので、その結果、静的
ウェイト状態制御において必然的に生じる短所の顕在化
を防止して、この短所が原因で生ずるシステムオーバヘ
ッドを除去することができ、仮想計算機システムの性能
を格段に向上させることができる。
As described above, according to the present invention, V
Each time the MCP issues an SIE, the running state of the VM can be reflected and the value of the wait control flag in SD can be dynamically set to on or off. As a result, inevitably in the static wait state control. It is possible to prevent the occurrence of the disadvantages caused by the above, remove the system overhead caused by these disadvantages, and improve the performance of the virtual computer system significantly.

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

【図1】本発明の一実施例によるSIE命令の入り口処
理の処理動作を説明するフローチャートである。
FIG. 1 is a flowchart illustrating a processing operation of entry processing of an SIE instruction according to an embodiment of the present invention.

【図2】本発明の一実施例において、PSWのウェイト
状態ビットが“1”にセットされ、ウェイト状態ブレイ
クインが生成された場合の処理動作を説明するフローチ
ャートである。
FIG. 2 is a flowchart illustrating a processing operation when a wait state bit of PSW is set to “1” and a wait state break-in is generated in the embodiment of the present invention.

【図3】本発明の一実施例におけるゲストOSに対して
I/O割込みが生成された場合の処理動作を説明するフ
ローチャートである。
FIG. 3 is a flowchart illustrating a processing operation when an I / O interrupt is generated for a guest OS according to an embodiment of the present invention.

【図4】本発明によるSIE命令の出口処理の処理動作
を説明するフローチャートである。
FIG. 4 is a flowchart illustrating a processing operation of an exit process of an SIE instruction according to the present invention.

【図5】本発明の一実施例によるVMCPの処理動作を
説明するフローチャートである。
FIG. 5 is a flowchart illustrating a VMCP processing operation according to an embodiment of the present invention.

【図6】本発明が適用される仮想計算機システムの構成
を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of a virtual computer system to which the present invention is applied.

【図7】仮想計算機システムを実現するために使用され
る仮想計算機制御プログラムの構成を説明する図であ
る。
FIG. 7 is a diagram illustrating a configuration of a virtual computer control program used to realize a virtual computer system.

【図8】動作しているゲストOSがオペレーティング状
態からウェイト状態に入った時点でVMCPにインター
セプトさせる場合のVMCP及びゲストOSへの実計算
機資源配分を説明するタイムチャートである。
FIG. 8 is a time chart illustrating allocation of real computer resources to a VMCP and guest OSs when an operating guest OS is intercepted by a VMCP when the operating OS enters a wait state.

【図9】動作しているゲストOSがオペレーティング状
態からウェイト状態に入ってもVMCPにインターセプ
トさせない場合のVMCP及びゲストOSへの実計算機
資源配分を説明するタイムチャートである。
FIG. 9 is a time chart for explaining allocation of real computer resources to VMCP and guest OS when the operating guest OS does not cause VMCP to intercept even if it enters a wait state from the operating state.

【図10】従来技術においてウェイト状態が発生した場
合のPIPの処理動作を説明するフローチャートであ
る。
FIG. 10 is a flowchart illustrating a PIP processing operation when a wait state occurs in the conventional technique.

【図11】従来技術において仮想計算機を起動する場合
のマイクロプログラム制御の動作処理を説明するフロー
チャートである。
FIG. 11 is a flowchart illustrating an operation process of microprogram control when a virtual machine is started up in a conventional technique.

【符号の説明】[Explanation of symbols]

101 主記憶装置(MS) 102、103、210 実CPU 111、220 仮想計算機制御プログラム(VMC
P) 112、113 仮想計算機(PARA) 121、122、131、132 論理CPU 230 ゲストオペレーティングシステム(ゲストO
S)
101 main storage device (MS) 102, 103, 210 real CPU 111, 220 virtual computer control program (VMC)
P) 112, 113 Virtual machine (PARA) 121, 122, 131, 132 Logical CPU 230 Guest operating system (guest O
S)

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1台の中央処理装置と、該中
央処理装置に接続される主記憶装置とを備え、仮想計算
機制御プログラムにより、前記中央処理装置上に複数の
論理中央処理装置を構築して動作させ、前記論理中央処
理装置上で動作するゲストプログラムがオペレーティン
グ状態からウェイト状態に入った場合にゲストプログラ
ムのウェイト状態をそのまま続行させるかあるいは仮想
計算機制御プログラムにインターセプトさせるかを切り
替える機能を有する仮想計算機システムにおいて、ゲス
トプログラムのオペレーティング状態時間とウェイト状
態時間との比率、ゲストプログラムがウェイト状態中に
発生した該ゲストプログラムに対する入出力割込みの回
数の何れか一方または両方をパラメータとして、前記論
理中央処理装置上で動作するゲストプログラムがオペレ
ーティング状態からウェイト状態に入った場合にゲスト
プログラムのウェイト状態をそのまま続行させるかある
いは仮想計算機制御プログラムにインターセプトさせる
かを切り替える機能を動的にオンまたはオフにすること
を特徴とする仮想計算機システムのウェイト状態制御方
式。
1. A plurality of logical central processing units are constructed on the central processing unit by a virtual computer control program, comprising at least one central processing unit and a main storage unit connected to the central processing unit. And has a function of switching between the wait state of the guest program being continued as it is or the virtual computer control program intercepting it when the guest program operating on the logical central processing unit enters the wait state from the operating state. In the virtual machine system, the logical central value is set by using one or both of a ratio of an operating state time of a guest program and a wait state time and the number of input / output interrupts to the guest program occurring during the wait state of the guest program. On the processor When the operating guest program enters the wait state from the operating state, the function to switch the wait state of the guest program as it is or to intercept it to the virtual machine control program is dynamically turned on or off. Wait state control method for virtual computer system.
【請求項2】 前記中央処理装置内にインストールされ
ているマイクロプログラム及びその関連ハードウェアの
ウェイト処理部分が、前記パラメータに関し、ゲストプ
ログラムのオペレーティング状態時間とウェイト状態時
間との計測及びゲストプログラムがウェイト状態中に発
生した該ゲストプログラムに対する入出力割込みの回数
の計測を行うことを特徴とする請求項1記載の仮想計算
機システムのウェイト状態制御方式。
2. A wait processing part of a microprogram and its associated hardware installed in the central processing unit measures the operating state time and wait state time of the guest program and waits for the guest program with respect to the parameters. 2. The wait state control method for a virtual computer system according to claim 1, wherein the number of input / output interrupts to the guest program generated during the state is measured.
【請求項3】 前記論理中央処理装置上で動作するゲス
トプログラムがオペレーティング状態からウェイト状態
に入った場合にゲストプログラムのウェイト状態をその
まま続行させるかあるいは仮想計算機制御プログラムに
インターセプトさせるかを切り替える機能を静的にオン
またはオフにする制御モードを合わせ持つことを特徴と
する請求項1または2記載の仮想計算機システムのウェ
イト状態制御方式。
3. A function for switching whether the guest program operating on the logical central processing unit is allowed to continue the wait state of the guest program or to be intercepted by the virtual computer control program when the guest program enters the wait state from the operating state. 3. The wait state control method for a virtual computer system according to claim 1, further comprising a control mode that is statically turned on or off.
JP25575593A 1993-10-13 1993-10-13 Waiting state control system for virtual machine system Pending JPH07110774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25575593A JPH07110774A (en) 1993-10-13 1993-10-13 Waiting state control system for virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25575593A JPH07110774A (en) 1993-10-13 1993-10-13 Waiting state control system for virtual machine system

Publications (1)

Publication Number Publication Date
JPH07110774A true JPH07110774A (en) 1995-04-25

Family

ID=17283182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25575593A Pending JPH07110774A (en) 1993-10-13 1993-10-13 Waiting state control system for virtual machine system

Country Status (1)

Country Link
JP (1) JPH07110774A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089808A1 (en) 2009-02-09 2010-08-12 富士通株式会社 Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089808A1 (en) 2009-02-09 2010-08-12 富士通株式会社 Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment
US8516482B2 (en) 2009-02-09 2013-08-20 Fujitsu Limited Virtual machine assigning method and storage medium thereof, information processing device having virtual machine environment

Similar Documents

Publication Publication Date Title
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
US20190370053A1 (en) Dynamic virtual machine sizing
US5555414A (en) Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
KR100311581B1 (en) Dynamic extension of static device drivers
JPH06187178A (en) Input and output interruption control method for virtual computer system
US7421689B2 (en) Processor-architecture for facilitating a virtual machine monitor
US7454756B2 (en) Method, apparatus and system for seamlessly sharing devices amongst virtual machines
WO2016174046A1 (en) Virtualization manager for reconfigurable hardware accelerators
US7802252B2 (en) Method and apparatus for selecting the architecture level to which a processor appears to conform
EP0093267A2 (en) Method for switching the control of central processing units in a data processing system, and apparatus for initiating the switching of CPU control
US20160085568A1 (en) Hybrid virtualization method for interrupt controller in nested virtualization 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
US9189293B2 (en) Computer, virtualization mechanism, and scheduling method
US7111200B2 (en) Apparatus and method for debugging a logical partition
US20090241112A1 (en) Recording medium recording virtual machine control program and virtual machine system
US7818558B2 (en) Method and apparatus for EFI BIOS time-slicing at OS runtime
US5003468A (en) Guest machine execution control system for virutal machine system
JPH06243112A (en) Multiprocessor device
US10789082B2 (en) Execution of multiple operating systems without rebooting
CN114489941B (en) Virtual machine management method and system operating in host mode user mode
JPH07110774A (en) Waiting state control system for virtual machine system
US8949587B2 (en) Method for dynamic loading of operating systems on bootable devices
JP2001216172A (en) Multi-os constituting method
KR20160112749A (en) Multicore system and scheduling method of the same