[go: up one dir, main page]

JPH09114683A - Control method of computer system - Google Patents

Control method of computer system

Info

Publication number
JPH09114683A
JPH09114683A JP26679195A JP26679195A JPH09114683A JP H09114683 A JPH09114683 A JP H09114683A JP 26679195 A JP26679195 A JP 26679195A JP 26679195 A JP26679195 A JP 26679195A JP H09114683 A JPH09114683 A JP H09114683A
Authority
JP
Japan
Prior art keywords
communication
state
virtual
computer system
execution
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
JP26679195A
Other languages
Japanese (ja)
Inventor
Toshiharu Tanaka
俊治 田中
Yoshihide Jin
好秀 神
Shiyouichirou Yoshioka
正壱郎 吉岡
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 JP26679195A priority Critical patent/JPH09114683A/en
Publication of JPH09114683A publication Critical patent/JPH09114683A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】1台の計算機において複数のOSが走行可能な
計算機システムにおいて、OS間での交信の終了待ちの
ためのループ時間を削減することにある。 【解決手段】仮想計算機システムにおいて、OS210
−1がOS210−2と交信開始後、OS210−1が
交信状態判定命令を発行したとき、前記交信が終了状態
か否かを判定する。そして、交信が終了状態のとき、O
S210−1に交信の終了を報告する。一方、交信が実
行状態のとき、OS210−1の走行を保留し、OS2
10−2がOS210−1に交信終了を報告した後、O
S210−1を走行可能状態にして交信実行中を報告す
る。
(57) Abstract: A computer system capable of running a plurality of OSs on one computer is to reduce the loop time for waiting for the end of communication between the OSs. In a virtual computer system, an OS 210
When the OS 210-1 issues a communication state determination command after the -1 starts communicating with the OS 210-2, it is determined whether the communication is in the end state. And, when the communication is finished, O
The end of communication is reported to S210-1. On the other hand, when the communication is in the execution state, the running of the OS 210-1 is suspended and the OS 2
After 10-2 reports the end of communication to OS 210-1, O
S210-1 is set to the runnable state and the communication execution is reported.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は計算機システムの制
御方法に関し、特に、1台の計算機において複数のオペ
レーティング・システムが走行する計算機システムの制
御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system control method, and more particularly to a computer system control method in which a plurality of operating systems run on one computer.

【0002】[0002]

【従来の技術】1台の計算機において複数のオペレーテ
ィング・システム(OS)が走行可能な計算機システム
として仮想計算機システムがある。仮想計算機システム
は、特開昭64−37636号公報に記載のように仮想
計算機モニタ(VMM)(前記公報では、ハイパバイザ
・プログラムと呼んでいる)の制御の下で複数の論理的
な計算機である仮想計算機を生成し、各仮想計算機にお
いて対応するOSを1台の計算機において時分割で走行
させる。仮想計算機システムでは1台の計算機を複数の
OSが共用するため、さまざまな性能低下の要因があ
る。このため、従来よりさまざまな高性能化を支援する
技術が開発されてきた。
2. Description of the Related Art There is a virtual computer system as a computer system capable of running a plurality of operating systems (OS) on one computer. The virtual computer system is a plurality of logical computers under the control of a virtual computer monitor (VMM) (referred to as a hypervisor program in the above publication) as described in JP-A-64-37636. A virtual computer is generated, and the OS corresponding to each virtual computer is run on one computer in a time-sharing manner. In a virtual computer system, one computer is shared by a plurality of OSs, which causes various factors of performance degradation. For this reason, various technologies have been developed in the past for supporting various performance enhancements.

【0003】例えば、特開昭62−163149号公報
に記載の仮想計算機のディスパッチ制御方式は、マルチ
プロセッサ構成の仮想計算機に対する1つの高性能化方
式を開示している。前記公報によれば、マルチプロセッ
サ構成の仮想計算機の第1の仮想プロセッサでメモリの
ロック状態を検出したとき、この第1の仮想プロセッサ
の走行を中断して、同一の仮想計算機を構成する第2の
仮想プロセッサ(メモリのロックを確保している可能性
を有する仮想プロセッサ)を順次走行させる。これによ
り第1の仮想プロセッサがメモリのロック開放状態の確
認およびロックの獲得のために発行するロック状態判定
命令によるループ(ロックを他の仮想プロセッサが確保
している場合には開放されるまで再度ロック状態判定命
令を発行し、命令を発行した仮想プロセッサがロックを
確保する処理)の時間を他の仮想プロセッサの走行に転
用可能となり、計算機のプロセッサを有効に利用でき
る。
For example, a dispatch control method for a virtual machine disclosed in Japanese Patent Laid-Open No. 62-163149 discloses one high performance method for a virtual machine having a multiprocessor configuration. According to the above publication, when the first virtual processor of the virtual machine of the multiprocessor configuration detects the memory lock state, the running of the first virtual processor is interrupted to configure the second virtual processor of the same virtual machine. Virtual processors (virtual processors that have the possibility of securing the memory lock) are sequentially run. As a result, the first virtual processor executes a loop based on a lock state determination instruction issued to confirm the lock release state of the memory and acquire the lock (if another virtual processor holds the lock, the loop is executed again until the lock is released. It is possible to divert the time of issuing the lock state determination instruction and the virtual processor that issued the instruction to secure the lock) to the running of another virtual processor, and to effectively use the processor of the computer.

【0004】一方、特開平6−4490号公報に記載の
データ処理システムは、1つあるいは複数の結合機構
(CF:Coupling Facility)と複数
のプロセッサ(前記公報では、中央処理復号体(CP
C)と呼んでいる)がチャネルを介して接続されるデー
タ処理システムを開示している。このデータ処理システ
ムでは、プロセッサ上のOSは、センドメッセージ(S
MSG)命令を用いて結合機構にリクエストを送り、結
合機構はリクエストを処理後、プロセッサ上のOSに実
行結果を報告する。また、プロセッサ上のOSはテスト
メッセージ(TMSG)命令を用いて、結合機構におい
てリクエストを実行中か否かを判定できる。
On the other hand, the data processing system described in Japanese Patent Laid-Open No. 6-4490 has one or a plurality of coupling mechanisms (CF) and a plurality of processors (in the above-mentioned publication, a central processing decoder (CP).
Called C)) discloses a data processing system connected via a channel. In this data processing system, the OS on the processor sends the send message (S
The MSG) instruction is used to send a request to the coupling mechanism, and the coupling mechanism processes the request and then reports the execution result to the OS on the processor. Further, the OS on the processor can use the test message (TMSG) instruction to determine whether or not the request is being executed in the coupling mechanism.

【0005】[0005]

【発明が解決しようとする課題】前記特開昭62−16
3149号公報に記載の仮想計算機のディスパッチ制御
方式は、マルチプロセッサ構成の仮想計算機の性能向上
に大いに役立つ。しかしながら、前記特開平6−449
0号公報に記載のデータ処理システムを、仮想計算機シ
ステムにより1台の計算機内に実現しようとすると、次
の課題がある。
The above-mentioned Japanese Patent Application Laid-Open No. 62-16 / 1987.
The dispatch control method for virtual machines described in Japanese Patent No. 3149 is very useful for improving the performance of a virtual machine having a multiprocessor configuration. However, the above-mentioned JP-A-6-449
If the data processing system described in Japanese Patent No. 0 is attempted to be realized in one computer by a virtual computer system, there are the following problems.

【0006】前記特開平6−4490号公報に記載のデ
ータ処理システムを仮想計算機システムにより1台の計
算機内に実現した場合、1台の計算機内に仮想計算機と
して実現される1つあるいは複数の論理的な結合機構
(仮想結合機構)と複数の仮想プロセッサが存在し、各
仮想プロセッサが仮想結合機構と交信することになる。
When the data processing system described in Japanese Patent Laid-Open No. 6-4490 is realized in one computer by a virtual computer system, one or a plurality of logics realized as virtual computers in one computer. There is a general coupling mechanism (virtual coupling mechanism) and a plurality of virtual processors, and each virtual processor communicates with the virtual coupling mechanism.

【0007】ここで、仮想プロセッサ上のOSが前述の
SMSG命令を発行後、交信の終了を確認するためにT
MSG命令によるループ(交信が終了していなければ再
度TMSG命令を発行し、交信が終了していれば次の処
理に移るという処理)に入ったとする。この交信は、仮
想結合機構が計算機においてリクエストを処理するため
に走行し、仮想プロセッサ上のOSにリクエストの実行
結果を報告しない限り終了しない。このため、仮想プロ
セッサ上のOSがSMSG命令発行後、仮想結合機構が
プロセッサ上で走行していない場合、このOSはTMS
G命令のループから抜け出ることができず、プロセッサ
時間の無駄使いとなってしまう。
[0007] Here, after the OS on the virtual processor issues the above-mentioned SMSG instruction, in order to confirm the end of communication, T
It is assumed that a loop by the MSG command (a process of issuing the TMSG command again if the communication is not completed and moving to the next process if the communication is completed) is performed. This communication does not end unless the virtual coupling mechanism runs to process the request in the computer and reports the execution result of the request to the OS on the virtual processor. Therefore, if the virtual coupling mechanism is not running on the processor after the OS on the virtual processor issues the SMSG instruction, this OS is
It is impossible to get out of the loop of the G instruction, which wastes processor time.

【0008】従って、プロセッサを有効に利用するとい
う観点から、どのようにすればこの無駄なループを削減
できるかという問題がある。また、仮想プロセッサ上の
OSと仮想結合機構との間の交信に限らず、一般的に仮
想計算機システムのような1台の計算機において複数の
OSが走行する計算機システムにおいて、OS間での交
信の終了待ちの無駄なループをどのようにすれば削減で
きるかという問題がある。
Therefore, from the viewpoint of effectively utilizing the processor, there is a problem of how to reduce this useless loop. Further, not only the communication between the OS on the virtual processor and the virtual coupling mechanism, but also in a computer system such as a virtual computer system in which a plurality of OSs run in one computer, communication between the OSs is generally performed. There is a problem of how to reduce useless loops waiting for completion.

【0009】本発明の目的は、該問題を解決することに
あり、1台の計算機において複数のOSが走行する計算
機システムにおいて、OS間の交信の終了待ちのための
ループ時間を削減することにある。
An object of the present invention is to solve the problem, and to reduce the loop time for waiting for the end of communication between OSs in a computer system in which a plurality of OSs run in one computer. is there.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するた
め、本発明の計算機システムの制御方法としては、複数
のオペレーティング・システム(OS)が1台の計算機
を時分割で共用する計算機システムの制御方法であっ
て、前記複数の中の第1のOSが第2のOSと交信開始
後、第1のOSが交信の実行状態判定命令を発行したこ
とに応じて、前記交信が終了状態か否かを判定し、前記
交信が終了状態のとき第1のOSに交信終了を報告し、
前記交信が実行状態のとき第1のOSを走行保留状態に
し、第2のOSが第1のOSに前記交信の終了を報告し
たことに応じて、第1のOSを走行可能状態にし、第1
のOSの走行再開時に前記交信の実行状態を報告するよ
うに制御する。
To achieve the above object, a computer system control method according to the present invention is a computer system control in which a plurality of operating systems (OS) share one computer in a time-division manner. A method of determining whether the communication is in an end state in response to the first OS issuing a communication execution state determination command after the first OS starts communication with the second OS. Whether the communication is completed, the communication completion is reported to the first OS,
When the communication is in the execution state, the first OS is put in a running hold state, and the second OS makes the first OS runable in response to the fact that the second OS reports the end of the communication to the first OS. 1
When the OS restarts, the execution state of the communication is reported.

【0011】ただし、第1のOSの走行再開時に交信実
行中を報告するように制御してもよい。
However, it may be controlled so as to report that the communication is being executed when the traveling of the first OS is resumed.

【0012】また、第1のOSの走行再開時に交信終了
を報告するように制御してもよい。
Further, it may be controlled so as to report the end of communication when the traveling of the first OS is resumed.

【0013】さらに、第1のOSが第2のOSと交信開
始時に、第2のOSを走行可能状態とするように制御す
る。
Further, when the first OS starts communicating with the second OS, the second OS is controlled so as to be in a runnable state.

【0014】複数のオペレーティング・システム(O
S)が1台の計算機を時分割で共用する計算機システム
において、前記複数の中の第1のOSが第2のOSと交
信開始後、第1のOSが交信の実行状態判定命令を発行
したことに応じて、前記交信が終了状態か否かを判定
し、前記交信が終了状態のとき第1のOSに交信終了を
報告し、前記交信が実行状態のとき第1のOSを走行保
留状態にし、第2のOSが第1のOSに前記交信の終了
を報告したことに応じて、第1のOSを走行可能状態に
し、第1のOSの走行再開時に前記交信の実行状態を報
告するように制御することにより、1台の計算機におい
て複数のOSが走行する計算機システムにおいてOS間
での交信の終了待ちのためのループ時間を削減してい
る。
Multiple operating systems (O
In a computer system in which S) shares one computer in a time-sharing manner, the first OS of the plurality of OSs starts communication with the second OS, and then the first OS issues a communication execution state determination command. Accordingly, it is determined whether or not the communication is in the end state, the communication end is reported to the first OS when the communication is in the end state, and the first OS is in the running hold state when the communication is in the execution state. In response to the fact that the second OS reports the end of the communication to the first OS, the first OS is set to the runnable state, and the execution state of the communication is reported when the running of the first OS is resumed. By controlling in this way, the loop time for waiting for the end of communication between OSs in a computer system in which a plurality of OSs run in one computer is reduced.

【0015】なお、第1のOSの走行再開時に交信実行
中を報告するように制御した場合、第1のOSの実行状
態判定命令によるループでは、実行状態判定命令を2回
発行後、ループから抜け出ることができる。
If the execution of the first OS is controlled to report that the communication is being executed when the running of the first OS is resumed, the loop based on the execution status determination command of the first OS issues the execution status determination command twice and then the loop is executed from the loop. You can get out.

【0016】また、第1のOSの走行再開時に交信終了
を報告するように制御した場合、第1のOSの実行状態
判定命令によるループでは、実行状態判定命令を1回発
行後、ループから抜け出ることができる。
Further, when the communication end is controlled to report when the first OS resumes running, in the loop based on the execution state determination command of the first OS, the execution state determination command is issued once and then the loop is exited. be able to.

【0017】さらに、第1のOSが第2のOSと交信開
始時に、第2のOSを走行可能状態とすることにより、
確実に第2のOSが起動され、第2のOSが第1のOS
に交信終了を報告するようにできる。
Further, when the first OS starts communication with the second OS, the second OS is set to the runnable state,
The second OS is surely started, and the second OS is the first OS.
Can be notified to the end of the communication.

【0018】[0018]

【発明の実施の形態】以下、本発明の2つの実施例を、
図を用いて詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Two embodiments of the present invention will be described below.
This will be described in detail with reference to the drawings.

【0019】1.仮想計算機システムの構成 図1は、仮想計算機システムの構成図である。1. Configuration of Virtual Computer System FIG. 1 is a configuration diagram of a virtual computer system.

【0020】図1において、100は計算機、110は
仮想計算機モニタである。仮想計算機モニタ110の制
御により3台の仮想計算機200−i(i=1,2,
3)が生成され、各仮想計算機200−iにおいて対応
するオペレーティング・システム(OS210−1,O
S210−2,OS210−3)が時分割で走行してい
る。
In FIG. 1, 100 is a computer and 110 is a virtual computer monitor. Under control of the virtual computer monitor 110, three virtual computers 200-i (i = 1, 2,
3) is generated, and the corresponding operating system (OS 210-1, O 210-1, O in each virtual computer 200-i is generated.
S210-2, OS210-3) are running in time division.

【0021】また、300−i(i=1,2,3)は、
仮想計算機モニタ110が各OS210−iの状態を管
理するための状態テーブルである。さらに、仮想計算機
モニタ110は、ディスパッチ可能キュー400にディ
スパッチ可能なOSの状態テーブル300−j(図1で
は、j=1,2)をキューイングし、ディスパッチ保留
キュー410にはディスパッチを保留されているOSの
状態テーブル300−k(図1では、k=3)をキュー
イングする。状態テーブル300の詳細な構成、およ
び、ディスパッチ可能キュー400およびディスパッチ
保留キュー410の使用方法については後で詳しく述べ
る。
Further, 300-i (i = 1, 2, 3) is
It is a status table for the virtual machine monitor 110 to manage the status of each OS 210-i. Further, the virtual machine monitor 110 queues the OS state table 300-j (j = 1, 2 in FIG. 1) that can be dispatched to the dispatchable queue 400, and the dispatch hold queue 410 holds dispatch. The state table 300-k (k = 3 in FIG. 1) of the operating OS is queued. The detailed configuration of the state table 300 and how to use the dispatchable queue 400 and the dispatch hold queue 410 will be described in detail later.

【0022】仮想計算機モニタ110は、プロセッサを
含む計算機資源を管理し、状態テーブル300等を用い
てOSのスケジューリングおよび起動を行う。また、仮
想計算機モニタ110は、従来から行われているように
1部の命令をシミュレーションする。
The virtual computer monitor 110 manages computer resources including a processor, and uses the status table 300 or the like to schedule and boot an OS. Further, the virtual machine monitor 110 simulates a part of the instruction as is conventionally done.

【0023】2.OS間の交信に使用される命令および
テーブルの構成 図2は、OS間の交信に使用される命令およびテーブル
の説明図である。
2. Configuration of Commands and Tables Used for Communication Between OSs FIG. 2 is an explanatory diagram of commands and tables used for communication between OSs.

【0024】図2において、OS210−1に対応する
状態テーブル300−1は、次のフィールドから構成さ
れる。
In FIG. 2, the state table 300-1 corresponding to the OS 210-1 is composed of the following fields.

【0025】(a)要求先フィールド310:交信先の
OSの識別子を保持するフィールドである。
(A) Request destination field 310: This is a field for holding the identifier of the OS of the communication destination.

【0026】(b)実行中フラグ320:状態テーブル
300−1に対応するOS210−1が他のOSと交信
実行中か否かの情報を保持するフィールドである。
(B) Execution flag 320: This field holds information as to whether the OS 210-1 corresponding to the state table 300-1 is communicating with another OS.

【0027】(c)ビジーウェイトフラグ330:状態
テーブル320−1に対応するOS210−1が交信実
行中に実行状態判定命令を発行した結果、OS210−
1の走行が保留された状態であることを示すフィールド
である。
(C) Busy wait flag 330: As a result of the OS 210-1 corresponding to the status table 320-1 issuing an execution status determination command during communication execution, the OS 210-
This is a field indicating that the traveling of No. 1 is on hold.

【0028】(d)状態テーブルポインタ340:図1
に示した2つのキュー(ディスパッチ可能キュー400
およびディスパッチ保留キュー410)において次の状
態テーブル300のアドレスを保持するためのフィール
ドである。
(D) State table pointer 340: FIG.
The two queues shown in (the dispatchable queue 400
And a field for holding the address of the next state table 300 in the dispatch hold queue 410).

【0029】(e)レジスタフィールド350:次にO
Sを起動する時のレジスタの初期値を示すフィールドで
ある。
(E) Register field 350: O next
This is a field indicating the initial value of the register when S is activated.

【0030】この状態テーブル300−1を用いて、仮
想計算機モニタ110が交信開始命令、交信終了報告命
令、および、実行状態判定命令の3つの命令をどのよう
にシミュレーションするかを次に示す。なお、ビジーウ
ェイトフラグ330および状態テーブルポインタ340
の使用方法については、後で詳しく述べる。
Using the status table 300-1, how the virtual computer monitor 110 simulates the three commands of the communication start command, the communication end report command, and the execution state determination command will be described below. The busy wait flag 330 and the state table pointer 340
The usage of will be described in detail later.

【0031】(a)交信開始命令 交信開始命令は、命令を発行したOSと、命令で指定し
た要求先のOSとの間で交信を開始するための命令であ
る。例えば、OS210−1がリクエストの内容および
要求先を指定して交信開始命令を発行すると、仮想計算
機モニタ110に制御が渡るとともに、その時点での計
算機100のレジスタの値が状態テーブル300−1の
レジスタフィールド350に退避される。仮想計算機モ
ニタ110は、走行していたOS210−1に対応する
状態テーブル300−1の要求先フィールド310に命
令で指定された要求先を格納するとともに、実行中フラ
グ320に交信中を示す’1’を格納し、また、要求先
のOS210−2に命令で指定されたリクエスト内容及
び要求元を報告することにより交信開始命令をシミュレ
ーションする。
(A) Communication Start Command The communication start command is a command for starting communication between the OS that issued the command and the requested OS specified by the command. For example, when the OS 210-1 specifies the content of the request and the request destination and issues a communication start command, control is passed to the virtual computer monitor 110, and the register value of the computer 100 at that time is stored in the state table 300-1. It is saved in the register field 350. The virtual machine monitor 110 stores the request destination specified by the instruction in the request destination field 310 of the status table 300-1 corresponding to the running OS 210-1, and the execution flag 320 indicates that communication is in progress. 'Is stored, and the communication start command is simulated by reporting the request content and request source specified by the command to the request destination OS 210-2.

【0032】(b)交信終了報告命令 交信終了報告命令は、リクエストを受けたOSが交信開
始命令を発行したOSにリクエストの実行結果を報告す
るための命令である。例えば、OS210−2が実行結
果および報告先を指定して交信終了報告命令を発行する
と、仮想計算機モニタ110に制御が渡るとともに、そ
の時点での計算機100のレジスタの値が走行していた
OS210−2の状態テーブル300−2のレジスタフ
ィールド350に退避される。仮想計算機モニタ110
は、命令で指定された報告先に対応する状態テーブル3
00−1の実行中フラグ320に交信終了を示す’0’
を格納し、また、報告先のOS210−1に命令で指定
された実行結果を報告することにより交信終了報告命令
をシミュレーションする。
(B) Communication end report command The communication end report command is a command for the OS that received the request to report the execution result of the request to the OS that issued the communication start command. For example, when the OS 210-2 issues the communication end report command specifying the execution result and the report destination, the control is passed to the virtual computer monitor 110 and the value of the register of the computer 100 at that time is running. No. 2 state table 300-2 is saved in the register field 350. Virtual computer monitor 110
Is the status table 3 corresponding to the report destination specified by the command.
"0" indicating the end of communication in the in-execution flag 320 of 00-1
Is stored, and the communication end report command is simulated by reporting the execution result designated by the command to the OS 210-1 of the report destination.

【0033】(c)実行状態判定命令 実行状態判定命令は、命令を発行したOSに交信状態
(交信実行中か、交信終了か)を報告するための命令で
ある。OS210−1が実行状態判定命令を発行する
と、仮想計算機モニタ110に制御が渡るとともに、そ
の時点での計算機100のレジスタの値が状態テーブル
300−1のレジスタフィールド350に退避される。
仮想計算機モニタ110は、OS210−1に対応する
状態テーブル300−1の実行中フラグ320の値が交
信実行中を示す’1’のときOS210−1に交信実行
中を報告し、実行中フラグ320の値が交信終了を’
0’のときOS210−1に交信終了(交信未実行中)
を報告することにより実行状態判定命令をシミュレーシ
ョンする。
(C) Execution Status Judgment Command The execution status judgment command is a command for reporting the communication status (communication in progress or communication end) to the OS that issued the command. When the OS 210-1 issues the execution state determination command, control is passed to the virtual computer monitor 110, and the register value of the computer 100 at that time is saved in the register field 350 of the state table 300-1.
The virtual machine monitor 110 reports that the communication is being executed to the OS 210-1 when the value of the execution flag 320 of the status table 300-1 corresponding to the OS 210-1 is “1” indicating that communication is being executed, and the execution flag 320 is being executed. The value of is the end of communication.
When it is 0 ', communication with OS 210-1 is completed (communication is not being executed)
The execution state determination instruction is simulated by reporting

【0034】3.仮想計算機システムの動作の第1の実
施例 図3は、第1の実施例の仮想計算機システムの動作を説
明するフローチャートである。
3. First Embodiment of Operation of Virtual Machine System FIG. 3 is a flow chart for explaining the operation of the virtual machine system of the first embodiment.

【0035】まず、仮想計算機システムにおいて、OS
210−1がOS210−2に対して交信開始命令を発
行する(ステップ3000)と、仮想計算機モニタ11
0にこの交信開始命令は割り出される。この割り出しの
後、仮想計算機モニタ110は前述のように状態テーブ
ル300−1を用いて、OS210−2にOS210−
1からの交信要求をシミュレーションし、OS210−
2の状態テーブル300−2をディスパッチ可能キュー
400にキューイングしてOS210−2を走行可能状
態にする(ステップ3010)。この結果、OS210
−2はOS210−1からの交信要求を受信する(ステ
ップ3020)。
First, in the virtual computer system, the OS
When the 210-1 issues a communication start command to the OS 210-2 (step 3000), the virtual machine monitor 11
This communication start command is assigned to 0. After this indexing, the virtual machine monitor 110 uses the status table 300-1 to change the OS 210-2 to the OS 210-
OS 210-simulating the communication request from
The state table 300-2 of No. 2 is queued in the dispatchable queue 400 to put the OS 210-2 in a runnable state (step 3010). As a result, the OS 210
-2 receives the communication request from the OS 210-1 (step 3020).

【0036】その後、OS210−1が交信の実行状態
判定命令を発行する(ステップ3030)と仮想計算機
モニタ110にこの実行状態判定命令は割り出される。
この割り出しの後、仮想計算機モニタ110は前述のよ
うに状態テーブル300−1を用いて、交信が完了した
か否かを判定し(ステップ3040)、交信が終了状態
のとき、OS210−1に交信の終了を報告する(ステ
ップ3050)。この結果、OS210−1における交
信終了か否かの判定がYESとなり(ステップ306
0)、OS210−1は次の処理(例えば、次の交信開
始命令の処理)を実行する。
Thereafter, when the OS 210-1 issues a communication execution state determination command (step 3030), this execution state determination command is determined by the virtual machine monitor 110.
After this indexing, the virtual computer monitor 110 uses the status table 300-1 as described above to determine whether or not the communication is completed (step 3040). When the communication is completed, the virtual machine monitor 110 communicates with the OS 210-1. (Step 3050). As a result, the determination in the OS 210-1 as to whether or not the communication has ended is YES (step 306
0), the OS 210-1 executes the following processing (for example, processing of the next communication start command).

【0037】一方、交信が実行状態のとき、仮想計算機
モニタ110はOS210−1の状態テーブル300−
1のビジーウェイトフラグ330にウェイトを示す’
1’を設定して、OS210−1の状態テーブル300
−1をディスパッチ保留キュー410にキューイングし
て走行を保留する(ステップ3070)。このような状
態をビジーウェイト状態と呼ぶ。
On the other hand, when the communication is in the execution state, the virtual computer monitor 110 displays the state table 300-of the OS 210-1.
Show the weight in the busy wait flag 330 of 1 '
1'is set, and the status table 300 of the OS 210-1
-1 is queued in the dispatch hold queue 410 to hold the run (step 3070). Such a state is called a busy wait state.

【0038】この後、OS210−1が走行を開始して
(ステップ3080)、OS210−2がOS210−
1に対して交信終了報告命令を発行する(ステップ30
90)と、仮想計算機モニタ110にこの交信終了報告
命令は割り出される。この交信終了報告命令の発行を契
機として、仮想計算機モニタ110は前述の状態テーブ
ル300を用いて交信終了報告命令をシミュレーション
し(ステップ3100)、交信終了を報告したOS21
0−1の状態テーブル300−1のビジーウェイトフラ
グ330の値が1か否か(ビジーウェイト中か否か)を
判定する(ステップ3110)。そして、ビジーウェイ
トフラグ330の値が’0’のとき(即ち、ビジーウェ
イト中でないとき)、走行可能なOSをディスパッチ可
能キュー400から選択する(ステップ3130)。
After that, the OS 210-1 starts running (step 3080), and the OS 210-2 changes to the OS 210-.
Issue a communication end report command to 1 (step 30)
90), the communication end report command is issued to the virtual machine monitor 110. When the communication end report command is issued, the virtual machine monitor 110 simulates the communication end report command using the above-mentioned state table 300 (step 3100) and reports the communication end to the OS 21.
It is determined whether or not the value of the busy wait flag 330 of the 0-1 status table 300-1 is 1 (whether busy wait is in progress) (step 3110). Then, when the value of the busy wait flag 330 is “0” (that is, when the busy wait is not in progress), a runnable OS is selected from the dispatchable queue 400 (step 3130).

【0039】一方、ビジーウェイトフラグ330の値
が’1’のとき(即ち、ビジーウェイト中のとき)、ビ
ジーウェイトフラグ330に’0’を設定するとともに
OS210−1の状態テーブル300−1をディスパッ
チ保留キュー410から取り除き、ディスパッチ可能キ
ュー400にキューイングし(ステップ3120)、走
行可能なOSをディスパッチ可能キュー400から選択
する(ステップ3130)。
On the other hand, when the value of the busy wait flag 330 is "1" (that is, during busy wait), the busy wait flag 330 is set to "0" and the state table 300-1 of the OS 210-1 is dispatched. It is removed from the hold queue 410, queued in the dispatchable queue 400 (step 3120), and a runnable OS is selected from the dispatchable queue 400 (step 3130).

【0040】次に、選択したOSがビジーウェイトを解
除したOS210−1かを判定(ステップ3140)
し、OS210−1の場合には起動時に交信実行中を報
告し(ステップ3150)、OS210−1以外の場合
には選択したOSを起動する(ステップ3160)。
Next, it is judged whether the selected OS is the OS 210-1 that released the busy wait (step 3140).
Then, in the case of the OS 210-1, the communication execution is reported at the time of activation (step 3150), and in the case other than the OS 210-1, the selected OS is activated (step 3160).

【0041】この結果、OS210−1を起動した場
合、ステップ3060における交信終了の判定はNOと
なり、次にOS210−1がステップ3030において
実行状態判定命令を発行したとき、ステップ3060で
は交信終了と判定され、OS210−1は次の処理に移
ることができる。このようにして、OS210−1の実
行状態判定命令による無駄なループを抑止することがで
きる。
As a result, when the OS 210-1 is started, the determination of the communication end in step 3060 is NO, and when the OS 210-1 issues the execution state determination command in step 3030 next, it is determined in step 3060 that the communication end. Then, the OS 210-1 can move to the next processing. In this way, a wasteful loop due to the execution state determination command of the OS 210-1 can be suppressed.

【0042】4.仮想計算機システムの動作の第2の実
施例 図4は、第2の実施例の仮想計算機システムの動作を説
明するフローチャートである。
4. Second Embodiment of Operation of Virtual Machine System FIG. 4 is a flow chart for explaining the operation of the virtual machine system of the second embodiment.

【0043】図4と図3のフローチャートは、次の1点
を除いて全く同じである。即ち、図3のステップ315
0では交信実行中をOS210−1に報告したが、対応
する図4のステップ3150’では交信終了をOS21
0−1に報告する。
The flowcharts of FIGS. 4 and 3 are exactly the same except for the following one point. That is, step 315 of FIG.
In 0, the communication execution is reported to the OS 210-1, but in the corresponding step 3150 ′ of FIG.
Report to 0-1.

【0044】このため、第1の実施例では実行状態判定
命令によるループ開始時点において交信実行中のとき、
OS210−1は実行状態判定命令を2回発行(1回目
は交信実行中が報告され、2回目は交信終了が報告され
る)してループから抜けるが、第2の実施例では実行状
態判定命令によるループにおいて、OS210−は実行
状態判定命令を1回(1回目に交信終了が報告される)
しか発行しないという違いがある。
Therefore, in the first embodiment, when communication is being executed at the start of the loop by the execution state determination instruction,
The OS 210-1 issues the execution state determination command twice (the communication execution is reported at the first time and the communication end is reported at the second time) and exits from the loop. However, in the second embodiment, the execution state determination command is executed. In the loop by, the OS 210-executes the execution state determination command once (the communication end is reported the first time).
The only difference is that it will only be issued.

【0045】以上のようにして、本実施例によれば、仮
想計算機システムにおいてOS間での交信の終了待ちの
ためのループ時間を削減できる。
As described above, according to the present embodiment, it is possible to reduce the loop time for waiting for the end of the communication between OSs in the virtual computer system.

【0046】[0046]

【発明の効果】本発明によれば、1台の計算機において
複数のOSが走行可能な計算機システムにおいて、OS
間での交信の終了待ちのためのループ時間を削減でき
る。
According to the present invention, in a computer system in which a plurality of OSs can run on one computer, the OS
It is possible to reduce the loop time for waiting for the end of communication between the two.

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

【図1】仮想計算機システムの構成を示す図である。FIG. 1 is a diagram showing a configuration of a virtual computer system.

【図2】本発明のOS間の交信に使用される命令および
テーブルを説明する図である。
FIG. 2 is a diagram illustrating instructions and tables used for communication between OSs of the present invention.

【図3】本発明の第1の実施例の仮想計算機システムの
動作を説明するフローチャートを示す図である。
FIG. 3 is a diagram showing a flowchart for explaining the operation of the virtual machine system according to the first embodiment of this invention.

【図4】本発明の第2の実施例の仮想計算機システムの
動作を説明するフローチャートを示す図である。
FIG. 4 is a diagram showing a flowchart for explaining the operation of the virtual machine system according to the second embodiment of this invention.

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

100…計算機、 110…仮想計算機モニタ、 20
0…仮想計算機、210…OS、 300…状態テー
ブル、 400…ディスパッチ可能キュー、
410…ディスパッチ保留キュー。
100 ... Computer, 110 ... Virtual computer monitor, 20
0 ... Virtual machine, 210 ... OS, 300 ... Status table, 400 ... Dispatchable queue,
410 ... Dispatch hold queue.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】複数のオペレーティング・システム(O
S)が1台の計算機を時分割で共用する計算機システム
の制御方法であって、 前記複数の中の第1のOSが第2のOSと交信開始後、
第1のOSが交信の実行状態判定命令を発行したことに
応じて、前記交信が終了状態か否かを判定し、 前記交信が終了状態のとき第1のOSに交信終了を報告
し、 前記交信が実行状態のとき第1のOSを走行保留状態に
し、 第2のOSが第1のOSに前記交信の終了を報告したこ
とに応じて、第1のOSを走行可能状態にし、 第1のOSの走行再開時に前記交信の実行状態を報告す
ることを特徴とする計算機システムの制御方法。
1. A method according to claim 1, wherein the plurality of operating systems include:
S) is a method for controlling a computer system in which one computer is shared in a time-sharing manner, wherein the first OS among the plurality of OSs starts communication with the second OS,
In response to the first OS issuing a communication execution state determination command, it is determined whether or not the communication is in an end state, and when the communication is in the end state, the communication end is reported to the first OS. When the communication is in the execution state, the first OS is put in the running hold state, and the second OS reports the end of the communication to the first OS, and then the first OS is set in the runnable state. A method for controlling a computer system, wherein the execution status of the communication is reported when the OS is restarted.
【請求項2】第1のOSの走行再開時に交信実行中を報
告することを特徴とする請求項1記載の計算機システム
の制御方法。
2. The method of controlling a computer system according to claim 1, further comprising reporting that communication is being executed when the first OS is restarted.
【請求項3】第1のOSの走行再開時に交信終了を報告
することを特徴とする請求項1記載の計算機システムの
制御方法。
3. The computer system control method according to claim 1, wherein the end of communication is reported when the first OS restarts running.
【請求項4】第1のOSが第2のOSと交信開始時に、
第2のOSを走行可能状態とすることを特徴とする請求
項1記載の計算機システムの制御方法。
4. When the first OS starts communication with the second OS,
2. The computer system control method according to claim 1, wherein the second OS is set to a runnable state.
JP26679195A 1995-10-16 1995-10-16 Control method of computer system Pending JPH09114683A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26679195A JPH09114683A (en) 1995-10-16 1995-10-16 Control method of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26679195A JPH09114683A (en) 1995-10-16 1995-10-16 Control method of computer system

Publications (1)

Publication Number Publication Date
JPH09114683A true JPH09114683A (en) 1997-05-02

Family

ID=17435743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26679195A Pending JPH09114683A (en) 1995-10-16 1995-10-16 Control method of computer system

Country Status (1)

Country Link
JP (1) JPH09114683A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018820A (en) * 2004-06-30 2006-01-19 Microsoft Corp System and method for executing operating system in virtual machine environment
US8146081B2 (en) 2006-12-27 2012-03-27 Kabushiki Kaisha Toshiba Method of selecting one of execution schedules of guest OSes and virtual machine monitor employing the method
JP2015501492A (en) * 2012-04-16 2015-01-15 中▲興▼通▲訊▼股▲ふぇん▼有限公司Zte Corporation Method and apparatus for realizing inter-virtual machine communication based on scheduling layer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018820A (en) * 2004-06-30 2006-01-19 Microsoft Corp System and method for executing operating system in virtual machine environment
US8146081B2 (en) 2006-12-27 2012-03-27 Kabushiki Kaisha Toshiba Method of selecting one of execution schedules of guest OSes and virtual machine monitor employing the method
JP2015501492A (en) * 2012-04-16 2015-01-15 中▲興▼通▲訊▼股▲ふぇん▼有限公司Zte Corporation Method and apparatus for realizing inter-virtual machine communication based on scheduling layer

Similar Documents

Publication Publication Date Title
US6834385B2 (en) System and method for utilizing dispatch queues in a multiprocessor data processing system
US20190370053A1 (en) Dynamic virtual machine sizing
US7752620B2 (en) Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions
US5095427A (en) Dispatch control of virtual machine
US8387075B1 (en) Common scheduling and synchronization primitives
US20050132363A1 (en) Method, apparatus and system for optimizing context switching between virtual machines
US20010034751A1 (en) Real-time OS simulator
JP4345630B2 (en) Information processing apparatus, interrupt processing control method, and computer program
EP0783734B1 (en) System and method for providing cooperative interrupts in a preemptive task scheduling environment
CN100568182C (en) Method and system for distributing work within a logically partitioned data processing system
US20110126208A1 (en) Processing Architecture Having Passive Threads and Active Semaphores
US8327369B2 (en) Launching low-priority tasks
US20090241112A1 (en) Recording medium recording virtual machine control program and virtual machine system
CA1304513C (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
KR102003721B1 (en) GPU Kernel transactionization method and computing device
JPH09114683A (en) Control method of computer system
JPH07160656A (en) External interrupt control method
CN108845969B (en) Operation control method and operation system suitable for incompletely symmetrical multi-processing microcontroller
JPH07141208A (en) Multitask processor
JPH09160790A (en) Task schedule device and task schedule method
US12307293B2 (en) Data processing systems
JPS62221041A (en) Dispatch controller in virtual computer system
KR102708907B1 (en) External exception handling
JPH0363768B2 (en)
JP3764282B2 (en) Control device for program control system