JPH0744405A - Measuring control system for operating time of virtual computer in virtual computer system - Google Patents

Measuring control system for operating time of virtual computer in virtual computer system

Info

Publication number
JPH0744405A
JPH0744405A JP5189627A JP18962793A JPH0744405A JP H0744405 A JPH0744405 A JP H0744405A JP 5189627 A JP5189627 A JP 5189627A JP 18962793 A JP18962793 A JP 18962793A JP H0744405 A JPH0744405 A JP H0744405A
Authority
JP
Japan
Prior art keywords
task
lip
guest
time
processing
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
JP5189627A
Other languages
Japanese (ja)
Inventor
Osamu Onodera
修 小野寺
Takeshi Uehara
健 宇江原
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 JP5189627A priority Critical patent/JPH0744405A/en
Publication of JPH0744405A publication Critical patent/JPH0744405A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To provided an operating time measurement control system in which the performance is improved without use of a real time measurement function for a monitor task managing a physical hardware resource to measure the real time worked for a guest operating system OS. CONSTITUTION:A monitor task 310 acts as controlling a real CPU (PIP), a logic CPU (LIP) task 320 and distribution of a PIP hardware resource to the LIP task 320 as a task and relates to a task control block(TCB) 311. The LIP task 320 acts as controlling control of the LIP itself, start/stop of a guest OS and processing of interception or the like as a task and relates to the TCB 312. The guest OS 330 is an OS working on an LPAR.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、仮想計算機システム等
の情報処理装置に係り、特に仮想計算機システムの仮想
計算機動作時間計測制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus such as a virtual computer system, and more particularly to a virtual computer operating time measurement control system for a virtual computer system.

【0002】[0002]

【従来の技術】近年、仮想計算機システムと呼ばれる情
報処理装置が実現され、その使用形態は一般化されつつ
ある。仮想計算機システムは、単一の実計算機の下に複
数の仮想計算機を生成して情報処理システムを構築する
ものであり、実計算機上で仮想計算機制御プログラム
(以下、VMCPという)を動作させ、このVMCPの
制御の下でオペレ−ティングシステム(以下、OSとい
う)が動作する構成となっていた。情報処理システムを
構成する計算機の使用形態としては、一般的に、実計算
機上で単一のOSを動作させる方法と単一の実計算機上
で複数のOSを動作させる仮想計算機(以下、VM又は
LPARという)と呼ばれる方法とがある。実計算機上
で単一のOSを動作させるモードをベーシックモードと
言い、その方法での実計算機のハードウェア資源は、1
台又はそれ以上の中央処理装置(以下、CPU又はIP
という),1台の共用主記憶装置(以下、MSとい
う),1台又はそれ以上のチャネルパス(以下、CHP
という)とから構成される。そしてこれらの実計算機の
ハードウェア資源は単一の資源として扱われる。単一の
実計算機上に複数のLPARを構築し複数のOSを動作
させるモードをLPARモードと言う。
2. Description of the Related Art In recent years, an information processing apparatus called a virtual computer system has been realized, and its usage pattern is becoming general. 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, The operating system (hereinafter referred to as OS) operates under the control of VMCP. As a usage pattern of a computer constituting an information processing system, generally, a method of operating a single OS on a real computer and a virtual computer (hereinafter referred to as VM or VM) operating a plurality of OSs on a single real computer. There is a method called LPAR). The mode in which a single OS operates on a real computer is called the basic mode, and the hardware resources of the real computer by this method are 1
Central processing unit (or CPU or IP)
, One shared main memory (hereinafter referred to as MS), one or more channel paths (hereinafter referred to as CHP)
And)) and. The hardware resources of these real computers are treated as a single resource. A mode in which a plurality of LPARs are constructed on a single real computer and a plurality of OSs are operated is called an LPAR mode.

【0003】一般に、複数のLPARを単一の実計算機
上で実現する為に、VMCPと呼ばれるプログラムを実
計算機上で動作させ、このVMCPの制御の下で複数の
仮想計算機であるLPARを生成し、更に、この各々の
LPARの上で独立したOSを動作させていた。従って
VMCPには、単一の実計算機のハ−ドウェア資源を各
々のLPARに共用させて使用させる機能が付加されて
いる。単一の実計算機のハ−ドウェア資源を各々のLP
ARに共用させる方法としては、VMCPの制御の下に
時分割でハ−ドウェア資源を割り当てる方法、又はハ−
ドウェア資源を論理的に分割して各々のLPARに占有
的に割り当てる方法、又は前述の二つの方法を混在させ
て割り当てる方法等がある。混在させて割り当てる方法
としては、例えば、実CPUの共用方法として前述の二
つの方法のうち前者の方法、即ち、実CPUを時分割で
各々のLPARに割り当てる方法をとり、且つ、入出力
チャネル及びMSのLPARでの共用方法として前述の
二つの方法のうち後者の方法、即ち、実CHP及び実M
Sを論理的に分割して各々のLPARに占有的に割り当
てる方法をとるものがある。
Generally, in order to realize a plurality of LPARs on a single real computer, a program called VMCP is run on the real computer and a plurality of virtual computers LPAR are generated under the control of this VMCP. Moreover, an independent OS was running on each of these LPARs. Therefore, the VMCP is added with a function of allowing each LPAR to share and use the hardware resources of a single real computer. A single real computer hardware resource for each LP
As a method of sharing the AR, a method of allocating hardware resources under time control under the control of VMCP, or a method of allocating hardware resources
There is a method of logically dividing hardware resources and allocating them to each LPAR exclusively, or a method of allocating them by mixing the above two methods. As a method for allocating them in a mixed manner, for example, the former one of the above-mentioned two methods as a method for sharing real CPUs, that is, a method for allocating real CPUs to each LPAR in a time division manner, Of the above two methods, the latter method, that is, the real CHP and the real M, is used as the sharing method of the MS in the LPAR.
There is a method in which S is logically divided and exclusively allocated to each LPAR.

【0004】このような従来技術では、前記の実CPU
の共用方法として、実CPUを時分割で各々のLPAR
に割り当てる方法をとっていたが、以下、図1及び図2
を用いて従来技術でのLPARへの実CPUの時分割に
依る割り当て方法を説明する。図1は、従来技術での実
CPUの共用方法の構成を示した図である。
In such a conventional technique, the above real CPU is used.
As a method of sharing the
The method of allocating to
A conventional method for allocating an actual CPU to an LPAR by time division will be described with reference to FIG. FIG. 1 is a diagram showing a configuration of a method of sharing a real CPU in a conventional technique.

【0005】図1に於いて、実CPU(以下、PIPと
いう)はPIPA102及びPIPB103の2台のP
IPから成るマルチプロセッサ構成(以下、MP構成と
いう)をとっている。PIPA102及びPIPB10
3はそれぞれMS101に接続されており、更に、PI
PA102及びPIPB103も相互に接続されMP構
成をとっている。PIPA102及びPIPB103上
では、MP構成を制御可能なVMCPが動作している。
このVMCPの制御の下で2つのLPARが生成されて
おり、それぞれLPARA112及びLPARB113
である。LPARA112及びLPARB113はそれ
ぞれ、2台の論理CPU(以下、LIPという)から構
成されている。即ち、LPARA112はLIPAA1
21及びLIPAB122からなるMP構成をとってお
り、LPARB113はLIPBA131及びLIPB
B132からなるMP構成をとっている。従って、LP
ARA112上で動作するOSはLIPAA121及び
LIPAB122を制御し、LPARB113上で動作
するOSはLIPBA131及びLIPBB132を制
御し動作する。又、LIPAA121及びLIPBA1
31はPIPA102上でのみ動作し、LIPAB12
2及びLIPBB132はPIPB103上でのみ動作
する。
In FIG. 1, the real CPU (hereinafter referred to as PIP) is two PPAs, a PIPA 102 and a PIPB 103.
It has a multiprocessor configuration composed of IP (hereinafter referred to as MP configuration). PIPA102 and PIPB10
3 are each connected to MS 101, and PI
The PA 102 and PIPB 103 are also connected to each other and have an MP configuration. On the PIPA 102 and PIPB 103, a VMCP capable of controlling the MP configuration is operating.
Two LPARs are generated under the control of this VMCP, and LPARA 112 and LPARB 113, respectively.
Is. Each of LPARA 112 and LPARB 113 is composed of two logical CPUs (hereinafter referred to as LIPs). That is, LPARA112 is LIPAA1
21 and LIPAB122 have an MP configuration, and LPARB113 is LIPBA131 and LIPB.
It has an MP configuration composed of B132. Therefore, LP
The OS operating on the ARA 112 controls the LIPAA 121 and the LIPAB 122, and the OS operating on the LPARB 113 controls and operates the LIPBA 131 and the LIPBB 132. Also, LIPAA121 and LIPBA1
31 works only on PIPA 102, LIPAB12
2 and LIPBB 132 operate only on PIPB 103.

【0006】次に、それぞれのPIP上でのVMCP及
び各LIPの動作について説明する。図2は、それぞれ
のPIP上にVMCP及び各LIPがディスパッチされ
動作する場合のVMCP,LIPAA121,LIPB
A131,LIPAB122及びLIPBB132への
実計算機資源配分の様子を示したタイムチャートであ
る。図2に示す如く、実計算機資源は、VMCPに対し
それぞれ区間201,区間203及び区間205が配分
され、LIPAA121及びLIPAB122に対して
は区間202及び区間206が配分され、更にLIPB
A131及びLIPBB132に対しては区間204が
配分される。このタイムチャートは、PIPA102に
はLIPAA121及びLIPBA131が固定割当て
されており、PIPB103にはLIPAB122及び
LIPBB132が固定割当てされている場合を示して
いる。
Next, the operation of the VMCP and each LIP on each PIP will be described. FIG. 2 shows VMCP, LIPAA121, and LIPB when VMCP and each LIP are dispatched and operate on each PIP.
It is a time chart showing a state of real computer resource allocation to A131, LIPAB122, and LIPBB132. As shown in FIG. 2, as the real computer resources, the sections 201, 203 and 205 are allocated to the VMCP, the sections 202 and 206 are allocated to the LIPAA 121 and LIPAB 122, respectively, and the LIPB is further allocated.
The section 204 is allocated to the A131 and the LIPBB132. This time chart shows a case where LIPAA 121 and LIPBA 131 are fixedly assigned to PIPA 102, and LIPAB 122 and LIPBB 132 are fixedly assigned to PIPB 103.

【0007】区間201 : 区間201に於いてPI
PA102及びPIPB103上で動作しているVMC
Pは、LPARA112の内部に保持されているLIP
AA121及びLIPAB122の走行時間を規程する
タイムスライス値(以下、TIMSLCという)を用い
て、PIPA102及びPIPB103の内部タイマに
LIPAA121及びLIPAB122の動作打切り時
間を設定した後、PIPA102及びPIPB103上
でそれぞれLIPAA121及びLIPAB122の走
行を起動する。その時点で、PIPA102及びPIP
B103の動作は区間202に移る。
Section 201 : PI in section 201
VMC running on PA 102 and PIPB 103
P is the LIP held inside the LPARA 112
A time slice value (hereinafter referred to as TIMSLC) that regulates the travel time of the AA 121 and the LIPAB 122 is used to set the operation cutoff time of the LIPAA 121 and the LIPAB 122 in the internal timer of the PIPA 102 and the PIPB 103, and then the LIPAA 121 and the LIPAB 122 are respectively set on the PIPA 102 and the PIPB 103. To start running. At that point, PIPA 102 and PIP
The operation of B103 moves to section 202.

【0008】区間202 : 区間202に於いて、L
IPAA121及びLIPAB122は、区間201で
TIMSLCを用いて設定されているを内部タイマを更
新しながら動作する。LIPAA121及びLIPAB
122の動作打切り時間が来ると、LIPAA121及
びLIPAB122の動作はVMCPに対するタイマ割
込みに依って打ち切られ制御はVMCPに移される。制
御がVMCPに移される時点で、PIPA102及びP
IPB103の動作は区間203に移る。
Section 202 : In section 202, L
The IPAA 121 and the LIPAB 122 operate while updating the internal timer set in the section 201 using TIMSLC. LIPAA121 and LIPAB
When the operation abort time of 122 comes, the operations of LIPAA 121 and LIPAB 122 are aborted by a timer interrupt to VMCP and control is transferred to VMCP. When control is transferred to VMCP, PIPA 102 and P
The operation of the IPB 103 moves to section 203.

【0009】区間203 : 区間203に於いては、
区間201と同様にPIPA102及びPIPB103
上で動作しているVMCPは、LPARB113の内部
に保持されているLIPBA131及びLIPBB13
2の走行時間を規程するTIMSLCを用いて、PIP
A102及びPIPB103の内部タイマにLIPBA
131及びLIPBB132の動作打切り時間を設定し
た後、PIPA102及びPIPB103上でそれぞれ
LIPBA131及びLIPBB132の走行を起動す
る。その時点で、PIPA102及びPIPB103の
動作は区間204に移る。
Section 203 : In section 203,
PIPA 102 and PIPB 103 as in section 201
The VMCP running on the above is the LIPBA 131 and LIPBB 13 held inside the LPARB 113.
PIP using TIMSLC that regulates the running time of 2
LIPBA in the internal timer of A102 and PIPB103
After setting the operation cutoff time of 131 and LIPBB 132, the traveling of LIPBA 131 and LIPBB 132 is started on PIPA 102 and PIPB 103, respectively. At that point, the operations of the PIPA 102 and PIPB 103 move to section 204.

【0010】区間204 : 区間204に於いて、L
IPBA131及びLIPBB132は、区間202と
同様に区間203でTIMSLCを用いて設定されてい
るを内部タイマを更新しながら動作する。LIPAA1
21及びLIPAB122の動作打切り時間が来ると、
LIPBA131及びLIPBB132の動作はVMC
Pに対するタイマ割込みに依って打ち切られ制御はVM
CPに移される。制御がVMCPに移される時点で、P
IPA102及びPIPB103の動作は区間205に
移る。
Section 204 : In Section 204, L
The IPBA 131 and the LIPBB 132 operate while updating the internal timer that is set using the TIMSLC in the section 203 as in the section 202. LIPAA1
21 and LIPAB122 operation cutoff time comes,
The operation of LIPBA131 and LIPBB132 is VMC.
Control is terminated by a timer interrupt for P
Moved to CP. When control is transferred to VMCP, P
The operations of the IPA 102 and PIPB 103 move to the section 205.

【0011】区間205 : 区間205での動作は区
間201と同様であり、VMCPは、PIPA102及
びPIPB103上でそれぞれLIPAA121及びL
IPAB122の走行を起動し、PIPA102及びP
IPB103の動作は区間206に移る。
Section 205 : The operation in the section 205 is the same as that in the section 201, and the VMCP has LIPAA 121 and LIP on the PIPA 102 and PIPB 103, respectively.
Start running IPAB122, PIPA102 and P
The operation of the IPB 103 moves to section 206.

【0012】以下、前記説明と同様な動作の繰返しに依
って、LPARA112及びLPARB113がPIP
A102及びPIPB103上で時分割で走行する。以
上説明した如く、1台のPIP上で複数のLIPを時分
割で走行させる場合、TIMSLCを用いてVMCPが
制御する事に依り実現されている。
Hereinafter, the LPARA 112 and the LPARB 113 are PIP'ed by repeating the same operation as described above.
It runs on the A102 and PIPB103 in a time-sharing manner. As described above, when a plurality of LIPs are run on one PIP in a time division manner, it is realized by controlling VMCP using TIMSLC.

【0013】次に図3を用いてVMCP及び各LIPの
動作の関連について説明する。図3は、VMCPの一部
を構成しているモニタタスク及び同様にVMCPの一部
を構成しているLIPタスク、更にLIPタスクの制御
のもとに動作するゲストOSの関係を示した構成図であ
る。図3において、モニタタスク310は、PIPの制
御及びLIPタスク320の制御更にLIPタスク32
0へのPIPハードウェア資源の配分などを司り、イン
タフェース351及びインタフェース353を介してL
IPタスク320及びゲストOS330と接続されてい
る。モニタタスク310はタスクとして動作し、タスク
制御ブロック(以下、TCBという)311と対応付け
られている。LIPタスク320は、LIP自身の制御
及びゲストOSの起動,停止及びインターセプションの
処理等の制御を司り、インタフェース351及びインタ
フェース352を介してモニタタスク310及びゲスト
OS330と接続されている。LIPタスク320はタ
スクとして動作し、TCB312と対応付けられてい
る。ゲストOS330は、LPAR上で動作するゲスト
OSであり、インタフェース352及びインタフェース
353を介してLIPタスク320及びモニタタスク3
10と接続されている。図3に於いてゲストOS330
を起動し動作させる手順は以下の如くに行われる。VM
CPの立ち上げに伴い、モニタタスク310が最初に起
動される。モニタタスク310は、VMを起動すべくイ
ンタフェース351を介してLIPタスク320をディ
スパッチし、制御をLIPタスク320に渡す。動作を
開始したLIPタスク320は、VM上で動作するゲス
トOSを起動すべくインタフェース352を介してゲス
トOS330を起動する。以降、ゲストOS330の制
御のもとでユーザのアプリケーションが走行する。LI
Pタスク320がインタフェース352を介してゲスト
OS330を起動する際SIE命令が使用される。ゲス
トOS330が走行している間に何らかのインターセプ
ション条件が検出されると、実行中のSIE命令はイン
ターセプトされ、制御はインタフェース352を介して
LIPタスク320に渡される。インターセプションは
IE機能の一部であり、その一般的仕様としては、例え
ばIBM社発行の前述の刊行物にその詳細が記述されて
いる。LIPタスク320は、インターセプション要因
を解析し該当するインターセプション処理を実行する。
此の場合のインターセプション処理とは、例えば待ち状
態インターセプションであればLIPタスク320はイ
ンタフェース351を介して制御をモニタタスク310
に渡し、例えば命令インターセプションであればLIP
タスク320は、インターセプトされた命令のシミュレ
ーション処理を行いインタフェース352を介して再度
ゲストOS330を起動する。ゲストOS330が走行
している間に何らかのホストに対する割込み条件が検出
されると、実行中のSIE命令は割り込まれ、制御はイ
ンタフェース353を介してモニタタスク310に渡さ
れる。モニタタスク310は、割込み要因を解析し該当
する割込み処理を実行する。此の場合の割込み処理と
は、例えば該LIPタスクへの割当て時間切れを示す外
部割込みであればモニタタスク310はインタフェース
351を介して制御を他のLIPタスクに渡し、例えば
プログラム割込みであればモニタタスク310は、プロ
グラム割込みのシミュレーション処理を行いインタフェ
ース353を介して再度ゲストOS330を起動する。
以上の如くの手順で、ゲストOS330の制御のもとで
ユーザのアプリケーションが走行するが、このゲストO
Sの走行した実時間を統計情報として採取する機能を付
加する為に、ゲストOS自身の発行する命令の結果のオ
ペランドとして反映される様実現する必要がある。この
ゲストOS自身の発行する命令の結果のオペランドに、
このゲストOSの走行した実時間を格納する為には、L
IPタスク320に該実時間の計測機能が付加されてい
なければならず、従来技術では本計測機能は、モニタタ
スク310の実時間の計測機能を用いて実現されてい
た。
Next, the relationship between the operations of the VMCP and each LIP will be described with reference to FIG. FIG. 3 is a configuration diagram showing the relationship between a monitor task forming a part of VMCP, a LIP task forming a part of VMCP, and a guest OS operating under the control of the LIP task. Is. In FIG. 3, the monitor task 310 controls the PIP and the LIP task 320, and further controls the LIP task 32.
It manages the allocation of PIP hardware resources to 0, and L through the interface 351 and the interface 353.
It is connected to the IP task 320 and the guest OS 330. The monitor task 310 operates as a task and is associated with a task control block (hereinafter referred to as TCB) 311. The LIP task 320 controls the LIP itself, controls the start / stop of the guest OS, the interception processing, and the like, and is connected to the monitor task 310 and the guest OS 330 via the interfaces 351 and 352. The LIP task 320 operates as a task and is associated with the TCB 312. The guest OS 330 is a guest OS that operates on the LPAR, and the LIP task 320 and the monitor task 3 via the interface 352 and the interface 353.
It is connected with 10. In FIG. 3, guest OS 330
The procedure for activating and operating is as follows. VM
The monitor task 310 is first started with the start-up of the CP. The monitor task 310 dispatches the LIP task 320 via the interface 351 to activate the VM, and passes control to the LIP task 320. The LIP task 320 which has started the operation starts the guest OS 330 via the interface 352 so as to start the guest OS operating on the VM. After that, the user's application runs under the control of the guest OS 330. LI
The SIE instruction is used when the P task 320 activates the guest OS 330 via the interface 352. If any interception condition is detected while the guest OS 330 is running, the SIE instruction being executed is intercepted and control is passed to the LIP task 320 via the interface 352. 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. The LIP task 320 analyzes the interception factor and executes the corresponding interception process.
In this case, if the interception process is, for example, a wait state interception, the LIP task 320 controls the monitor task 310 via the interface 351.
To, for example, LIP for instruction interception
The task 320 performs a simulation process of the intercepted instruction and restarts the guest OS 330 via the interface 352. If an interrupt condition for some host is detected while the guest OS 330 is running, the SIE instruction being executed is interrupted, and control is passed to the monitor task 310 via the interface 353. The monitor task 310 analyzes an interrupt factor and executes a corresponding interrupt process. In this case, the interrupt processing is, for example, an external interrupt indicating an expiration of the time assigned to the LIP task, the monitor task 310 passes control to another LIP task via the interface 351, and a monitor interrupt is a program interrupt, for example. The task 310 performs a simulation process of a program interrupt and restarts the guest OS 330 via the interface 353.
The user's application runs under the control of the guest OS 330 according to the procedure described above.
In order to add the function of collecting the actual time when S runs as statistical information, it is necessary to realize it so that it is reflected as the operand of the result of the instruction issued by the guest OS itself. In the operand of the result of the instruction issued by the guest OS itself,
To store the real time that this guest OS has run, L
The real-time measurement function must be added to the IP task 320, and in the conventional technique, this measurement function was realized by using the real-time measurement function of the monitor task 310.

【0014】次に図3、図4及び図5を用いて、従来技
術であるLIPタスク320に依る該実時間の計測機能
について説明する。第4図及び図5は、従来技術である
LIPタスク320に依る該実時間の計測機能を実現す
る際の処理手順を示したフローチャートである。
Next, the real-time measuring function by the LIP task 320 which is a conventional technique will be described with reference to FIGS. 3, 4 and 5. 4 and 5 are flowcharts showing a processing procedure for realizing the real-time measurement function based on the LIP task 320 which is a conventional technique.

【0015】ステップ401 : VM上でゲストOS
を走行させる事前処理として、VMCPのモニタタスク
310はディスパッチすべきLIPタスクを複数のLI
Pタスク群の中から選択する。この処理を行うプログラ
ムモジュールをスケジューラと呼ぶ。
Step 401 : Guest OS on VM
As a pre-process for running a VMP, the VMCP monitor task 310 sends a plurality of LI tasks to be dispatched to the LIP task.
Select from the P task group. A program module that performs this processing is called a scheduler.

【0016】ステップ402 : モニタタスク310
は、複数のLIPタスク群の中からスケジューラによっ
て選択されたLIPタスクを起動する為、該LIPタス
クの保持していたタスク固有情報及び汎用レジスタの内
容等のハードウェア情報を該LIPタスクのTCBから
PIP内ハードウェアレジスタ群にリストアする。
Step 402 : Monitor task 310
Activates the LIP task selected by the scheduler from the plurality of LIP task groups, the task-specific information held by the LIP task and hardware information such as the contents of general-purpose registers are transmitted from the TCB of the LIP task. Restore to the hardware register group in PIP.

【0017】ステップ403 : モニタタスク310
は、該LIPタスクのTCBに置かれているタスクのデ
ィスパッチ時間の累積値を保持しているエリア(以下、
TCBTTIMEという)を更新する為、PIPのタイ
ム−オブ−デイ−クロック(以下、TODという)を用
いて時間のカウントを開始する。具体的にはTODの時
刻を、該LIPタスクのTCBに置かれているタスクの
ディスパッチ開始時刻を保持しているエリア(以下、T
CBDSPTMという)にストアする。この処理が前述
のモニタタスク310の実時間の計測機能の一部であ
る。その後、PIPのプログラム状態語(以下、PSW
という)に該LIPタスクのTCBに退避されている該
LIPの旧PSWをロードし、制御を該LIPタスク
(以下、LIPタスク320を例に説明を行う)に渡
す。
Step 403 : Monitor task 310
Is an area that holds the cumulative value of the dispatch time of the task placed in the TCB of the LIP task (hereinafter,
In order to update TCCBTIME, a time-of-day clock (hereinafter referred to as TOD) of PIP is used to start counting time. Specifically, the TOD time is the area that holds the dispatch start time of the task placed in the TCB of the LIP task (hereinafter T
CBDSPTM). This processing is a part of the real-time measurement function of the monitor task 310 described above. After that, the program status word of PIP (hereinafter, PSW
"), The old PSW of the LIP saved in the TCB of the LIP task is loaded, and control is passed to the LIP task (hereinafter, the LIP task 320 will be described as an example).

【0018】ステップ404 : LIPタスク320
は、ゲストOS330を起動する準備としてSIE命令
のオペランドである状態記述(以下、SDという)を所
定の如くイニシャライズする。その後、LIPタスク3
20は、ゲストOS330の走行した実時間を計測する
機能の一部としてモニタタスク310の実時間の計測機
能を用いる為、ダミーであるスーパバイザコール命令
(以下、SVC命令という)を発行する。このSVC命
令の発行によってSVC割込みが発生し、制御はLIP
タスク320からモニタタスク310に渡される。
Step 404 : LIP task 320
Initializes a state description (hereinafter referred to as SD), which is an operand of the SIE instruction, in a predetermined manner in preparation for starting the guest OS 330. After that, LIP task 3
Since the guest OS 330 uses the real-time measurement function of the monitor task 310 as a part of the function of the guest OS 330 for measuring the running real-time, it issues a dummy supervisor call instruction (hereinafter referred to as SVC instruction). Issuing this SVC instruction causes an SVC interrupt, and the control is LIP.
It is passed from the task 320 to the monitor task 310.

【0019】ステップ405 : モニタタスク310
は、SVC割込み処理の一環として、TCBTTIME
の保守を行う。具体的にはTODの時刻を、LIPタス
ク320のTCBに置かれているタスクのディスパッチ
終了時刻を保持しているエリア(以下、TCBINTM
という)にストアする。その後、該TCB内のTCBI
NTMの内容からTCBDSPTMの内容を減じ、その
結果をTCBTTIMEに加える。この処理に依り、該
TCB内のTCBTTIMEにはLIPタスク320の
ディスパッチされている時間が累積される。以後、割込
みの要因となったSVCコード解析を行い、発行された
SVC命令がダミーのSVCコードであることを認識す
ると、該SVC命令をノーオペレーションとして以後の
動作を行う。その後、該TCB内のTCBTTIMEを
更新する為、PIPのTODとを用いて時間のカウント
を開始する。具体的にはTODの時刻を、該LIPタス
クのTCBに置かれているタスクのTCBDSPTMに
ストアする。この処理は、前述のステップ403と同一
動作である。その後、PIPのPSWに該LIPタスク
のTCBに退避されている該LIPの旧PSWをロード
し、制御をLIPタスク320に渡す。
Step 405 : Monitor task 310
As a part of SVC interrupt processing, TCBTTIME
To maintain. Specifically, the TOD time is an area that holds the dispatch end time of the task placed in the TCB of the LIP task 320 (hereinafter, TCBINTM.
Store). After that, TCBI in the TCB
The contents of TCBDSPTM are subtracted from the contents of NTM and the result is added to TCBTTIME. According to this processing, the dispatched time of the LIP task 320 is accumulated in TCCBTIME in the TCB. After that, when the SVC code that has caused the interrupt is analyzed and it is recognized that the issued SVC instruction is a dummy SVC code, the SVC instruction is regarded as a no operation and the subsequent operation is performed. After that, in order to update TCBTTIME in the TCB, the time counting is started using the PIP TOD. Specifically, the time of TOD is stored in TCBDSPTM of the task placed in the TCB of the LIP task. This process is the same as the above-mentioned step 403. After that, the old PSW of the LIP saved in the TCB of the LIP task is loaded into the PSW of the PIP, and the control is passed to the LIP task 320.

【0020】ステップ406 : LIPタスク320
は、ステップ405で更新されたTCBTTIMEを、
該LIPタスク固有に用意されているLIPテーブル
(以下、LIPTBLという)に置かれているゲストO
S330のディスパッチの開始時間値を保持しているエ
リア(以下、LIPBIETという)にストアする。こ
こでLIPBIETは、ゲストOS330のディスパッ
チ開始時間値を保持する。
Step 406 : LIP task 320
The TCBTTIME updated in step 405,
Guest O placed in a LIP table (hereinafter referred to as LIPTBL) prepared uniquely to the LIP task
The dispatch start time value of S330 is stored in the area holding it (hereinafter referred to as LIPBIET). Here, LIPBIET holds the dispatch start time value of the guest OS 330.

【0021】ステップ407 : LIPタスク320
は、ステップ404でイニシャライズされたSIE命令
のオペランドであるSDをオペランドとしてSIE命令
を発行し、VM上のゲストOS330を起動する。
Step 407 : LIP task 320
Issues an SIE instruction using SD, which is the operand of the SIE instruction initialized in step 404, as an operand, and starts the guest OS 330 on the VM.

【0022】ステップ408 : VM上でゲストOS
330が走行する。
Step 408 : Guest OS on VM
330 runs.

【0023】ステップ409 : VM上で走行してい
るゲストOS330が、何らかのインターセプション要
因を検出すると対応するインターセプションが発生し、
制御はVM上のゲストOS330からLIPタスク32
0に戻される。
Step 409 : When the guest OS 330 running on the VM detects any interception factor, the corresponding interception occurs,
Control is performed from the guest OS 330 on the VM to the LIP task 32.
It is set back to 0.

【0024】ステップ410 : LIPタスク320
は、ゲストOS330の走行した実時間を計測する機能
の一部として、モニタタスク310の実時間の計測機能
を用いる為、ダミーであるSVC命令を発行する。この
SVC命令の発行によってSVC割込みが発生し、制御
はLIPタスク320からモニタタスク310に渡され
る。
Step 410 : LIP task 320
Issues a dummy SVC command in order to use the real-time measuring function of the monitor task 310 as a part of the function of the guest OS 330 for measuring the real-time running. Issuing this SVC instruction causes an SVC interrupt, and control is passed from the LIP task 320 to the monitor task 310.

【0025】ステップ411 : モニタタスク310
は、SVC割込み処理の一環としてTCBTTIMEの
保守を行う。具体的には、ステップ405と同様にTO
Dの時刻を、LIPタスク320のTCBに置かれてい
るタスクのディスパッチ終了時刻を保持しているエリア
(以下、TCBINTMという)にストアする。その
後、該TCB内のTCBINTMの内容からTCBDS
PTMの内容を減じ、その結果をTCBTTIMEに加
える。この処理に依り、該TCB内のTCBTTIME
にはLIPタスク320のディスパッチされている時間
が累積される。以後、割込みの要因となったSVCコー
ド解析を行い、発行されたSVC命令がダミーのSVC
コードであることを認識すると、該SVC命令をノーオ
ペレーションとし、その後、該TCB内のTCBTTI
MEを更新する為、PIPのTODを用いて時間のカウ
ントを開始する。具体的にはTODの時刻を、該LIP
タスクのTCBに置かれているタスクのTCBDSPT
Mにストアする。この処理は、前述のステップ403と
同一動作である。その後、PIPのPSWに該LIPタ
スクのTCBに退避されている該LIPの旧PSWをロ
ードし、制御をLIPタスク320に渡す。
Step 411 : Monitor task 310
Maintains TCBTTIME as a part of SVC interrupt processing. Specifically, as in step 405, TO
The time of D is stored in the area (hereinafter, referred to as TCBINTM) which holds the dispatch end time of the task placed in the TCB of the LIP task 320. Then, from the contents of TCBINTM in the TCB, the TCBDS
Decrement the contents of PTM and add the result to TCBTTIME. By this processing, TCBTTIME in the TCB
In the LIP task 320, the dispatched time is accumulated. After that, the SVC code that caused the interrupt is analyzed, and the issued SVC instruction is a dummy SVC.
When it recognizes that it is a code, it makes the SVC instruction a no-operation, and then the TCBTTI in the TCB.
To update ME, start counting time using PIP TOD. Specifically, the time of TOD is set to the LIP
TCBDSPT of the task placed in the TCB of the task
Store in M. This process is the same as the above-mentioned step 403. After that, the old PSW of the LIP saved in the TCB of the LIP task is loaded into the PSW of the PIP, and the control is passed to the LIP task 320.

【0026】ステップ412 : LIPタスク320
は、ステップ411で更新されたTCBTTIMEを、
該LIPタスク固有に用意されているLIPTBLに置
かれているゲストOS330のディスパッチ時間の終了
値を保持しているエリア(以下、LIPAIETとい
う)にストアする。ここでLIPAIETは、ゲストO
S330のディスパッチ終了時の時間を保持する。
Step 412 : LIP task 320
Is the TCBTTIME updated in step 411,
The end value of the dispatch time of the guest OS 330 placed in the LIPTBL prepared for the LIP task is stored in the area (hereinafter, referred to as LIPAIET). Here, LIPAIET is guest O
The time when the dispatch of S330 ends is held.

【0027】ステップ413 : LIPタスク320
は、該LIPタスク固有に用意されているLIPTBL
のLIPAIETの内容からLIPBIETの内容を減
じ、その結果をゲストOS330のディスパッチ時間の
累積値を保持しているエリア(以下、LIPETIME
という)に加える。この処理に依り、該LIPタスク固
有に用意されているLIPテーブルのLIPETIME
にはLIPタスク320のディスパッチされている時間
が累積される。
Step 413 : LIP task 320
Is the LIPTBL prepared for the LIP task.
Area of the guest OS 330 that holds the cumulative value of the dispatch time of the guest OS 330 (hereinafter, LIPETIME).
Say)). According to this processing, the LIPETIME of the LIP table prepared uniquely to the LIP task
In the LIP task 320, the dispatched time is accumulated.

【0028】ステップ414 : LIPタスク320
は、制御がVM上のゲストOS330からLIPタスク
320に戻される要因となったインターセプションコー
ドを解析し、コード毎のインターセプション処理を行う
準備をする。この処理をインターセプション第一レベル
処理と呼ぶ。
Step 414 : LIP task 320
Analyzes the interception code that caused control to be returned from the guest OS 330 on the VM to the LIP task 320, and prepares to perform interception processing for each code. This process is called an interception first level process.

【0029】ステップ415 : LIPタスク320
は、インターセプション第一レベル処理に引き続くイン
ターセプション第二レベル処理を行うに当たって、この
処理がモニタタスク310の介入が必要であるか否かを
判定する。モニタタスク310の介入が必要であれば、
所定のSVCコードを持つSVC命令を発行してモニタ
タスク310に制御を渡す。即ち、ステップ417へ行
く。
Step 415 : LIP task 320
Determines whether the intervention of the monitor task 310 is necessary for performing the interception second level process subsequent to the interception first level process. If intervention of the monitor task 310 is needed,
An SVC instruction having a predetermined SVC code is issued and control is passed to the monitor task 310. That is, go to step 417.

【0030】ステップ416 : LIPタスク320
は、インターセプション第二レベル処理を行う。この処
理の具対的処理内容は、各種インターセプションコード
毎に対応する処理を別々に行うもので、例えばインター
セプションコードが命令インターセプションを指してい
れば、該命令のシミュレーションを行う。本ステップを
終了した後、ステップ404ヘ行く。以降、ステップ4
04からLIPタスク320の実行を続行する。
Step 416 : LIP task 320
Performs interception second level processing. The specific processing content of this processing is to separately perform the processing corresponding to each interception code. For example, if the interception code indicates instruction interception, the instruction is simulated. After completing this step, the process proceeds to step 404. After that, step 4
The execution of the LIP task 320 is continued from 04.

【0031】ステップ417 : モニタタスク310
は、SVC割込み処理の一環としてTCBTTIMEの
保守を行う。具体的には、TODの時刻をLIPタスク
320のTCBに置かれているタスクのディスパッチ終
了時刻を保持しているTCBINTMにストアする。そ
の後、該TCB内のTCBINTMの内容からTCBD
SPTMの内容を減じ、その結果をTCBTTIMEに
加える。この処理に依り、該TCB内のTCBTTIM
EにはLIPタスク320のディスパッチされていた時
間が累積される。以後、割込みの要因となったSVCコ
ード解析を行い、発行されたSVC命令がインターセプ
ションの処理にモニタタスク310の介入が必要である
SVCコードであることを認識するとステップ418に
行く。
Step 417 : Monitor task 310
Maintains TCBTTIME as a part of SVC interrupt processing. Specifically, the TOD time is stored in TCBINTM which holds the dispatch end time of the task placed in the TCB of the LIP task 320. After that, from the contents of TCBINTM in the TCB to TCBD
Decrement the contents of SPTM and add the result to TCBTTIME. According to this processing, TCBTTIM in the TCB
In E, the dispatched time of the LIP task 320 is accumulated. After that, the SVC code that has caused the interrupt is analyzed, and if it is recognized that the issued SVC instruction is the SVC code that requires the intervention of the monitor task 310 for the interception processing, the process proceeds to step 418.

【0032】ステップ418 : モニタタスク310
は、ステップ414のLIPタスク320に依るインタ
ーセプション第一レベル処理に引き続き、インターセプ
ション第二レベル処理を行う。この処理の具対的処理内
容は、入出力要求インターセプションや外部割込みイン
ターセプション等の、LIPタスク320だけでは対応
出来ない各種インターセプションに対応する処理を行う
もので、例えばインターセプションコードが入出力要求
インターセプションを指していれば、モニタタスク31
0は、それ自身が管理している入出力割込み情報を、ゲ
ストOS330に引き渡す目的で、該入出力割込みのシ
ミュレーションを行い、更にインターセプションコード
が待ち状態インターセプションを指していれば、モニタ
タスク310は、待ち状態インターセプションを引き起
こしたLIPタスク320を待ち状態タスクキューリス
トに登録し、他の動作可能なLIPタスクを起動する様
機能する。
Step 418 : Monitor task 310
Performs the interception second level processing subsequent to the interception first level processing by the LIP task 320 in step 414. The specific processing content of this processing is to perform processing corresponding to various interceptions such as input / output request interception and external interrupt interception that cannot be handled by the LIP task 320 alone. If it indicates request interception, monitor task 31
For the purpose of delivering the input / output interrupt information managed by itself to the guest OS 330, 0 simulates the input / output interrupt, and if the interception code indicates the wait state interception, the monitor task 310 Functions to register the LIP task 320 that has caused the wait-state interception in the wait-state task queue list and activate another LIP task that can operate.

【0033】ステップ419 : モニタタスク310
は、インターセプション又は割込みに依ってエントリし
て来たエントリ元のタスクに制御を戻すケースであるか
否かを判定する。エントリして来たエントリ元のタスク
に制御を戻すケースは、例えば前述の入出力要求インタ
ーセプションがあり、エントリして来たエントリ元のタ
スクに制御を戻さないケースは、例えば前述の待ち状態
インターセプションがある。エントリして来たエントリ
元のタスクに制御を戻すケースでは、ステップ403ヘ
行く。以降、ステップ403からモニタタスク310の
実行を続行する。エントリして来たエントリ元のタスク
に制御を戻さないケースは、ステップ401ヘ行く。以
降、ステップ401からモニタタスク310の実行を続
行する。
Step 419 : Monitor task 310
Determines whether or not it is a case of returning control to the task of the entry source that has made an entry due to interception or interruption. The case of returning control to the entry source task that has made an entry is, for example, the I / O request interception described above, and the case of not returning control to the entry source task that has made an entry is the wait state interface described above. There is a reception. In the case of returning control to the entry source task that has made an entry, go to step 403. Thereafter, the execution of the monitor task 310 is continued from step 403. In the case where control is not returned to the entry source task that has made an entry, go to step 401. After that, the execution of the monitor task 310 is continued from step 401.

【0034】ステップ421 : VM上で走行してい
るゲストOS330が、何らかの割込み要因を検出する
と対応する割込み発生し、制御はVM上のゲストOS3
30からモニタタスク310に戻される。
Step 421 : When the guest OS 330 running on the VM detects any interrupt factor, a corresponding interrupt is generated, and control is performed by the guest OS 3 on the VM.
It is returned from 30 to the monitor task 310.

【0035】ステップ422 : モニタタスク310
は、ステップ421で発生した割込み処理の一環として
TCBTTIMEの保守を行う。具体的には、ステップ
405と同様にTODの時刻を、LIPタスク320の
TCBに置かれているTCBINTMにストアする。そ
の後、該TCB内のTCBINTMの内容からTCBD
SPTMの内容を減じ、その結果をTCBTTIMEに
加える。この処理に依り、該TCB内のTCBTTIM
EにはLIPタスク320のディスパッチされている時
間が累積される。
Step 422 : Monitor task 310
Performs maintenance of TCBTTIME as a part of the interrupt processing generated in step 421. Specifically, as in step 405, the time of TOD is stored in TCBINTM placed in the TCB of the LIP task 320. After that, from the contents of TCBINTM in the TCB to TCBD
Decrement the contents of SPTM and add the result to TCBTTIME. According to this processing, TCBTTIM in the TCB
The dispatched time of the LIP task 320 is accumulated in E.

【0036】ステップ423 : モニタタスク310
は、割込みの要因となった割込みの種類及び割込みコー
ド解析を行い、それぞれ所定の割込み処理を施した後、
ステップ419に行く。以降、ステップ419からモニ
タタスク310の実行を続行する。
Step 423 : Monitor task 310
Analyzes the type of interrupt that caused the interrupt and the interrupt code, and after performing the specified interrupt processing,
Go to step 419. After that, the execution of the monitor task 310 is continued from step 419.

【0037】以上述べた如く、従来技術に依るゲストO
Sの走行実時間の計測方法では、ゲストOSを起動する
前とゲストOSの走行終了の時点で、割込みを経由させ
る事によってモニタタスクに対して制御を渡す必要があ
り、これは、SVC命令の指定に依って実現されてい
た。この方法では、SIE命令を1回発行する度に、2
回のSVC命令の発行に依るSVC割込みの介入が生
じ、ハードウェアに依るSVC割込み発生処理のオーバ
ヘッド及びモニタタスクに依るSVC第一レベル割込み
処理及びSVC第二レベル割込み処理のオーバヘッドが
生じ、これらのオ−バヘッドは仮想計算機システムの性
能低下の大きな要因となり、無視し得ない大きな問題で
あった。
As described above, the guest O according to the conventional technique is
In the method of measuring the actual traveling time of S, it is necessary to pass control to the monitor task by passing through an interrupt before starting the guest OS and at the end of traveling of the guest OS. It was realized according to the designation. With this method, every time the SIE instruction is issued once, 2
Intervention of SVC interrupts due to the issuance of SVC instructions occurs, overhead of SVC interrupt generation processing by hardware and overhead of SVC first level interrupt processing and SVC second level interrupt processing by monitor task occur. Overhead was a major factor in the performance degradation of the virtual computer system, and was a major problem that could not be ignored.

【0038】[0038]

【発明が解決しようとする課題】前記従来技術は、ゲス
トOSの走行実時間の計測を行うに当たり、走行実時間
の計測用データの取得にはモニタタスクの介入が必要で
あった為、モニタタスクへの制御の切り替えを目的とし
て、ゲストOSを起動する前とゲストOSの走行終了の
時点で、本来、割込みが不要な場合でも割込みを経由さ
せ為、SVC命令の発行に伴うSVC割込みの発生に依
ってモニタタスクに対して制御を渡していた。この場
合、SIE命令を1回発行する度に、2回のSVC命令
の発行に依るSVC割込みの介入が生じ、ハードウェア
に依るSVC割込み発生処理のオーバヘッド及びモニタ
タスクに依るSVC第一レベル割込み処理及びSVC第
二レベル割込み処理のオーバヘッドが生じ、これらのオ
−バヘッドは仮想計算機システムの性能低下の大きな要
因となり、仮想計算機システムの性能上無視し得ない大
きな問題であった。
In the above-mentioned prior art, when measuring the running real time of the guest OS, it was necessary to intervene in the monitor task to acquire the data for measuring the running real time. For the purpose of switching the control to the above, before the guest OS is started and at the time when the running of the guest OS is finished, even if the interrupt is not originally required, the interrupt is passed, so that the SVC interrupt is generated due to the issuance of the SVC instruction. Therefore, control was passed to the monitor task. In this case, every time the SIE instruction is issued once, the intervention of the SVC interrupt due to the issuance of the SVC instruction occurs twice, and the overhead of the SVC interrupt generation processing by the hardware and the SVC first level interrupt processing by the monitor task occur. In addition, the overhead of the SVC second level interrupt processing occurs, and these overheads are a major cause of the performance degradation of the virtual computer system, which is a major problem that cannot be ignored in the performance of the virtual computer system.

【0039】本発明の目的は、前記従来技術の問題点を
解決するもので、ゲストOSの走行実時間の計測を行う
に当たり、本来、割込みが不要な場合の走行実時間の計
測用データの取得に際しモニタタスクの介入を不要と
し、ゲストOSを起動する前とゲストOSの走行終了の
時点で、本来、割込みが不要な場合には、SVC命令を
発行せず、その結果としてSVC割込みの発生を除去す
る事に依り、SIE命令を1回発行する度に、2回のS
VC命令の発行に依るSVC割込みを除去し、ハードウ
ェアに依るSVC割込み発生処理のオーバヘッド及びモ
ニタタスクに依るSVC第一レベル割込み処理及びSV
C第二レベル割込み処理のオーバヘッドを除去する事に
依り、格段に性能を向上させた仮想計算機システムの仮
想計算機動作時間計測制御方式を提供する事にある。
An object of the present invention is to solve the above-mentioned problems of the prior art. When measuring the running real time of the guest OS, originally, the acquisition of the data for measuring the running real time when the interrupt is not necessary In this case, the intervention of the monitor task is unnecessary, and before the guest OS is started and when the guest OS has finished running, if the interrupt is originally unnecessary, the SVC instruction is not issued and, as a result, the SVC interrupt is generated. Depending on the removal, S is issued twice for each SIE command issued.
The SVC interrupt due to the issue of the VC instruction is removed, and the overhead of the SVC interrupt generation processing by hardware and the SVC first level interrupt processing and SV by the monitor task are eliminated.
The purpose of the present invention is to provide a virtual computer operating time measurement control method for a virtual computer system, in which the performance is remarkably improved by removing the overhead of the C second level interrupt processing.

【0040】[0040]

【課題を解決するための手段】本発明に依れば、前記目
的は、ゲストOSの走行実時間の計測を行うに当たり、
割込みが不要な場合の走行実時間の計測用データの取得
方法を、以下の如くに変更する事によって達成される。
According to the present invention, the above-mentioned object is to measure the running real time of the guest OS.
This is achieved by changing the method of acquiring the data for measuring the traveling real time when the interrupt is not necessary as follows.

【0041】即ち、ゲストOSを起動する前とゲストO
Sの走行終了の時点で、本来、割込みが不要な場合に
は、SVC命令発行によるSVC割込みの発生に伴って
制御を受けたモニタタスクに於いて計測されるタスク走
行時間の累積値をゲストOSの走行実時間の計測を行う
為の計測用データとする方法を変更し、LIPタスクが
直接発行する Sore Clock 命令によって得
られる実計算機のTODの値をゲストOSの走行実時間
の計測を行う為に使用される計測用データとする方法に
変更する事によって達成される。
That is, before the guest OS is started and the guest O
At the end of the running of S, if the interrupt is not originally required, the cumulative value of the task running time measured by the monitor task controlled by the generation of the SVC interrupt by issuing the SVC command is calculated as the guest OS. In order to measure the running real time of the guest OS, the value of TOD of the actual computer obtained by the Sore Clock command directly issued by the LIP task is changed by changing the method of using the measurement data for measuring the running real time of This can be achieved by changing the method used as the measurement data used for.

【0042】[0042]

【作用】本発明の仮想計算機システムの仮想計算機動作
時間計測制御方式に依れば、図3において、LIPタス
ク320は、SIE命令を発行する前に、該LIPタス
ク固有に用意されているLIPTBLに置かれているゲ
ストOS330のディスパッチ開始時刻を保持している
LIPBIETに Store Clock 命令を用
いてPIPのTOD値をストアする。その後、LIPタ
スク320は、SIE命令のオペランドであるSDをオ
ペランドとしてSIE命令を発行し、VM上のゲストO
S330を起動する。起動されたゲストOS330が走
行している時、何らかのインターセプションが発生する
と、制御はVM上のゲストOS330からLIPタスク
320に戻される。LIPタスク320は、該LIPタ
スク固有に用意されているLIPTBLに置かれている
ゲストOS330のディスパッチ時間の終了時刻を保持
しているLIPAIETに Store Clock命
令を用いてPIPのTOD値をストアする。その後、L
IPタスク320は、該LIPタスク固有に用意されて
いるLIPTBLのLIPAIETの内容からLIPB
IETの内容を減じ、その結果をゲストOS330のデ
ィスパッチ時間の累積値を保持しているLIPETIM
Eに加える。この処理に依り、該LIPタスク固有に用
意されているLIPTBLのLIPETIMEにはLI
Pタスク320のディスパッチされている時間が累積さ
れる。
According to the virtual machine operation time measurement control method of the virtual machine system according to the present invention, in FIG. 3, the LIP task 320 executes the LIPTBL prepared for the LIP task before issuing the SIE instruction. The TOD value of the PIP is stored in the LIPBIET holding the dispatch start time of the guest OS 330 placed therein by using the Store Clock instruction. After that, the LIP task 320 issues the SIE instruction using SD, which is the operand of the SIE instruction, as an operand, and the guest O on the VM
Start S330. When some kind of interception occurs while the booted guest OS 330 is running, control is returned from the guest OS 330 on the VM to the LIP task 320. The LIP task 320 stores the TOD value of the PIP in the LIPAIET holding the end time of the dispatch time of the guest OS 330 placed in the LIPTBL prepared for the LIP task, using the Store Clock instruction. Then L
The IP task 320 uses the contents of LIPAIET of LIPTBL prepared for the LIP task as the LIPB.
LIPETIM that holds the cumulative value of the dispatch time of the guest OS 330 by subtracting the content of IET
Add to E. According to this processing, the LI is set in the LIPETIME of the LIPTBL prepared for the LIP task.
The dispatched time of the P task 320 is accumulated.

【0043】以上、本発明の仮想計算機システムの仮想
計算機動作時間計測制御方式を適用した結果、LIPタ
スク320は、ゲストOS330の走行した実時間を計
測する機能の一部としてモニタタスク310の実時間の
計測機能を用いない。従ってダミーであるSVC命令を
発行する必要が無く、SVC命令の発行に伴って生ずる
ハードウェアのSVC割込み発生処理のオーバヘッド及
びモニタタスクに依るSVC第一レベル割込み処理及び
SVC第二レベル割込み処理のオーバヘッドを除去で
き、格段に性能を向上させた仮想計算機システムの仮想
計算機動作時間計測制御方式を実現出来る。
As described above, as a result of applying the virtual machine operation time measurement control method of the virtual machine system of the present invention, the LIP task 320 has the real time of the monitor task 310 as a part of the function of measuring the real time when the guest OS 330 runs. Do not use the measurement function of. Therefore, it is not necessary to issue a dummy SVC instruction, and the overhead of the hardware SVC interrupt generation processing that occurs with the issuance of the SVC instruction and the overhead of the SVC first level interrupt processing and the SVC second level interrupt processing due to the monitor task Can be eliminated, and a virtual computer operating time measurement control method of a virtual computer system with significantly improved performance can be realized.

【0044】[0044]

【実施例】以下、本発明の仮想計算機システムの仮想計
算機動作時間計測制御方式の一実施例を図面を用いて詳
細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a virtual computer operating time measurement control system of a virtual computer system according to the present invention will be described in detail below with reference to the drawings.

【0045】図5及び図6は、本発明による仮想計算機
システムの仮想計算機動作時間計測制御方式の処理手順
を示した処理フロ−チャ−トである。以下図3、図5及
び図6に基づいてその処理手順を詳細に説明する。
FIGS. 5 and 6 are processing flowcharts showing the processing procedure of the virtual computer operation time measurement control method of the virtual computer system according to the present invention. The processing procedure will be described in detail below with reference to FIGS. 3, 5, and 6.

【0046】図5及び図6に於いて501から526は
各処理ステップを示す。
In FIGS. 5 and 6, reference numerals 501 to 526 indicate processing steps.

【0047】ステップ501 : VM上でゲストOS
を走行させる事前処理として、VMCPのモニタタスク
310はディスパッチすべきLIPタスクを複数のLI
Pタスク群の中から選択する。この処理を行うプログラ
ムモジュールをスケジューラと呼ぶ。
Step 501 : Guest OS on VM
As a pre-process for running a VMP, the VMCP monitor task 310 sends a plurality of LI tasks to be dispatched to LIP tasks.
Select from the P task group. A program module that performs this processing is called a scheduler.

【0048】ステップ502 : モニタタスク310
は、複数のLIPタスク群の中からスケジューラによっ
て選択されたLIPタスクを起動する為、該LIPタス
クの保持していたタスク固有情報及び汎用レジスタの内
容等のハードウェア情報を該LIPタスクのTCBから
PIP内ハードウェアレジスタ群にリストアする。
Step 502 : Monitor task 310
Activates the LIP task selected by the scheduler from the plurality of LIP task groups, the task-specific information held by the LIP task and hardware information such as the contents of general-purpose registers are transmitted from the TCB of the LIP task. Restore to the hardware register group in PIP.

【0049】ステップ503 : モニタタスク310
は、該LIPタスクのTCBに置かれているタスクのデ
ィスパッチ時間の累積値を保持しているエリア(以下、
TCBTTIMEという)を更新する為、PIPのタイ
ム−オブ−デイ−クロック(以下、TODという)を用
いて時間のカウントを開始する。具体的にはTODの時
刻を、該LIPタスクのTCBに置かれているタスクの
ディスパッチ開始時刻を保持しているTCBDSPTM
にストアする。この処理は既存の計測機能の一部を形成
している。その後、PIPのPSWに該LIPタスクの
TCBに退避されている該LIPの旧PSWをロード
し、制御を該LIPタスク(以下、LIPタスク320
を例に説明を行う)に渡す。
Step 503 : Monitor task 310
Is an area that holds the cumulative value of the dispatch time of the task placed in the TCB of the LIP task (hereinafter,
In order to update TCCBTIME, a time-of-day clock (hereinafter referred to as TOD) of PIP is used to start counting time. Specifically, the TOD time is TCBDSPTM that holds the dispatch start time of the task placed in the TCB of the LIP task.
Store at. This process forms part of the existing measurement function. After that, the old PSW of the LIP saved in the TCB of the LIP task is loaded into the PSW of the PIP, and control is performed on the LIP task (hereinafter, LIP task 320).
Will be explained as an example).

【0050】ステップ504 : LIPタスク320
は、ゲストOS330を起動する準備としてSIE命令
のオペランドである状態記述(以下、SDという)を所
定の如くイニシャライズする。
Step 504 : LIP task 320
Initializes a state description (hereinafter referred to as SD), which is an operand of the SIE instruction, in a predetermined manner in preparation for starting the guest OS 330.

【0051】ステップ505 : LIPタスク320
は、ゲストOS330の実行時間測定処理の一環とし
て、LIPBIETにゲストOS330の実行開始時刻
を設定する。具体的には、Store Clock 命
令を発行してTODの現時刻を、LIPタスク320に
固有に用意されているLIPTBLに置かれているゲス
トOS330のディスパッチの開始時刻値を保持してい
るLIPBIETにストアする。ここでLIPBIET
は、ゲストOS330のディスパッチ開始時刻値を保持
する。
Step 505 : LIP task 320
Sets the execution start time of the guest OS 330 in LIPBIET as part of the execution time measurement process of the guest OS 330. Specifically, the Store Clock instruction is issued and the current time of TOD is stored in the LIPBIET holding the dispatch start time value of the guest OS 330 placed in the LIPTBL prepared uniquely to the LIP task 320. To do. LIPBIET here
Holds the dispatch start time value of the guest OS 330.

【0052】ステップ506 : LIPタスク320
は、ステップ504でイニシャライズされたSIE命令
のSDをオペランドとしてSIE命令を発行し、VM上
のゲストOS330を起動する。
Step 506 : LIP task 320
Issues an SIE instruction using SD of the SIE instruction initialized in step 504 as an operand, and activates the guest OS 330 on the VM.

【0053】ステップ507 : VM上でゲストOS
330が走行する。
Step 507 : Guest OS on VM
330 runs.

【0054】ステップ508 : VM上で走行してい
るゲストOS330が、何らかのインターセプション要
因を検出すると対応するインターセプションが発生し、
制御はVM上のゲストOS330からLIPタスク32
0に戻される。
Step 508 : When the guest OS 330 running on the VM detects any interception factor, corresponding interception occurs,
Control is performed from the guest OS 330 on the VM to the LIP task 32.
It is set back to 0.

【0055】ステップ509 : LIPタスク320
は、ゲストOS330の実行時間測定処理の一環とし
て、LIPAIETにゲストOS330の実行終了時刻
を設定する。具体的には、Store Clock 命
令を発行してTODの現時刻を、LIPタスク320に
固有に用意されているLIPTBLに置かれているゲス
トOS330のディスパッチの終了時刻値を保持してい
るLIPAIETにストアする。ここでLIPAIET
は、ゲストOS330のディスパッチ終了時刻値を保持
する。
Step 509 : LIP task 320
Sets the execution end time of the guest OS 330 in LIPAIET as part of the execution time measurement process of the guest OS 330. Specifically, the Store Clock instruction is issued and the current time of TOD is stored in the LIPAIET that holds the end time value of the dispatch of the guest OS 330 placed in the LIPTBL prepared uniquely for the LIP task 320. To do. LIPAIET here
Holds the dispatch end time value of the guest OS 330.

【0056】ステップ510 : LIPタスク320
は、該LIPタスク固有に用意されているLIPTBL
のLIPAIETの内容からLIPBIETの内容を減
じ、その結果をゲストOS330のディスパッチ時間の
累積値を保持しているLIPETIMEに加える。この
処理に依り、該LIPタスク固有に用意されているLI
PテーブルのLIPETIMEにはLIPタスク320
のディスパッチされている時間が累積される。
Step 510 : LIP task 320
Is the LIPTBL prepared for the LIP task.
The contents of LIPBIET are subtracted from the contents of LIPAIET, and the result is added to LIPETIM which holds the cumulative value of the dispatch time of the guest OS 330. According to this processing, the LI prepared uniquely to the LIP task
LIP task 320 for LIPETIME of P table
The dispatched time of is accumulated.

【0057】ステップ511 : LIPタスク320
は、制御がVM上のゲストOS330からLIPタスク
320に戻される要因となったインターセプションコー
ドを解析し、コード毎のインターセプション処理を行う
準備をする。この処理をインターセプション第一レベル
処理と呼ぶ。
Step 511 : LIP task 320
Analyzes the interception code that caused control to be returned from the guest OS 330 on the VM to the LIP task 320, and prepares to perform interception processing for each code. This process is called an interception first level process.

【0058】ステップ512 : LIPタスク320
は、インターセプション第一レベル処理に引き続くイン
ターセプション第二レベル処理を行うに当たって、この
処理がモニタタスク310の介入が必要であるか否かを
判定する。モニタタスク310の介入が必要であれば、
所定のSVCコードを持つSVC命令を発行してモニタ
タスク310に制御を渡す。即ち、ステップ514へ行
く。
Step 512 : LIP task 320
Determines whether the intervention of the monitor task 310 is necessary for performing the interception second level process subsequent to the interception first level process. If intervention of the monitor task 310 is needed,
An SVC instruction having a predetermined SVC code is issued and control is passed to the monitor task 310. That is, go to step 514.

【0059】ステップ513 : LIPタスク320
は、インターセプション第二レベル処理を行う。この処
理の具対的処理内容は、各種インターセプションコード
毎に対応する処理を別々に行うもので、例えばインター
セプションコードが命令インターセプションを指してい
れば、該命令のシミュレーションを行う。本ステップを
終了した後、ステップ504ヘ行く。以後、ステップ5
04からLIPタスク320の実行を続行する。
Step 513 : LIP task 320
Performs interception second level processing. The specific processing content of this processing is to separately perform the processing corresponding to each interception code. For example, if the interception code indicates instruction interception, the instruction is simulated. After completing this step, the process proceeds to step 504. After that, step 5
The execution of the LIP task 320 is continued from 04.

【0060】ステップ514 : モニタタスク310
は、SVC割込み処理の一環としてTCBTTIMEの
保守を行う。具体的には、TODの時刻をLIPタスク
320のTCBに置かれているタスクのディスパッチ終
了時刻を保持しているTCBINTMにストアする。そ
の後、該TCB内のTCBINTMの内容からTCBD
SPTMの内容を減じ、その結果をTCBTTIMEに
加える。この処理に依り、該TCB内のTCBTTIM
EにはLIPタスク320のディスパッチされていた時
間が累積される。以後、割込みの要因となったSVCコ
ード解析を行い、発行されたSVC命令がインターセプ
ションの処理にモニタタスク310の介入が必要である
SVCコードであることを認識するとステップ515に
行く。
Step 514 : Monitor task 310
Maintains TCBTTIME as a part of SVC interrupt processing. Specifically, the TOD time is stored in TCBINTM which holds the dispatch end time of the task placed in the TCB of the LIP task 320. After that, from the contents of TCBINTM in the TCB to TCBD
Decrement the contents of SPTM and add the result to TCBTTIME. According to this processing, TCBTTIM in the TCB
In E, the dispatched time of the LIP task 320 is accumulated. After that, the SVC code that has caused the interrupt is analyzed, and if it is recognized that the issued SVC instruction is the SVC code that requires the intervention of the monitor task 310 for the interception processing, the process proceeds to step 515.

【0061】ステップ515 : モニタタスク310
は、ステップ512のLIPタスク320に依るインタ
ーセプション第一レベル処理に引き続き、インターセプ
ション第二レベル処理を行う。この処理の具対的処理内
容は、入出力要求インターセプションや外部割込みイン
ターセプション等の、LIPタスク320だけでは対応
出来ない各種インターセプションに対応する処理を行う
もので、例えばインターセプションコードが入出力要求
インターセプションを指していれば、モニタタスク31
0は、それ自身が管理している入出力割込み情報を、ゲ
ストOS330に引き渡す目的で、該入出力割込みのシ
ミュレーションを行い、更にインターセプションコード
が待ち状態インターセプションを指していれば、モニタ
タスク310は、待ち状態インターセプションを引き起
こしたLIPタスク320を待ち状態タスクキューリス
トに登録し、他の動作可能なLIPタスクを起動する様
機能する。
Step 515 : Monitor task 310
Performs the interception second level process subsequent to the interception first level process by the LIP task 320 in step 512. The specific processing content of this processing is to perform processing corresponding to various interceptions such as input / output request interception and external interrupt interception that cannot be handled by the LIP task 320 alone. If it indicates request interception, monitor task 31
For the purpose of delivering the input / output interrupt information managed by itself to the guest OS 330, 0 simulates the input / output interrupt, and if the interception code indicates the wait state interception, the monitor task 310 Functions to register the LIP task 320 that has caused the wait-state interception in the wait-state task queue list and activate another LIP task that can operate.

【0062】ステップ516 : モニタタスク310
は、インターセプション又は割込みに依ってエントリし
て来たエントリ元のタスクに制御を戻すケースであるか
否かを判定する。エントリして来たエントリ元のタスク
に制御を戻すケースは、例えば前述の入出力要求インタ
ーセプションがあり、エントリして来たエントリ元のタ
スクに制御を戻さないケースは、例えば前述の待ち状態
インターセプションがある。エントリして来たエントリ
元のタスクに制御を戻すケースでは、ステップ517ヘ
行く。エントリして来たエントリ元のタスクに制御を戻
さないケースは、ステップ501ヘ行く。以降、ステッ
プ501からモニタタスク310の実行を続行する。
Step 516 : Monitor task 310
Determines whether or not it is a case of returning control to the task of the entry source that has made an entry due to interception or interruption. The case of returning control to the entry source task that has made an entry is, for example, the I / O request interception described above, and the case of not returning control to the entry source task that has made an entry is the wait state interface described above. There is a reception. In the case of returning control to the entry source task that has made an entry, go to step 517. In the case where control is not returned to the entry source task that has made an entry, go to step 501. After that, the execution of the monitor task 310 is continued from step 501.

【0063】ステップ517 : モニタタスク310
は、該LIPタスクのTCBに退避されている該LIP
の旧PSWの命令アドレス部が指している命令がSIE
命令であるか否かを判定する。該LIPの旧PSWの命
令アドレス部が指している命令がSIE命令で無けれ
ば、ステップ503へ行く。以後、ステップ503から
モニタタスク310の実行を続行する。該LIPの旧P
SWの命令アドレス部が指している命令がSIE命令で
あれば、ステップ518へ行く。
Step 517 : Monitor task 310
Is the LIP saved in the TCB of the LIP task.
The instruction pointed to by the old PSW instruction address part is SIE
It is determined whether it is an instruction. If the instruction pointed to by the instruction address part of the old PSW of the LIP is not the SIE instruction, the process proceeds to step 503. After that, the execution of the monitor task 310 is continued from step 503. Old P of the LIP
If the instruction pointed to by the instruction address part of SW is the SIE instruction, the process proceeds to step 518.

【0064】ステップ518 : モニタタスク310
は、LIPタスク320起動処理の一環としてTCBT
TIMEの保守を行う。具体的には、ステップ503と
同様にTODの時刻を、LIPタスク320のTCBに
置かれているタスクのディスパッチ開始時刻を保持して
いるTCBDSPTMにストアする。
Step 518 : Monitor task 310
Is the TCBT as part of the LIP task 320 activation process.
Perform maintenance of TIME. Specifically, as in step 503, the TOD time is stored in the TCBDSPTM that holds the dispatch start time of the task placed in the TCB of the LIP task 320.

【0065】ステップ519 : モニタタスク310
は、ゲストOS330の実行時間測定処理の一環とし
て、LIPBIETにゲストOS330の実行開始時刻
を設定する。具体的には、Store Clock 命
令を発行してTODの現時刻を、LIPタスク320に
固有に用意されているLIPTBLに置かれているゲス
トOS330のディスパッチの開始時刻値を保持してい
るLIPBIETにストアする。ここでLIPBIET
は、ゲストOS330のディスパッチ開始時刻値を保持
する。その後、PIPのPSWに該LIPタスクのTC
Bに退避されている該LIPの旧PSWをロードし、制
御をLIPタスク320に渡す。此の場合、最初に実行
される命令はSIE命令であるので、ステップ507の
ゲストOSの実行が直接起動される。
Step 519 : Monitor task 310
Sets the execution start time of the guest OS 330 in LIPBIET as part of the execution time measurement process of the guest OS 330. Specifically, the Store Clock command is issued and the current time of TOD is stored in the LIPBIET that holds the dispatch start time value of the guest OS 330 placed in the LIPTBL prepared uniquely for the LIP task 320. To do. LIPBIET here
Holds the dispatch start time value of the guest OS 330. After that, TC of the LIP task is added to the PSW of the PIP.
The old PSW of the LIP saved in B is loaded, and control is passed to the LIP task 320. In this case, since the first instruction to be executed is the SIE instruction, execution of the guest OS in step 507 is directly activated.

【0066】ステップ521 : VM上で走行してい
るゲストOS330が、何らかの割込み要因を検出する
と対応する割込み発生し、制御はVM上のゲストOS3
30からモニタタスク310に戻される。
Step 521 : When the guest OS 330 running on the VM detects any interrupt factor, a corresponding interrupt is generated, and control is performed by the guest OS 3 on the VM.
It is returned from 30 to the monitor task 310.

【0067】ステップ522 : モニタタスク310
は、プリフィクス退避領域(以下、PSAという)の割
込み旧PSWの命令アドレス部が指している命令がSI
E命令であるか否かを判定する。該旧PSWの命令アド
レス部が指している命令がSIE命令で無ければ、ステ
ップ525へ行く。該旧PSWの命令アドレス部が指し
ている命令がSIE命令であれば、ステップ523へ行
く。
Step 522 : Monitor task 310
Indicates that the instruction pointed to by the instruction address section of the interrupt old PSW in the prefix save area (hereinafter referred to as PSA) is SI.
It is determined whether it is an E instruction. If the instruction pointed to by the instruction address part of the old PSW is not the SIE instruction, the process proceeds to step 525. If the instruction pointed to by the instruction address part of the old PSW is the SIE instruction, the process proceeds to step 523.

【0068】ステップ523 : モニタタスク310
は、ゲストOS330の実行時間測定処理の一環とし
て、LIPAIETにゲストOS330の実行終了時刻
を設定する。具体的には、Store Clock 命
令を発行してTODの現時刻を、LIPタスク320に
固有に用意されているLIPTBLに置かれているゲス
トOS330のディスパッチの終了時刻値を保持してい
るLIPAIETにストアする。ここでLIPAIET
は、ゲストOS330のディスパッチ終了時刻値を保持
する。
Step 523 : Monitor task 310
Sets the execution end time of the guest OS 330 in LIPAIET as part of the execution time measurement process of the guest OS 330. Specifically, the Store Clock instruction is issued and the current time of TOD is stored in the LIPAIET that holds the end time value of the dispatch of the guest OS 330 placed in the LIPTBL prepared uniquely for the LIP task 320. To do. LIPAIET here
Holds the dispatch end time value of the guest OS 330.

【0069】ステップ524 : モニタタスク310
は、該LIPタスク固有に用意されているLIPTBL
のLIPAIETの内容からLIPBIETの内容を減
じ、その結果をゲストOS330のディスパッチ時間の
累積値を保持しているLIPETIMEに加える。この
処理に依り、該LIPタスク固有に用意されているLI
PテーブルのLIPETIMEにはLIPタスク320
のディスパッチされている時間が累積される。
Step 524 : Monitor task 310
Is the LIPTBL prepared for the LIP task.
The contents of LIPBIET are subtracted from the contents of LIPAIET, and the result is added to LIPETIM which holds the cumulative value of the dispatch time of the guest OS 330. According to this processing, the LI prepared uniquely to the LIP task
LIP task 320 for LIPETIME of P table
The dispatched time of is accumulated.

【0070】ステップ525 : モニタタスク310
は、ステップ521で発生した割込み処理の一環として
TCBTTIMEの保守を行う。具体的には、ステップ
514と同様にTODの時刻を、LIPタスク320の
TCBに置かれているTCBINTMにストアする。そ
の後、該TCB内のTCBINTMの内容からTCBD
SPTMの内容を減じ、その結果をTCBTTIMEに
加える。この処理に依り、該TCB内のTCBTTIM
EにはLIPタスク320のディスパッチされている時
間が累積される。
Step 525 : Monitor task 310
Performs maintenance of TCBTTIME as a part of the interrupt processing generated in step 521. Specifically, as in step 514, the TOD time is stored in TCBINTM placed in the TCB of the LIP task 320. After that, from the contents of TCBINTM in the TCB to TCBD
Decrement the contents of SPTM and add the result to TCBTTIME. According to this processing, TCBTTIM in the TCB
The dispatched time of the LIP task 320 is accumulated in E.

【0071】ステップ526 : モニタタスク310
は、割込みの要因となった割込みの種類及び割込みコー
ド解析を行い、それぞれ所定の割込み処理を施した後、
ステップ516に行く。以降、ステップ516からモニ
タタスク310の実行を続行する。
Step 526 : Monitor task 310
Analyzes the type of interrupt that caused the interrupt and the interrupt code, and after performing the specified interrupt processing,
Go to step 516. Thereafter, execution of the monitor task 310 is continued from step 516.

【0072】以上説明した如く本発明においては、ゲス
トOSの走行した実時間を計測する機能を実現するにあ
たり、物理ハードウェア資源を管理する役割を担うモニ
タタスクの実時間計測機能を用いる必要が無く、従っ
て、ダミーの割込みを介してタスク間の制御の切り替え
を行う必要が無い。その結果、ハードウェアの割込み発
生処理のオーバヘッド及びモニタタスクに依る割込み処
理のオーバヘッドを除去出来、効率の良いゲストOS走
行実時間計測機能を実現出来る。
As described above, according to the present invention, it is not necessary to use the real-time measuring function of the monitor task that has the role of managing the physical hardware resources in realizing the function of measuring the real time when the guest OS runs. Therefore, it is not necessary to switch control between tasks via dummy interrupts. As a result, the overhead of the interrupt generation processing of the hardware and the overhead of the interrupt processing due to the monitor task can be removed, and an efficient guest OS running real-time measurement function can be realized.

【0073】尚本例では、ゲストOSの走行した実時間
を計測する機能を実現するにあたり、モニタタスク31
0又はLIPタスク320と称するソフトウェアが、プ
ログラム的に、LIPタスクに用意されているLIPテ
ーブルのLIPETIMEにLIPタスクのディスパッ
チ時間を累積する例を示したが、マイクロコードに依り
SIE命令の内部処理である入り口処理及び出口処理
で、本実施例で説明したLIPAIET及びLIPBI
ETのテーブルエントリをアクセスし、該エントリデー
タの作成を行い、更に、LIPETIMEの計算をも、
SIE命令の内部マイクロコードに依り実現し、該計算
結果であるディスパッチ時間の累積値を該エントリにス
トアさせる方法をとっても良く、マイクロコードに依り
SIE命令の内部で、本実施例で説明したLIPAIE
T及びLIPBIETに相当するデータの作成を行い、
更に、LIPETIMEの計算をも、SIE命令の内部
マイクロコードに依り実現し、該計算結果であるディス
パッチ時間の累積値をSIE命令の結果オペランドに反
映させる方法をとっても良い。
In this example, in order to realize the function of measuring the real time when the guest OS runs, the monitor task 31
0 or the software called LIP task 320 shows an example of programmatically accumulating the dispatch time of the LIP task in LIPETIME of the LIP table prepared for the LIP task. However, the internal processing of the SIE instruction depends on the microcode. The LIPAIET and LIPBI described in this embodiment are used for certain entrance processing and exit processing.
The table entry of ET is accessed, the entry data is created, and the calculation of LIPETIME is also performed.
A method may be adopted in which the internal microcode of the SIE instruction is used and the cumulative value of the dispatch time, which is the calculation result, is stored in the entry, and the LIPAIE described in this embodiment is used inside the SIE instruction by the microcode.
Create data corresponding to T and LIPBIET,
Further, the calculation of LIPETIME may be realized by the internal microcode of the SIE instruction, and the cumulative value of the dispatch time as the calculation result may be reflected in the result operand of the SIE instruction.

【0074】[0074]

【発明の効果】以上のように、本発明に依れば、ゲスト
OSの走行した実時間を計測する機能を実現するにあた
り、物理ハードウェア資源を管理する役割を担うモニタ
タスクの実時間計測機能を使用しない事に依り、効率が
良く且つ格段に性能を向上させた仮想計算機システムの
仮想計算機動作時間計測制御方式を提供する事が出来
る。
As described above, according to the present invention, the real-time measuring function of the monitor task, which plays a role of managing the physical hardware resources in realizing the function of measuring the real time when the guest OS is running. It is possible to provide a virtual computer operating time measurement control method for a virtual computer system that is highly efficient and has significantly improved performance by not using the.

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

【図1】本発明である仮想計算機システムの仮想計算機
動作時間計測制御方式を適用した場合の仮想計算機シス
テムの構成概念を示す図である。
FIG. 1 is a diagram showing a configuration concept of a virtual computer system when a virtual computer operation time measurement control method of a virtual computer system according to the present invention is applied.

【図2】本発明である仮想計算機システムの仮想計算機
動作時間計測制御方式を適用した場合の論理プロセッサ
の動作状態の遷移の概念を示すタイムチャートである。
FIG. 2 is a time chart showing the concept of the transition of the operating state of the logical processor when the virtual computer operation time measurement control method of the virtual computer system according to the present invention is applied.

【図3】本発明である仮想計算機システムの仮想計算機
動作時間計測制御方式を適用した場合の仮想計算機シス
テムを実現する上で使用される仮想計算機制御プログラ
ムの構成概念を示す図である。
FIG. 3 is a diagram showing a configuration concept of a virtual computer control program used for realizing the virtual computer system when the virtual computer operation time measurement control method of the virtual computer system according to the present invention is applied.

【図4】従来の仮想計算機の動作時間を計測する制御方
法の処理手順を示すフローチャートである。
FIG. 4 is a flowchart showing a processing procedure of a control method for measuring an operation time of a conventional virtual machine.

【図5】従来の仮想計算機の動作時間を計測する制御方
法の処理手順を示すフローチャートである。(図4の続
き)
FIG. 5 is a flowchart showing a processing procedure of a control method for measuring an operation time of a conventional virtual machine. (Continued from Fig. 4)

【図6】本発明である仮想計算機システムの仮想計算機
動作時間計測制御方式を適用した場合の仮想計算機の動
作時間を計測する制御方法の処理手順を示すフローチャ
ートである。
FIG. 6 is a flowchart showing a processing procedure of a control method for measuring an operation time of a virtual computer when the virtual computer operation time measurement control method of the virtual computer system according to the present invention is applied.

【図7】本発明である仮想計算機システムの仮想計算機
動作時間計測制御方式を適用した場合の仮想計算機の動
作時間を計測する制御方法の処理手順を示すフローチャ
ートである。(図6の続き)
FIG. 7 is a flowchart showing a processing procedure of a control method for measuring an operation time of a virtual computer when the virtual computer operation time measurement control method of the virtual computer system according to the present invention is applied. (Continued from Fig. 6)

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

101 主記憶装置 102、103 実処理装置 111 仮想計算機制御プログラム 112,113 仮想計算機 121,122,131,132 論理処理装置 310 モニタタスク 320 論理プロセッサタスク 330 ゲストオペレーティングシステム 101 Main Storage Device 102, 103 Real Processing Device 111 Virtual Machine Control Program 112, 113 Virtual Machine 121, 122, 131, 132 Logical Processing Device 310 Monitor Task 320 Logical Processor Task 330 Guest Operating System

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】1台以上の実中央処理装置と、該実中央処
理装置のそれぞれから共用される主記憶装置とから構成
される情報処理システム上に構築される仮想計算機シス
テムにおいて、それぞれの実中央処理装置上に構築され
る複数の論理中央処理装置を動作させる手段として、前
記実中央処理装置を直接制御するモニタ部と前記論理中
央処理装置を制御する論理中央処理装置制御部から構成
される仮想計算機制御プログラムが、1つ又はそれ以上
の仮想計算機の動作時間を計測する際、前記論理中央処
理装置制御部に仮想計算機の動作時間の計測手段を持つ
ことを特徴とする仮想計算機システムの仮想計算機動作
時間計測制御方式。
1. A virtual computer system constructed on an information processing system comprising one or more real central processing units and a main storage device shared by each of the real central processing units. As a means for operating a plurality of logical central processing units built on the central processing unit, a monitor unit that directly controls the real central processing unit and a logical central processing unit control unit that controls the logical central processing unit are configured. When the virtual computer control program measures the operating time of one or more virtual computers, the logical central processing unit control unit has a means for measuring the operating time of the virtual computer. Computer operating time measurement control method.
JP5189627A 1993-07-30 1993-07-30 Measuring control system for operating time of virtual computer in virtual computer system Pending JPH0744405A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5189627A JPH0744405A (en) 1993-07-30 1993-07-30 Measuring control system for operating time of virtual computer in virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5189627A JPH0744405A (en) 1993-07-30 1993-07-30 Measuring control system for operating time of virtual computer in virtual computer system

Publications (1)

Publication Number Publication Date
JPH0744405A true JPH0744405A (en) 1995-02-14

Family

ID=16244465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5189627A Pending JPH0744405A (en) 1993-07-30 1993-07-30 Measuring control system for operating time of virtual computer in virtual computer system

Country Status (1)

Country Link
JP (1) JPH0744405A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212467A (en) * 1996-01-30 1997-08-15 Fujitsu Ltd Load decentralization control system
JP2008234191A (en) * 2007-03-19 2008-10-02 Toshiba Corp Hardware monitor management device and method of executing hardware monitor function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212467A (en) * 1996-01-30 1997-08-15 Fujitsu Ltd Load decentralization control system
JP2008234191A (en) * 2007-03-19 2008-10-02 Toshiba Corp Hardware monitor management device and method of executing hardware monitor function

Similar Documents

Publication Publication Date Title
US6466962B2 (en) System and method for supporting real-time computing within general purpose operating systems
US5506975A (en) Virtual machine I/O interrupt control method compares number of pending I/O interrupt conditions for non-running virtual machines with predetermined number
JPH0695898A (en) Control method for virtual computer and virtual computer system
JPS61206043A (en) Interruption control method in virtual computer system
JPH0792761B2 (en) Input / output control method for virtual computer system
CN103744716A (en) Dynamic interrupt balanced mapping method based on current virtual central processing unit (VCPU) scheduling state
KR20160033517A (en) Hybrid virtualization scheme for interrupt controller
US7111200B2 (en) Apparatus and method for debugging a logical partition
JP2900767B2 (en) Virtual computer running time interval control method for virtual computer system
JPH0981401A (en) Global resource capping method
JP2009223842A (en) Virtual machine control program and virtual machine system
JPH06243112A (en) Multiprocessor device
JPH11259316A (en) Cpu capability adjustment method
US8719836B2 (en) Method and device for operating a secondary operating system auxiliary to a primary operating system
JPH0744405A (en) Measuring control system for operating time of virtual computer in virtual computer system
JPS59167756A (en) Dispatch control system of virtual computer
JP2000215071A (en) Virtual computer system
JPH07219787A (en) Parallel distributed processing system of estimation control type, computer system and network system
JPS603229B2 (en) Information processing method
JPH09282196A (en) Program run control system for complex logic processor system
JPS6313218B2 (en)
JPS5958553A (en) Dispatch control system of integrated type virtual computer
JPS6031649A (en) Timer controlling method in virtual computer system
JPH10260850A (en) Virtual computer system
JP3022398B2 (en) Virtual computer system