[go: up one dir, main page]

JP2014078186A - Multiplexing device, multiplexing method, and multiplexing program - Google Patents

Multiplexing device, multiplexing method, and multiplexing program Download PDF

Info

Publication number
JP2014078186A
JP2014078186A JP2012226587A JP2012226587A JP2014078186A JP 2014078186 A JP2014078186 A JP 2014078186A JP 2012226587 A JP2012226587 A JP 2012226587A JP 2012226587 A JP2012226587 A JP 2012226587A JP 2014078186 A JP2014078186 A JP 2014078186A
Authority
JP
Japan
Prior art keywords
input
signal
signal input
output
oss
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
JP2012226587A
Other languages
Japanese (ja)
Inventor
Yoshiaki Katayama
吉章 片山
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012226587A priority Critical patent/JP2014078186A/en
Publication of JP2014078186A publication Critical patent/JP2014078186A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】多重化のために専用のI/Oデバイスを作成しなくても、I/Oデバイスに対してI/Oアクセスの信頼性を向上させる。
【解決手段】この発明に係る多重化装置は、複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとのI/O入出力を管理して、複数のOSの各動作を制御する同期実行管理手段と、複数のOSからの各I/O出力値に基づいて、デバイスへI/O出力するI/O出力同期手段と、デバイスからのI/O入力値を複数のOSからの各I/O入力要求に基づいて、I/O入力要求したOSにI/O入力するI/O入力同期手段とを備えた。
【選択図】 図1
To improve the reliability of I / O access to an I / O device without creating a dedicated I / O device for multiplexing.
A multiplexing apparatus according to the present invention activates a plurality of operating systems (OS) to execute a common application, manages I / O input / output with a device, and manages a plurality of OSs. Synchronous execution management means for controlling each operation, I / O output synchronization means for outputting I / O to a device based on I / O output values from a plurality of OSs, and I / O input values from the device I / O input synchronization means for performing I / O input to the OS that requested I / O input based on each I / O input request from a plurality of OSs.
[Selection] Figure 1

Description

本発明は、1つの物理ハードウェア上でソフトウェア実行を多重化する多重化装置、多重化方法および多重化プログラムに関するものである。   The present invention relates to a multiplexing apparatus, a multiplexing method, and a multiplexing program for multiplexing software execution on one physical hardware.

従来の多重化装置は、仮想マシンを用いて仮想マシンモニタによりソフトウェア実行を多重化するとともに、複数の仮想インタフェースを持ち、複数の仮想マシンから同時にアクセス可能な専用のI/Oデバイスを用いることにより、I/Oデバイスに対するI/Oアクセスの信頼性を向上させていた(例えば、特許文献1)。   A conventional multiplexing device uses a virtual machine to multiplex software execution by a virtual machine monitor, and by using a dedicated I / O device having a plurality of virtual interfaces and simultaneously accessible from a plurality of virtual machines. The reliability of I / O access to an I / O device has been improved (for example, Patent Document 1).

特開2009−238068号公報JP 2009-238068 A

従来の多重化装置では、多重化のために専用のI/Oデバイスを作成する必要があるため、既存のI/Oデバイス等計算機システムに備えられたすべてのI/Oデバイスに対してI/Oアクセスの信頼性を向上させることができないという問題点があった。また、専用のI/Oデバイスを動作させるため、仮想マシンモニタやその上で動作するオペレーティングシステム(OS:Operating System)、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更しなければならないという問題点があった。   In the conventional multiplexing apparatus, since it is necessary to create a dedicated I / O device for multiplexing, the I / O for all the I / O devices provided in the computer system such as an existing I / O device is used. There was a problem that the reliability of O access could not be improved. Also, in order to operate dedicated I / O devices, software such as virtual machine monitor, operating system (OS: Operating System) and device drivers that operate on the virtual machine monitor are added and changed for each dedicated I / O device. There was a problem of having to.

この発明は、上記のような問題点を解決するためになされたもので、多重化のために専用のI/Oデバイスを作成しなくても、I/Oデバイスに対してI/Oアクセスの信頼性を向上させることができる多重化装置を提供することを目的とする。   The present invention has been made to solve the above-described problems, and it is possible to perform I / O access to an I / O device without creating a dedicated I / O device for multiplexing. An object of the present invention is to provide a multiplexing device capable of improving the reliability.

また、多重化して動作するオペレーティングシステム(OS)、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更しなくてもよい多重化装置を得ることを目的とする。   It is another object of the present invention to obtain a multiplexing device that does not require addition or change of software such as an operating system (OS) and device drivers that operate in a multiplexed manner for each dedicated I / O device.

この発明に係る多重化装置は、前記複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、前記複数のOSの各動作を制御する同期実行管理手段と、前記複数のOSからの各信号出力値に基づいて、前記デバイスへ信号出力する信号出力同期手段と、前記デバイスからの信号入力値を前記複数のOSからの各信号入力要求に基づいて、前記信号入力要求したOSに信号入力する信号入力同期手段とを備える。   The multiplexing apparatus according to the present invention starts up the plurality of operating systems (OS), causes each of them to execute a common application, manages signal input / output with the device, and controls each operation of the plurality of OSs Synchronization execution management means for performing signal output synchronization means for outputting a signal to the device based on signal output values from the plurality of OSs, and signal input values from the devices as signal inputs from the plurality of OSs. And a signal input synchronizing means for inputting a signal to the OS that requested the signal input based on the request.

この発明に係る多重化装置によれば、複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、複数のOSの各動作を制御する同期実行管理部(同期実行管理手段)と、複数のOSからの各信号出力値に基づいて、デバイスへ信号出力するI/O出力同期部(信号出力同期手段)と、デバイスからの信号入力値を複数のOSからの各I/O入力要求(信号入力要求)に基づいて、信号入力要求したOSに信号入力するI/O入力同期部(信号入力同期手段)とを備えたので、多重化のために専用のI/Oデバイスを作成しなくても、I/Oデバイスに対してI/Oアクセスの信頼性を向上させることができる。   According to the multiplexing apparatus according to the present invention, a plurality of operating systems (OS) are started to execute common applications, and signal input / output with the device is managed to control each operation of the plurality of OSs. A synchronization execution management unit (synchronization execution management unit), an I / O output synchronization unit (signal output synchronization unit) that outputs a signal to the device based on each signal output value from a plurality of OSs, and a signal input from the device Since an I / O input synchronization unit (signal input synchronization means) for inputting a signal to an OS that requested a signal input based on each I / O input request (signal input request) from a plurality of OSs, multiple values are provided. The reliability of I / O access to the I / O device can be improved without creating a dedicated I / O device for the purpose of implementation.

また、この発明に係る多重化装置によれば、多重化して動作するオペレーティングシステム(OS)、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更しなくてもよい多重化装置を得ることができる。   Further, according to the multiplexing apparatus of the present invention, the multiplexing system that does not need to add or change software such as an operating system (OS) and a device driver that operate in a multiplexed manner for each dedicated I / O device. Can be obtained.

この発明の実施の形態1に係る多重化装置の一例を示す構成図である。It is a block diagram which shows an example of the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置による初期化の一例を示すフローチャートである。It is a flowchart which shows an example of the initialization by the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置のI/O出力テーブルに登録する情報の一例を示す説明図である。It is explanatory drawing which shows an example of the information registered into the I / O output table of the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置によるI/O出力処理の一例を示す状態遷移図である。It is a state transition diagram which shows an example of the I / O output process by the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置のI/O出力処理の状態遷移に伴うI/O出力テーブルの推移の一例を示す説明図である。It is explanatory drawing which shows an example of transition of the I / O output table accompanying the state transition of the I / O output process of the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置のI/O入力テーブルに登録する情報の一例を示す説明図である。It is explanatory drawing which shows an example of the information registered into the I / O input table of the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置によるI/O入力処理の一例を示す状態遷移図である。It is a state transition diagram which shows an example of the I / O input process by the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置のI/O入力処理の状態遷移に伴うI/O入力テーブルの推移の一例を示す説明図である。It is explanatory drawing which shows an example of transition of the I / O input table accompanying the state transition of the I / O input process of the multiplexer which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る多重化装置による割込み処理の一例を示すフローチャートである。It is a flowchart which shows an example of the interruption process by the multiplexing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態2に係る多重化装置のI/O入力テーブルに登録する情報の一例を示す説明図である。It is explanatory drawing which shows an example of the information registered into the I / O input table of the multiplexing apparatus which concerns on Embodiment 2 of this invention. この発明の実施の形態2に係る多重化装置によるI/O入力処理の一例を示す状態遷移図である。It is a state transition diagram which shows an example of the I / O input process by the multiplexing apparatus which concerns on Embodiment 2 of this invention. この発明の実施の形態2に係る多重化装置のI/O入力処理の状態遷移に伴うI/O入力テーブルの推移の一例を示す説明図である。It is explanatory drawing which shows an example of transition of the I / O input table accompanying the state transition of the I / O input process of the multiplexer which concerns on Embodiment 2 of this invention.

この発明は、I/Oデバイスに対してI/Oアクセスの信頼性を向上させる多重化装置に関するものである。以下に、この発明に係る多重化装置について構成例、動作例を用いて説明する。   The present invention relates to a multiplexing apparatus that improves the reliability of I / O access to an I / O device. Hereinafter, a multiplexing apparatus according to the present invention will be described using configuration examples and operation examples.

実施の形態1.
図1は、この発明の実施の形態1に係る多重化装置の一例を示す構成図である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing an example of a multiplexing apparatus according to Embodiment 1 of the present invention.

図において、ハードウェア1は、多重化装置を動作させるための物理ハードウェアであり、CPU(Central Processing Unit。中央処理装置)、メモリなどを備える。デバイス2(デバイスX2x〜デバイスZ2z)は、ハードウェア1に内蔵、もしくはハードウェア1とPCI(Peripheral Component Interconnect)等のバスで接続された周辺装置である。仮想マシンモニタ3は、ハードウェア1上で複数のOSを動作させるためのソフトウェアである。オペレーティングシステム(OS)4(ここではOS−A4a〜OS−C4c)は、仮想マシンモニタ3上で動作するOSであり、例えばMicrosoft Windows(登録商標)やLinux(登録商標)といった汎用OSや、VxWorks(登録商標)やμITRON(登録商標)といったリアルタイムOSである。デバイスドライバ5(デバイスドライバA5a〜デバイスドライバC5c)は、OS4内で動作するものであり、デバイス2をOS4に認識させ、OS4上のアプリケーションプログラムからデバイス2の操作を可能にするソフトウェアである。ここで、デバイス2、デバイスドライバ5の数は任意とする。   In the figure, hardware 1 is physical hardware for operating a multiplexing device, and includes a CPU (Central Processing Unit), a memory, and the like. The device 2 (device X2x to device Z2z) is a peripheral device built in the hardware 1 or connected to the hardware 1 through a bus such as PCI (Peripheral Component Interconnect). The virtual machine monitor 3 is software for operating a plurality of OSs on the hardware 1. An operating system (OS) 4 (here, OS-A4a to OS-C4c) is an OS that operates on the virtual machine monitor 3, and is a general-purpose OS such as Microsoft Windows (registered trademark) or Linux (registered trademark), or VxWorks, for example. (Registered trademark) and μITRON (registered trademark). The device driver 5 (device driver A5a to device driver C5c) operates in the OS 4, and is software that allows the OS 2 to recognize the device 2 and to operate the device 2 from an application program on the OS 4. Here, the number of devices 2 and device drivers 5 is arbitrary.

また、仮想マシンモニタ3は、同期実行管理部6、I/O出力同期部7、I/O入力同期部8、割込み通知同期部9から構成される。同期実行管理部6は、複数のオペレーティングシステム(OS4)を起動してそれぞれに共通のアプリケーションソフトウェアを実行させ、デバイス2とのI/O入出力(信号入出力)、デバイス2からの割込みを管理して、複数のOSの各動作を制御する。複数のOS4の実行を同時に開始させ、これらOS4の一時停止や実行再開を制御することで多重化を管理するものである。I/O出力同期部7は、複数のOS4からの各I/O出力値(信号出力値)に基づいて、デバイス2へI/O出力(信号出力)する。OS4からの対象デバイスのI/O出力時に呼び出され、多重化された複数のOS4からのI/O出力に基づいて、I/O出力値を照合し、実際にI/O出力を実施するものである。I/O入力同期部8は、デバイス2からのI/O入力値(信号入力値)を複数のOS4からの各I/O入力要求(信号入力要求)に基づいて、I/O入力要求したOS4にI/O入力(信号入力)する。OS4からの対象デバイスのI/O入力時に呼び出され、多重化された複数のOS4からのI/O入力要求に基づいて、デバイスからのI/O入力値を複数のOS4へ受け渡して、実際にI/O入力を実施するものである。割込み通知同期部9は、デバイス2からの割込みを通知されると、複数のOS4に割込みに対応した処理を実行させる。対象デバイス2の割込み通知が発生した時に呼び出され、多重化された複数のOS4にその割込み通知を実施するものである。I/O出力テーブル(信号出力テーブル)10は、I/O出力同期部7がI/O出力する前にI/O出力値を照合するため、OS4ごとにI/O出力値を保持するテーブルである。I/O入力テーブル(信号入力テーブル)11は、I/O入力同期部8がI/O入力する前にI/O入力要求の有無を確認するため、OS4ごとにI/O入力要求フラグを保持するテーブルである。   The virtual machine monitor 3 includes a synchronization execution management unit 6, an I / O output synchronization unit 7, an I / O input synchronization unit 8, and an interrupt notification synchronization unit 9. The synchronous execution management unit 6 starts up a plurality of operating systems (OS4) and causes each of them to execute common application software, and manages I / O input / output (signal input / output) with the device 2 and interrupts from the device 2 Thus, each operation of the plurality of OSs is controlled. Multiplexing is managed by starting the execution of a plurality of OSs 4 at the same time and controlling the suspension and resumption of execution of these OSs 4. The I / O output synchronization unit 7 performs I / O output (signal output) to the device 2 based on each I / O output value (signal output value) from the plurality of OSs 4. Called at the time of I / O output of the target device from the OS 4, and collates the I / O output value based on the multiplexed I / O output from the plurality of OS 4, and actually performs the I / O output It is. The I / O input synchronization unit 8 requests an I / O input value (signal input value) from the device 2 based on each I / O input request (signal input request) from the plurality of OSs 4. I / O input (signal input) to OS4. Called at the time of I / O input of the target device from the OS 4 and based on the multiplexed I / O input request from the plurality of OS 4, the I / O input value from the device is transferred to the plurality of OS 4 to actually I / O input is performed. When notified of an interrupt from the device 2, the interrupt notification synchronization unit 9 causes the plurality of OSs 4 to execute processing corresponding to the interrupt. Called when an interrupt notification of the target device 2 is generated, the interrupt notification is executed to a plurality of multiplexed OSs 4. An I / O output table (signal output table) 10 is a table that holds I / O output values for each OS 4 in order to collate I / O output values before the I / O output synchronization unit 7 outputs I / O. It is. The I / O input table (signal input table) 11 sets an I / O input request flag for each OS 4 in order to confirm whether or not there is an I / O input request before the I / O input synchronization unit 8 performs I / O input. It is a table to hold.

ここで、仮想マシンモニタ3を構成する同期実行管理部6、I/O出力同期部7、I/O入力同期部8、割込み通知同期部9は、同期実行管理手段、I/O出力同期手段(信号出力同期手段)、I/O入力同期手段(信号入力同期手段)、割込み通知同期手段として機能する。仮想マシンモニタ3は、複数のOSおよびそれらOS上で動作するアプリケーションソフトウェアの多重化手段として動作する。この発明の多重化装置は、コンピュータで構成し、各手段として動作する多重化プログラムとして実装することができる。   Here, the synchronous execution management unit 6, the I / O output synchronization unit 7, the I / O input synchronization unit 8, and the interrupt notification synchronization unit 9 constituting the virtual machine monitor 3 are synchronized execution management means and I / O output synchronization means. (Signal output synchronization means), I / O input synchronization means (signal input synchronization means), and interrupt notification synchronization means. The virtual machine monitor 3 operates as a means for multiplexing a plurality of OSs and application software that operates on these OSs. The multiplexing apparatus of the present invention can be implemented as a multiplexing program that is configured by a computer and operates as each means.

なお、多重化されるOS4以外に少なくとも一つのOSが動作することで、仮想マシンモニタ3を実行して、多重化されるOS4の起動、I/O入出力、割込みなどの処理を制御するが、以下では、仮想マシンモニタ3を実行させる多重化対象外であるOSについては説明に取り上げないものとする。   In addition, when at least one OS other than the OS 4 to be multiplexed operates, the virtual machine monitor 3 is executed to control processing such as activation of the OS 4 to be multiplexed, I / O input / output, and interrupt. Hereinafter, an OS that is not a multiplexing target for executing the virtual machine monitor 3 is not described in the description.

図2は、この発明の実施の形態1に係る多重化装置による初期化の一例を示すフローチャートである。この図により、初期化について説明する。   FIG. 2 is a flowchart showing an example of initialization by the multiplexing apparatus according to Embodiment 1 of the present invention. The initialization will be described with reference to FIG.

(S101)
仮想マシンモニタ3は、この多重化装置の利用者や起動スクリプトなどの指示により、同期実行管理部6に多重化起動情報を通知する。多重化起動情報は、例えば、多重化して起動するOS4(OSのファイル名や識別番号など)、多重化の数(2以上)、対象とするI/O入出力(I/Oアドレスとサイズ)と割込み通知(割込み番号)などである。多重化起動情報の通知方法は特に言及しないが、例えば仮想マシンモニタ3が提供するサービスコール(これを一般的にはハイパーコールという)を利用するものとする。
(S101)
The virtual machine monitor 3 notifies the multiplexing execution information to the synchronous execution management unit 6 in accordance with an instruction from a user of the multiplexing device or a startup script. Multiplexing activation information includes, for example, OS4 (OS file name, identification number, etc.) to be multiplexed and started, number of multiplexing (2 or more), target I / O input / output (I / O address and size) And interrupt notification (interrupt number). Although a method for notifying the multiplexed activation information is not particularly mentioned, for example, a service call provided by the virtual machine monitor 3 (this is generally called a hyper call) is used.

(S102)
次に、同期実行管理部6は、対象とするデバイスについてI/O出力の場合はI/O出力同期部7を、I/O入力の場合はI/O入力同期部8を実行するようにI/O入出力発生時の処理を予め設定する。
(S102)
Next, the synchronization execution management unit 6 executes the I / O output synchronization unit 7 in the case of I / O output for the target device, and the I / O input synchronization unit 8 in the case of I / O input. A process when an I / O input / output occurs is set in advance.

(S103)
同期実行管理部6は、多重化の数の分、OS4を起動し、実行を開始させる。ここでは、多重化の数を3とし、OS−A4aからOS−C4cを起動するものとする。この設定方法としては、例えばメモリ管理ユニット(MMU:Memory Management Unit)や、CPUの特権モード、もしくは例えばIntel社製CPUのIntel VT機能やAMD社製CPUのAMD−V機能のようなI/Oアクセス保護機能を用いて当該I/Oアドレスへのアクセス保護を設定し、I/O入出力を検知するようにしてもよい。ここで、ハードウェア1がマルチCPUやマルチコアCPUを持つ場合、複数の異なるCPUまたはコアにOS4の実行をそれぞれ割り当てることにより並列にOS4を実行してもよい。
(S103)
The synchronous execution management unit 6 starts the OS 4 for the number of multiplexing and starts execution. Here, it is assumed that the number of multiplexing is 3, and the OS-A 4a starts OS-C 4c. As this setting method, for example, a memory management unit (MMU), a privileged mode of a CPU, or an I / O function such as an Intel VT function of an Intel CPU or an AMD-V function of an AMD CPU, for example. Access protection for the I / O address may be set using an access protection function to detect I / O input / output. Here, when the hardware 1 has a multi-CPU or a multi-core CPU, the OS 4 may be executed in parallel by assigning the execution of the OS 4 to a plurality of different CPUs or cores.

以下、OS−n(ここではOS−A4a〜OS−C4c)からのI/O出力処理、OS−nへのI/O入力処理および割込み処理について、具体的な例を示して説明する。なお、I/O出力処理、I/O入力処理および割込み処理は、説明順序によらず、システム運用時の発生状況によって適宜処理されるものとする。   Hereinafter, I / O output processing from the OS-n (here, OS-A 4a to OS-C 4c), I / O input processing to the OS-n, and interrupt processing will be described with specific examples. It is assumed that the I / O output process, the I / O input process, and the interrupt process are appropriately processed according to the state of occurrence during system operation, regardless of the order of explanation.

図3は、この発明の実施の形態1に係る多重化装置のI/O出力テーブルに登録する情報の一例を示す説明図である。   FIG. 3 is an explanatory diagram showing an example of information registered in the I / O output table of the multiplexing apparatus according to Embodiment 1 of the present invention.

図において、I/O出力テーブル(信号出力テーブル)10に登録する情報は、例えば(a)I/Oアドレス101、(b)I/O出力サイズ102、(c)多重化したOS4ごとのI/O出力値103a〜103cである。なお、I/O出力値103の格納エリアは、OS4の多重化の数によってOS対応に同数用意する。また、I/O出力テーブル10への各情報101から103の格納順序は、この例示した順序に限らない。また、I/O出力テーブル10は、他の情報を含んでもよい。   In the figure, information to be registered in the I / O output table (signal output table) 10 is, for example, (a) I / O address 101, (b) I / O output size 102, (c) I for each multiplexed OS 4. / O output values 103a to 103c. Note that the same number of storage areas for the I / O output value 103 are prepared in correspondence with the OS depending on the number of multiplexed OSs. Further, the storage order of the information 101 to 103 in the I / O output table 10 is not limited to this illustrated order. Further, the I / O output table 10 may include other information.

図4は、この発明の実施の形態1に係る多重化装置によるI/O出力処理の一例を示す状態遷移図である。この図により、各状態で行われる処理と次の状態への遷移条件を関連付けながらI/O出力処理について説明する。   FIG. 4 is a state transition diagram showing an example of I / O output processing by the multiplexing apparatus according to Embodiment 1 of the present invention. The I / O output process will be described with reference to this figure while associating the process performed in each state with the transition condition to the next state.

(S201)
まず、最初にI/O出力処理は、OS−n(nはA、BまたはC)からのI/O出力を待ち合せるS201の状態にある。このS201の状態で、仮想マシンモニタ3の同期実行管理部6が、OS−nから対象とするデバイス(以下、対象デバイスという)へのI/O出力を検知することで、S202の状態に遷移する。
(S201)
First, the I / O output processing is in the state of S201 in which I / O output from OS-n (n is A, B, or C) is waited. In this state of S201, the synchronous execution management unit 6 of the virtual machine monitor 3 detects the I / O output from the OS-n to the target device (hereinafter referred to as the target device), and transitions to the state of S202. To do.

(S202)
S202の状態に遷移すると、同期実行管理部6がI/O出力をしてきたOS−nの実行を一時中断させ、I/O出力同期部7がI/O出力テーブル10に今回のI/O出力の対象(I/Oアドレスとサイズ)を格納するとともに当該OS−nの該当部分にI/O出力値を格納する。なお、I/Oアドレスとサイズは、最初にI/O出力したOS−nのいずれかが既に格納している場合には、格納は不要とし、I/O出力するOS−n間の対応が確認される。
(S202)
When the state transitions to S202, the synchronous execution management unit 6 temporarily suspends the execution of the OS-n that has output the I / O, and the I / O output synchronization unit 7 stores the current I / O in the I / O output table 10. The output target (I / O address and size) is stored, and the I / O output value is stored in the corresponding part of the OS-n. It should be noted that the I / O address and the size need not be stored if any of the OS-n that first output I / O has already been stored, and there is no correspondence between the OS-n that outputs I / O. It is confirmed.

このS202の状態の処理が終了すると、I/O出力同期部7は、I/O出力テーブル10を参照し、当該I/Oアドレスの部分に多重化しているOS−n(ここではOS−A4a〜OS−C4c)のI/O出力値がすべて揃っているかチェックする。   When the processing in the state of S202 is completed, the I / O output synchronization unit 7 refers to the I / O output table 10, and OS-n (here, OS-A4a) multiplexed in the I / O address portion. Check that all the I / O output values of .about.OS-C4c) are available.

一部のI/O出力値がまだ揃っていない(I/O出力がまだ行われていない他のOS−nが存在する)場合は、他のOS−nが同一のI/Oアドレスに対するI/O出力を実施するまで待ち合わせを行うため、S201の待ち状態に戻る。待ち合わせ時、特にシングルCPUの場合は、仮想マシンモニタ3上で動作する他のOS−nを動作させる。   If some of the I / O output values are not yet ready (there is another OS-n for which I / O output has not yet been performed), the other OS-n has an I / O address for the same I / O address. In order to wait until the / O output is executed, the process returns to the waiting state of S201. When waiting, especially in the case of a single CPU, another OS-n operating on the virtual machine monitor 3 is operated.

一方、すべてのI/O出力値が揃っている(すべてのOS−nからのI/O出力が行われた)場合は、I/O出力テーブル10に格納した各OS−nのI/O出力値を参照し、内容の比較を行う。I/O出力値の比較の結果、すべてのOS−nのI/O出力値が同一であれば、S203の状態に遷移する。少なくとも一つのOS−nのI/O出力値が同一でなければ、S205の状態に遷移する。   On the other hand, if all the I / O output values are complete (I / O output from all OS-n is performed), the I / O of each OS-n stored in the I / O output table 10 is obtained. Refer to the output value and compare the contents. As a result of the comparison of the I / O output values, if the I / O output values of all the OS-n are the same, the state transits to S203. If the I / O output value of at least one OS-n is not the same, the process transits to S205.

(S203)
S203の状態に遷移すると、I/O出力同期部7は、当該I/OアドレスにI/Oテーブル10に格納されたI/O出力値を用いてI/O出力を実施し、S204の状態に遷移する。
(S203)
When the state transitions to the state of S203, the I / O output synchronization unit 7 performs I / O output using the I / O output value stored in the I / O table 10 at the I / O address, and the state of S204 Transition to.

(S204)
S204の状態に遷移すると、I/O出力テーブル10から当該I/Oアドレスの部分を各OS−nのI/O出力値とともに削除し、多重化されたすべてのOS−nの実行を再開して、S201の待ち状態に遷移する。
(S204)
When transitioning to the state of S204, the I / O address part is deleted from the I / O output table 10 together with the I / O output value of each OS-n, and execution of all multiplexed OS-n is resumed. Transition to the wait state of S201.

(S205)
S205の状態に遷移すると、多重化の数が3以上であれば多数決などの方法により正しいものが選択できればその内容でS203と同様の処理を実施し、S204の状態を経て、S201の待ち状態に遷移して、動作を継続する。
(S205)
When the state transitions to the state of S205, if the number of multiplexing is 3 or more, if the correct one can be selected by a method such as majority vote, the same processing as S203 is carried out with the content, and after passing through the state of S204, the state of S201 is waited Transition and continue operation.

なお、多重化の数が2であれば、各OS−nにその旨を通知するか、もしくは仮想マシンモニタ3や本システムそのものの動作を停止するなどの異常発生時に予め決められた処理や動作を行うものとする。多重化の数が3以上であっても、OS−nへの通知や動作停止などの異常発生時に予め決められた処理や動作を行っても構わない。 If the number of multiplexing is 2, a predetermined process or operation at the time of occurrence of an abnormality such as notifying each OS-n of that fact or stopping the operation of the virtual machine monitor 3 or the system itself. Shall be performed. Even if the number of multiplexing is 3 or more, predetermined processing or operation may be performed when an abnormality such as notification to OS-n or operation stop occurs.

図5は、この発明の実施の形態1に係る多重化装置のI/O出力処理の状態遷移に伴うI/O出力テーブルの推移の一例を示す説明図である。OS−A、OS−B、OS−CのI/O出力値VAL−A、VAL_B、VAL_Cが発生した場合のI/O出力処理例を示している。ここでは、I/O出力値VAL−A、VAL_B、VAL_Cの順に発生するものとし、テーブル情報の推移のみ示して、図4の説明中のOS−nの一時停止および再開の記載は省略する。   FIG. 5 is an explanatory diagram showing an example of the transition of the I / O output table accompanying the state transition of the I / O output processing of the multiplexing apparatus according to Embodiment 1 of the present invention. An example of I / O output processing when the I / O output values VAL-A, VAL_B, and VAL_C of OS-A, OS-B, and OS-C are generated is shown. Here, the I / O output values VAL-A, VAL_B, and VAL_C are generated in this order, only the transition of the table information is shown, and the description of the temporary stop and restart of OS-n in the description of FIG. 4 is omitted.

図において、第1の例は、I/O出力値VAL−A、VAL_B、VAL_Cが全一致する(VAL−A=VAL_B=VAL_C)場合である。また、第2の例は、I/O出力値VAL−A、VAL_B、VAL_C内に不一致がある(例えばVAL−A=VAL_B≠VAL_C)場合である。いずれの例も図4に基づく状態遷移を示している。なお、OS−A、OS−B、OS−CのI/O出力値VAL−A、VAL_B、VAL_Cの発生順序は、この例に示した順序に限らない。   In the figure, the first example is a case where the I / O output values VAL-A, VAL_B, and VAL_C all coincide (VAL-A = VAL_B = VAL_C). The second example is a case where there is a mismatch in the I / O output values VAL-A, VAL_B, and VAL_C (for example, VAL-A = VAL_B ≠ VAL_C). Both examples show state transitions based on FIG. The generation order of the I / O output values VAL-A, VAL_B, and VAL_C of OS-A, OS-B, and OS-C is not limited to the order shown in this example.

このように、I/O出力処理では、各OS−nからの対象デバイスへのI/O出力がI/O出力テーブル10に揃ってから、I/O出力値が一致する正常な動作状況であれば、実際に対象デバイスへのI/O出力が行われる。一方、一致しないI/O出力値があるときは、例えば多数決による訂正、OS−nへの通知、システム停止など、異常時に取るように設定された所定の処理を行うことになる。   As described above, in the I / O output process, after the I / O output from each OS-n to the target device is arranged in the I / O output table 10, the I / O output value matches in a normal operation state. If there is, I / O output to the target device is actually performed. On the other hand, when there is an inconsistent I / O output value, for example, a predetermined process set to be taken at the time of abnormality such as correction by majority vote, notification to OS-n, system stop, etc. is performed.

図6は、この発明の実施の形態1に係る多重化装置のI/O入力テーブルに登録する情報の一例を示す説明図である。   FIG. 6 is an explanatory diagram showing an example of information registered in the I / O input table of the multiplexing apparatus according to Embodiment 1 of the present invention.

図において、このI/O入力テーブル(信号入力テーブル)11に登録する情報は、例えば(a)I/Oアドレス111、(b)I/O入力サイズ112、(c)多重化したOS4ごとのI/O入力要求があったことを示すフラグ(I/O入力要求フラグ)113a〜113cである。なお、I/O入力要求フラグ113の格納エリアは、OS4の多重化の数によってOS対応に同数用意する。また、I/O入力テーブル11への各情報111から113の格納順序は、この例示した順序に限らない。また、I/O入力テーブル11は、他の情報を含んでもよい。   In the figure, information registered in the I / O input table (signal input table) 11 includes, for example, (a) I / O address 111, (b) I / O input size 112, and (c) multiplexed OS 4 for each OS4. These are flags (I / O input request flags) 113a to 113c indicating that there is an I / O input request. Note that the same number of storage areas for the I / O input request flag 113 are prepared for each OS depending on the number of multiplexed OSs. Further, the storage order of the information 111 to 113 in the I / O input table 11 is not limited to this illustrated order. Further, the I / O input table 11 may include other information.

図7は、この発明の実施の形態1に係る多重化装置によるI/O入力処理の一例を示す状態遷移図である。この図により、各状態で行われる処理と次の状態への遷移条件を関連付けながらI/O入力処理について説明する。   FIG. 7 is a state transition diagram showing an example of I / O input processing by the multiplexing apparatus according to Embodiment 1 of the present invention. The I / O input process will be described with reference to this figure while associating the process performed in each state with the transition condition to the next state.

(S301)
まず、最初にI/O入力処理は、OS−nからのI/O入力要求を待ち合せるS301の状態にある。このS301の状態で、仮想マシンモニタ3の同期実行管理部6が、OS−nからI/O入力要求を検知することで、S302の状態に遷移する。
(S301)
First, the I / O input process is in the state of S301 for waiting for an I / O input request from OS-n. In the state of S301, when the synchronous execution management unit 6 of the virtual machine monitor 3 detects an I / O input request from the OS-n, the state transitions to the state of S302.

(S302)
S302の状態に遷移すると、同期実行管理部6がI/O入力を要求してきたOS−nの実行を一時中断させ、I/O入力同期部8は、I/O入力テーブル11に今回のI/O入力の対象(I/Oアドレスとサイズ)を格納するとともに当該OS−nの該当部分にI/O入力要求があったことを示すフラグを設定する(ON)する。なお、I/Oアドレスとサイズは、最初にI/O入力要求したOS−nのいずれかが既に格納している場合には、格納は不要とし、既にI/O入力要求しているOS−n間の対応が確認される。
(S302)
When the state transitions to the state of S302, the synchronous execution management unit 6 temporarily suspends the execution of the OS-n that requested the I / O input, and the I / O input synchronization unit 8 stores the current I / O input table 11 in the I / O input table 11. The target (I / O address and size) of / O input is stored, and a flag indicating that an I / O input request has been made is set (ON) in the corresponding part of the OS-n. It should be noted that the I / O address and size are not required if any of the OS-n that requested the I / O input first has already been stored, and the OS- that has already requested the I / O input. The correspondence between n is confirmed.

このS302の状態の処理が終了すると、I/O入力同期部8は、I/O入力テーブル11を参照し、当該I/Oアドレスの部分に多重化しているOS−n(ここではOS−A4a〜OS−C4c)のI/O入力要求フラグがすべて設定されているかチェックする。   When the processing in the state of S302 is completed, the I / O input synchronization unit 8 refers to the I / O input table 11, and OS-n multiplexed in this I / O address portion (here, OS-A4a). Check whether all the I / O input request flags of .about.OS-C4c) are set.

一部のI/O入力要求フラグがまだ設定されていない(一部のOS−nからI/O入力要求が揃わない)場合は、他のOS−nが同一のI/Oアドレスに対するI/O入力要求を実施するまで待ち合わせを行うため、S301の待ち状態に戻る。待ち合わせ時、特にシングルCPUの場合は、仮想マシンモニタ3上で動作する他のOS−nを動作させる。   If some I / O input request flags have not been set yet (I / O input requests are not available from some OS-n), other OS-n's I / O addresses for the same I / O address In order to wait until the O input request is executed, the process returns to the waiting state of S301. When waiting, especially in the case of a single CPU, another OS-n operating on the virtual machine monitor 3 is operated.

一方、すべてのI/O入力要求フラグが設定されている(すべてのOS−nからI/O入力要求が揃っている)場合は、S303の状態に遷移する。   On the other hand, when all the I / O input request flags are set (I / O input requests are prepared from all OS-n), the process proceeds to the state of S303.

(S303)
このS303の状態に遷移すると、I/O入力同期部8は、対象デバイスからのI/O入力を要求し、I/O入力値を得た後、S304の状態に遷移する。
(S303)
When the state transitions to the state of S303, the I / O input synchronization unit 8 requests an I / O input from the target device, obtains an I / O input value, and then transitions to the state of S304.

(S304)
S304の状態に遷移すると、各OS−nに対象デバイスからのI/O入力を実施し、I/O入力テーブル11から当該I/Oアドレスとサイズの部分を削除して、各OS−nのI/O入力要求を示すフラグをリセットして未設定(OFF)にするとともに、I/O入力によって得られたデータ(I/O入力値)を用いて、I/O入力要求で一時中断していたすべてのOS−nの実行を再開させて、S301の待ち状態に遷移する。
(S304)
After the transition to the state of S304, I / O input from the target device is performed to each OS-n, the I / O address and size portion is deleted from the I / O input table 11, and each OS-n The flag indicating the I / O input request is reset to unset (OFF), and the data (I / O input value) obtained by the I / O input is used to suspend the I / O input request temporarily. The execution of all the OS-n that has been resumed is resumed, and a transition is made to the wait state of S301.

図8は、この発明の実施の形態1に係る多重化装置のI/O入力処理の状態遷移に伴うI/O入力テーブルの推移の一例を示す説明図である。OS−A、OS−B、OS−CのI/O入力要求フラグFLG−A、FLG_B、FLG_C、対象デバイスからのI/O入力値VALの発生順序のI/O入力処理例を示している。ここでは、テーブル情報の推移のみ示して、図7の説明中のOS−nの一時停止および再開の記載は省略する。   FIG. 8 is an explanatory diagram showing an example of the transition of the I / O input table accompanying the state transition of the I / O input process of the multiplexing apparatus according to the first embodiment of the present invention. An example of the I / O input processing of the I / O input request flags FLG-A, FLG_B, FLG_C, and the I / O input value VAL from the target device of the OS-A, OS-B, and OS-C is shown. . Here, only the transition of the table information is shown, and the description of OS-n suspension and resumption in the description of FIG. 7 is omitted.

図において、例えばI/O入力要求フラグFLG−A、FLG_B、FLG_C、I/O入力値VALの順に発生した場合で、図7に基づく状態遷移を示している。対象デバイスからのI/O入力値VALは、すべてのOS−nにI/O入力されるまで保持される。また、すべてのOS−nからI/O入力要求され、I/O入力値が入力されることで、I/O入力テーブルの当該エントリはリセットされる。なお、対象デバイスからのI/O入力値VAL、I/O入力要求フラグFLG−A、FLG_B、FLG_Cの発生順序は、この例に示した順序に限らない。   In the figure, for example, when the I / O input request flags FLG-A, FLG_B, FLG_C, and the I / O input value VAL are generated in this order, the state transition based on FIG. 7 is shown. The I / O input value VAL from the target device is held until I / O is input to all OS-n. Further, when an I / O input request is issued from all OS-n and an I / O input value is input, the entry in the I / O input table is reset. The generation order of the I / O input value VAL and I / O input request flags FLG-A, FLG_B, and FLG_C from the target device is not limited to the order shown in this example.

このように、I/O入力処理では、すべてのOS−nからのI/O入力要求がI/O入力テーブル11に揃ってから、実際に対象デバイスからのI/O入力が行われる。   As described above, in the I / O input processing, after all the I / O input requests from the OS-n are arranged in the I / O input table 11, the I / O input from the target device is actually performed.

この発明の実施の形態1に係る多重化装置のI/O出力処理およびI/O入力処理において、I/O出力処理で、各OS−nがI/O出力して、すべてのOS−nからのI/O出力が揃うまで、また、I/O入力処理で、各OS−nがI/O入力要求して、すべてのOS−nからのI/O入力要求が揃うまで、OS−nの動作を一時停止させることで、他の動作中のOS−nへのCPUの実行時間の配分が高まり、効率的に処理を実行できる。   In the I / O output processing and I / O input processing of the multiplexing apparatus according to Embodiment 1 of the present invention, each OS-n outputs I / O in the I / O output processing, and all the OS-n OS-n until the I / O output from all the OS-n has been completed, and in the I / O input process, each OS-n requests I / O input and the I / O input request from all the OS-n is completed. By temporarily suspending the operation of n, the distribution of the execution time of the CPU to the other operating OS-n is increased, and the processing can be executed efficiently.

図9は、この発明の実施の形態1に係る多重化装置による割込み処理の一例を示すフローチャートである。次に割込み処理について説明する。   FIG. 9 is a flowchart showing an example of interrupt processing by the multiplexing apparatus according to Embodiment 1 of the present invention. Next, interrupt processing will be described.

(S401)
まず、仮想マシンモニタ3の同期実行管理部6は、OS4(OS−A4a〜OS−C4c)の対象とするI/Oデバイスからの割込みを検知し、割込み同期通知部9に通知する。
(S401)
First, the synchronization execution management unit 6 of the virtual machine monitor 3 detects an interrupt from an I / O device targeted by the OS 4 (OS-A 4 a to OS-C 4 c) and notifies the interrupt synchronization notification unit 9 of the detected interrupt.

(S402)
割込み同期通知部9は、多重化しているすべてのOS4(OS−A4a〜OS−C4c)に対し、割込み発生を通知する。
(S402)
The interrupt synchronization notification unit 9 notifies all the multiplexed OSs 4 (OS-A4a to OS-C4c) that an interrupt has occurred.

(S403)
各OS4(OS−A4a〜OS−C4c)もしくはそれらのデバイスドライバ5(5a〜5c)は、対象デバイスから割込みが発生したことを通知されることで、当該デバイスに対応した割込み処理を実行する。
(S403)
Each OS 4 (OS-A 4a to OS-C 4c) or their device driver 5 (5a to 5c) is notified that an interrupt has occurred from the target device, and executes interrupt processing corresponding to the device.

以上のように、この発明の実施の形態1に係る多重化装置によれば、仮想マシンモニタやその上で動作するOS、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更する必要がないので、多重系を意識して作成していない従来のアプリケーションやOSに対しても、簡単に多重系を構成し、信頼性を高めることができる。   As described above, according to the multiplexing apparatus of the first embodiment of the present invention, software such as the virtual machine monitor and the OS and device driver operating on the virtual machine monitor is added or changed for each dedicated I / O device. Therefore, even for conventional applications and OSs that are not created with the consciousness of the multiplex system, it is possible to easily configure the multiplex system and improve the reliability.

また、この発明の実施の形態1に係る多重化装置によれば、仮想マシンモニタ内でI/O出力値を照合することにより、専用のI/Oデバイスを作成しなくても既に利用しているI/Oデバイスに対してI/Oアクセスの信頼性を向上させることが可能になる。   Further, according to the multiplexing apparatus according to the first embodiment of the present invention, the I / O output value is collated in the virtual machine monitor, so that it is already used without creating a dedicated I / O device. It is possible to improve the reliability of I / O access to existing I / O devices.

また、この発明の実施の形態1に係る多重化装置によれば、マルチCPUやマルチコアCPUを持つハードウェアを用いることにより、実行性能を向上させることができる上、CPUの動作異常によりI/O出力値が異常になった場合も検出、訂正が可能になり、信頼性を高めることができる。   Further, according to the multiplexing apparatus according to the first embodiment of the present invention, it is possible to improve the execution performance by using hardware having a multi-CPU and a multi-core CPU, and to improve the I / O due to abnormal operation of the CPU. Even when the output value becomes abnormal, it can be detected and corrected, and the reliability can be improved.

実施の形態2.
先に説明したこの発明の実施の形態1に係る多重化装置では、I/O入力同期部8は、I/O入力する前にI/O入力要求の有無を確認するため、OS4ごとにI/O入力要求フラグを保持するI/O入力テーブル11を有し、デバイス2からのI/O入力値を複数のOS4からの各I/O入力要求に基づいて、I/O入力要求したOS4にI/O入力する。OS4からの対象デバイスのI/O入力時に呼び出され、多重化された複数のOS4からのI/O入力要求が揃うのを待って、デバイスからのI/O入力値を複数のOS4へ受け渡して、実際にI/O入力を実施するものであった。
Embodiment 2. FIG.
In the multiplexing apparatus according to the first embodiment of the present invention described above, the I / O input synchronization unit 8 checks the presence / absence of an I / O input request before performing I / O input. An OS 4 that has an I / O input table 11 that holds an / O input request flag and requested an I / O input value from the device 2 based on each I / O input request from a plurality of OS 4 I / O input. Called at the time of I / O input of the target device from the OS 4 and waits for the multiplexed I / O input requests from the plurality of OS 4 to pass the I / O input value from the device to the plurality of OS 4 Actually, I / O input was performed.

この発明の実施の形態2に係る多重化装置では、I/O入力同期部8は、対象デバイスからのI/O入力値をさらに保持するI/O入力テーブル11を有し、OS4からI/O入力要求があっても、デバイス2からのI/O入力値が得られていないときには、デバイス2にI/O入力要求してI/O入力値を得ることで、I/O入力要求があったOS−nに対して実際にデバイス2からのI/O入力を行い、以降他のOS4からI/O入力要求があれば格納しておいたI/O入力値によりI/O入力を行うものであって、すべてのI/O入力要求が揃うのを待たずに逐次I/O入力を行えるものである。ここでは、I/O入力処理のみを変更し、I/O出力処理、割込み処理は、この発明の実施の形態1に係る多重化装置と同一の処理を行うものとする。   In the multiplexing apparatus according to the second embodiment of the present invention, the I / O input synchronization unit 8 has an I / O input table 11 that further holds an I / O input value from the target device. If an I / O input value from the device 2 is not obtained even if there is an O input request, an I / O input request is obtained by obtaining an I / O input value by requesting the device 2. I / O input from the device 2 is actually performed to the OS-n that has been present, and if there is an I / O input request from another OS 4 thereafter, the I / O input is performed according to the stored I / O input value. It is possible to perform sequential I / O input without waiting for all I / O input requests to be completed. Here, only the I / O input process is changed, and the I / O output process and the interrupt process are the same as those of the multiplexing apparatus according to the first embodiment of the present invention.

図10は、この発明の実施の形態2に係る多重化装置のI/O入力テーブルに登録する情報の一例を示す説明図である。   FIG. 10 is an explanatory diagram showing an example of information registered in the I / O input table of the multiplexing device according to Embodiment 2 of the present invention.

図において、このI/O入力テーブル(信号入力テーブル)11に登録する情報は、例えば図6のI/O入力テーブルと同様の(a)I/Oアドレス111、(b)I/O入力サイズ112、(c)多重化したOS4ごとのI/O入力要求フラグ113a〜113cに、(d)I/O入力値114を加えた一連の情報を1エントリとして、複数のエントリが用意される。なお、I/O入力テーブル11への各情報111から114の格納順序は、この例示した順序に限らない。また、I/O入力テーブル11は、他の情報を含んでもよい。   In the figure, information registered in the I / O input table (signal input table) 11 includes, for example, (a) I / O address 111 and (b) I / O input size similar to those in the I / O input table of FIG. 112, (c) Multiple entries are prepared with a series of information obtained by adding (d) the I / O input value 114 to the multiplexed I / O input request flags 113a to 113c for each OS 4 as one entry. Note that the storage order of the information 111 to 114 in the I / O input table 11 is not limited to the illustrated order. Further, the I / O input table 11 may include other information.

図11は、この発明の実施の形態2に係る多重化装置によるI/O入力処理の一例を示す状態遷移図である。この図により、I/O入力テーブル11に実際にI/O入力した値(I/O入力値)を複数個格納することができる場合に、各状態で行われる処理と次の状態への遷移条件を関連付けながらI/O入力動作について説明する。   FIG. 11 is a state transition diagram showing an example of I / O input processing by the multiplexing apparatus according to Embodiment 2 of the present invention. According to this figure, when a plurality of values (I / O input values) actually input / output are stored in the I / O input table 11, the processing performed in each state and the transition to the next state An I / O input operation will be described while associating conditions.

(S501)
まず、最初にI/O入力処理は、OS−nからのI/O入力要求を待ち合せるS501の状態にある。このS501の状態で、仮想マシンモニタ3の同期実行管理部6が、OS−nからI/O入力要求を検知することで、S502の状態に遷移する。
(S501)
First, the I / O input process is in the state of S501 for waiting for an I / O input request from OS-n. In the state of S501, when the synchronous execution management unit 6 of the virtual machine monitor 3 detects an I / O input request from the OS-n, the state transitions to the state of S502.

(S502)
S502の状態に遷移すると、同期実行管理部6がI/O入力を要求してきたOS−nの実行を一時中断させ、I/O入力同期部8は、I/O入力テーブル11に今回のI/O入力の対象(I/Oアドレスとサイズ)を格納するとともに当該OS−nの該当部分にI/O入力要求があったことを示すフラグを設定(ON)する。なお、I/Oアドレスとサイズは、最初にI/O入力要求したOS−nのいずれかが既に格納している場合には、格納は不要とし、既にI/O入力要求しているOS−n間の対応が確認される。
(S502)
When the state transitions to S502, the synchronous execution management unit 6 temporarily suspends the execution of the OS-n that requested the I / O input, and the I / O input synchronization unit 8 stores the current I / O input table 11 in the I / O input table 11. Stores the target of the / O input (I / O address and size) and sets (ON) a flag indicating that there is an I / O input request in the corresponding part of the OS-n. It should be noted that the I / O address and size are not required if any of the OS-n that requested the I / O input first has already been stored, and the OS- that has already requested the I / O input. The correspondence between n is confirmed.

このSS502の状態の処理が終了すると、I/O入力同期部8は、I/O入力テーブル11を参照し、当該I/OアドレスのエントリにOS−nの対象デバイスからのI/O入力値が格納されているかチェックする。   When the processing in the state of SS502 is completed, the I / O input synchronization unit 8 refers to the I / O input table 11, and inputs an I / O input value from the target device of OS-n to the entry of the I / O address. Check if is stored.

I/O入力値が格納されていない場合は、S503の状態に遷移する。一方、I/O入力値が格納されている場合は、S504の状態に遷移する。   If no I / O input value is stored, the process proceeds to the state of S503. On the other hand, when the I / O input value is stored, the state transits to S504.

(S503)
このS503の状態に遷移すると、I/O入力同期部8は、対象デバイスからのI/O入力を要求し、当該I/Oアドレスのエントリに対象デバイスから得たI/O入力値を格納した後、S504の状態に遷移する。
(S503)
When the state transitions to the state of S503, the I / O input synchronization unit 8 requests I / O input from the target device, and stores the I / O input value obtained from the target device in the entry of the I / O address. Then, the state transits to S504.

(S504)
S504の状態に遷移すると、同期実行管理部6が今回I/O入力要求して一時中断しているOS−nに対してI/O入力値を入力して実行を再開させる。
(S504)
When the state transitions to the state of S504, the synchronous execution management unit 6 inputs the I / O input value to the OS-n that has been temporarily suspended due to the current I / O input request, and resumes execution.

このS504の状態の処理が終了すると、I/O入力同期部8は、I/O入力テーブル11のエントリを参照し、当該I/Oアドレスの部分に多重化しているすべてのOS−n(ここではOS−A4a〜OS−C4c)のI/O入力要求フラグが設定されているかチェックする。   When the processing in the state of S504 is completed, the I / O input synchronization unit 8 refers to the entry of the I / O input table 11, and all the OS-n multiplexed here in the I / O address portion (here Then, it is checked whether the I / O input request flags of OS-A4a to OS-C4c) are set.

一部のI/O入力要求フラグがまだ設定されていない(一部のOS−nからI/O入力要求されていない)場合は、S501の待ち状態に戻る。一方、すべてのI/O入力要求フラグが設定されている(すべてのOS−nからI/O入力要求が揃っている)場合は、S505の状態に遷移する。   If some of the I / O input request flags have not been set yet (no I / O input has been requested from some OS-n), the process returns to the waiting state of S501. On the other hand, if all the I / O input request flags are set (I / O input requests are prepared from all the OS-n), the process proceeds to the state of S505.

(S505)
S505の状態に遷移すると、I/O入力テーブル11から当該I/Oアドレスとサイズの部分を削除して、各OS−nのI/O入力要求を示すフラグをリセットして未設定(OFF)にして、S501の待ち状態に遷移する。
(S505)
When the state transitions to the state of S505, the I / O address and size portion is deleted from the I / O input table 11, the flag indicating the I / O input request of each OS-n is reset and not set (OFF) Then, the process transits to the waiting state of S501.

図12は、この発明の実施の形態2に係る多重化装置のI/O入力処理の状態遷移に伴うI/O入力テーブルの推移の一例を示す説明図である。OS−AのI/O入力要求フラグFLG−A、対象デバイスからのI/O入力値VAL、OS−B、OS−CのI/O入力要求フラグFLG_B、FLG_C、の発生順序のI/O入力処理例を示している。ここでは、テーブル情報の推移のみ示して、図11の説明中のOS−nの一時停止および再開の記載は省略する。   FIG. 12 is an explanatory diagram showing an example of the transition of the I / O input table accompanying the state transition of the I / O input process of the multiplexing apparatus according to the second embodiment of the present invention. I / O input request flag FLG-A of OS-A, I / O input value VAL from target device, I / O of I / O input request flags FLG_B, FLG_C of OS-B, OS-C An example of input processing is shown. Here, only the transition of the table information is shown, and description of temporary suspension and resumption of OS-n in the description of FIG. 11 is omitted.

図において、例えばI/O入力要求フラグFLG−A、I/O入力値VAL、I/O入力要求フラグFLG_B、FLG_Cの順に発生した場合で、図11に基づく状態遷移を示している。対象デバイスからのI/O入力値VALは、発生してからすべてのOS−nにI/O入力されるまで保持される。また、すべてのOS−nからI/O入力要求され、I/O入力値が入力されることで、I/O入力テーブルの当該エントリはリセットされる。なお、対象デバイスからのI/O入力値VAL、I/O入力要求フラグFLG−A、FLG_B、FLG_Cの発生順序は、この例に示した順序に限らない。   In the figure, for example, when the I / O input request flag FLG-A, the I / O input value VAL, the I / O input request flags FLG_B, and FLG_C are generated in this order, the state transition based on FIG. 11 is shown. The I / O input value VAL from the target device is held until it is input to all the OS-n after generation. Further, when an I / O input request is issued from all OS-n and an I / O input value is input, the entry in the I / O input table is reset. The generation order of the I / O input value VAL and I / O input request flags FLG-A, FLG_B, and FLG_C from the target device is not limited to the order shown in this example.

このように、I/O入力処理では、すべてのOS−nからのI/O入力要求がI/O入力テーブル11に揃わなくても、I/O入力要求があったOS−nに対して実際に対象デバイスからのI/O入力が逐次行える。I/O入力要求があっても、対象デバイスからのI/O入力値が得られていないときには、対象デバイスにI/O入力要求してI/O入力値を得ることで、I/O入力要求があったOS−nに対して実際に対象デバイスからのI/O入力を行える。   As described above, in the I / O input processing, even if the I / O input requests from all the OS-n are not arranged in the I / O input table 11, the I / O input request is issued to the OS-n having the I / O input request. Actually, I / O input from the target device can be performed sequentially. Even if there is an I / O input request, if an I / O input value from the target device is not obtained, an I / O input value is obtained by requesting the target device to obtain an I / O input value. It is possible to actually input I / O from the target device to the requested OS-n.

ここで、I/O入力テーブル11のエントリの数は任意に設定できるが、一部のOS−nからI/O入力要求がないか、またはI/O入力要求があっても対象デバイスからI/O入力がないことで、I/O入力テーブル11のエントリがリセットされずに保持され、エントリが足りなくなるときには、OS−nへの通知や動作停止などの異常発生時に予め決められた処理や動作を行うようにしても構わない。正常に動作しているOS−nの多重化の数が2または3以上残せる場合には、長い期間I/O入力要求がないOS−nのみ切り離して、システムの処理を継続するか、または当該OS−nを再起動した後、多重化し直すようにしてもよい。   Here, the number of entries in the I / O input table 11 can be set arbitrarily, but there is no I / O input request from some OS-n, or even if there is an I / O input request, the target device can When there is no / O input, the entries in the I / O input table 11 are held without being reset, and when there are not enough entries, processing predetermined in the event of an abnormality such as notification to the OS-n or operation stop, You may make it perform operation | movement. If the number of multiplexed OS-n operating normally can remain 2 or 3 or more, disconnect only OS-n for which there is no I / O input request for a long period and continue the system processing or After OS-n is restarted, it may be multiplexed again.

この発明の実施の形態2に係る多重化装置のI/O入力処理で、すべてのOS−nからのI/O入力要求が揃うまで待たずに、各OS−nがI/O入力要求した時点で、I/O入力値がI/O入力テーブルに格納されていれば逐次実行していき、またデバイスはI/O入力値をI/O入力テーブルに格納していくことで、デバイスやI/O入力要求した後の各OS−nは、停止せずにI/O入力を継続していくことができる。また、I/O出力処理において、I/O出力処理で、各OS−nがI/O出力して、すべてのOS−nからのI/O出力が揃うまで、OS−nの動作を一時停止させることで、この発明の実施の形態1に係る多重化装置と同様に、他の動作中のOS−nへのCPUの実行時間の配分が高まり、効率的に処理を実行できる。   In the I / O input processing of the multiplexing apparatus according to the second embodiment of the present invention, each OS-n makes an I / O input request without waiting until the I / O input requests from all the OS-n are completed. At this point, if the I / O input value is stored in the I / O input table, it is sequentially executed, and the device stores the I / O input value in the I / O input table, so that the device Each OS-n after requesting I / O input can continue I / O input without stopping. In the I / O output process, the OS-n operation is temporarily performed until each OS-n outputs an I / O in the I / O output process and the I / O outputs from all the OS-n are obtained. By stopping, as in the multiplexing device according to the first embodiment of the present invention, the distribution of the CPU execution time to other operating OS-n increases, and the processing can be executed efficiently.

以上のように、この発明の実施の形態2に係る多重化装置によれば、この発明の実施の形態1に係る多重化装置と同様に、仮想マシンモニタやその上で動作するOS、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更する必要がないので、多重系を意識して作成していない従来のアプリケーションやOSに対しても、簡単に多重系を構成し、信頼性を高めることができる。   As described above, according to the multiplexing apparatus according to the second embodiment of the present invention, as with the multiplexing apparatus according to the first embodiment of the present invention, the virtual machine monitor, the OS operating on the virtual machine monitor, and the device driver Since it is not necessary to add or change software for each dedicated I / O device, a multi-system can be easily configured even for conventional applications and OSs that have not been created with the multi-system in mind. Reliability can be increased.

また、この発明の実施の形態2に係る多重化装置によれば、この発明の実施の形態1に係る多重化装置と同様に、仮想マシンモニタ内でI/O出力値を照合することにより、専用のI/Oデバイスを作成しなくても既に利用しているI/Oデバイスに対してI/Oアクセスの信頼性を向上させることが可能になる。   Further, according to the multiplexing device according to the second embodiment of the present invention, as in the multiplexing device according to the first embodiment of the present invention, by checking the I / O output value in the virtual machine monitor, Even without creating a dedicated I / O device, the reliability of I / O access to an already used I / O device can be improved.

また、この発明の実施の形態2に係る多重化装置によれば、この発明の実施の形態1に係る多重化装置と同様に、マルチCPUやマルチコアCPUを持つハードウェアを用いることにより、実行性能を向上させることができる上、CPUの動作異常によりI/O出力値が異常になった場合も検出、訂正が可能になり、信頼性を高めることができる。   In addition, according to the multiplexing device according to the second embodiment of the present invention, as with the multiplexing device according to the first embodiment of the present invention, the execution performance is achieved by using hardware having a multi CPU and a multi-core CPU. In addition, it is possible to detect and correct even when the I / O output value becomes abnormal due to abnormal operation of the CPU, and the reliability can be improved.

また、この発明の実施の形態2に係る多重化装置によれば、I/O入力テーブル11に複数のI/O入力値を保持することにより、仮想マシンモニタが他のOS−nのI/O入力を待ち合わせる回数を削減でき、実行性能を向上させることができる。   Also, according to the multiplexing apparatus of the second embodiment of the present invention, the virtual machine monitor can maintain the I / O of another OS-n by holding a plurality of I / O input values in the I / O input table 11. The number of times to wait for the O input can be reduced, and the execution performance can be improved.

以上のように、この発明に係る多重化装置によれば、複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、複数のOSの各動作を制御する同期実行管理部(同期実行管理手段)と、複数のOSからの各信号出力値に基づいて、デバイスへ信号出力するI/O出力同期部(信号出力同期手段)と、デバイスからの信号入力値を複数のOSからの各I/O入力要求(信号入力要求)に基づいて、信号入力要求したOSに信号入力するI/O入力同期部(信号入力同期手段)とを備えたので、専用のI/Oデバイスを作成しなくても、I/Oデバイスに対してI/Oアクセスの信頼性を向上させることができる。   As described above, according to the multiplexing apparatus of the present invention, a plurality of operating systems (OS) are started to execute common applications, and signal input / output to / from a device is managed to control a plurality of OSs. A synchronization execution management unit (synchronization execution management unit) that controls each of the operations, an I / O output synchronization unit (signal output synchronization unit) that outputs a signal to a device based on each signal output value from a plurality of OSs, An I / O input synchronization unit (signal input synchronization means) for inputting a signal input value from a device to an OS that requested a signal input based on each I / O input request (signal input request) from a plurality of OSs Thus, the reliability of I / O access to the I / O device can be improved without creating a dedicated I / O device.

また、この発明に係る多重化装置によれば、多重化して動作するオペレーティングシステム(OS)、デバイスドライバ等のソフトウェアを、専用のI/Oデバイスごとに追加、変更しなくてもよい多重化装置を得ることができる。   Further, according to the multiplexing apparatus of the present invention, the multiplexing system that does not need to add or change software such as an operating system (OS) and a device driver that operate in a multiplexed manner for each dedicated I / O device. Can be obtained.

1 ハードウェア、2 デバイス(I/Oデバイス)、2x デバイスX、2y デバイスY、2z デバイスZ、3 仮想マシンモニタ、4 OS(オペレーティングシステム)、4a OS−A、4b OS−B、4c OS−C、5 デバイスドライバ、5a デバイスドライバA、5b デバイスドライバB、5c デバイスドライバC、6 同期実行管理部(同期実行管理手段)、7 I/O出力同期部(信号出力同期手段)、8 I/O入力同期部(信号入力同期手段)、9 割込み通知同期部(割込み通知同期手段)、10 I/O出力テーブル(信号出力テーブル)、11 I/O入力テーブル(信号入力テーブル)。 1 hardware, 2 devices (I / O device), 2x device X, 2y device Y, 2z device Z, 3 virtual machine monitor, 4 OS (operating system), 4a OS-A, 4b OS-B, 4c OS- C, 5 Device driver, 5a Device driver A, 5b Device driver B, 5c Device driver C, 6 Synchronous execution manager (synchronous execution manager), 7 I / O output synchronizer (signal output synchronizer), 8 I / O input synchronization unit (signal input synchronization unit), 9 interrupt notification synchronization unit (interrupt notification synchronization unit), 10 I / O output table (signal output table), 11 I / O input table (signal input table).

Claims (13)

複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、前記複数のOSの各動作を制御する同期実行管理手段と、
前記複数のOSからの各信号出力値に基づいて、前記デバイスへ信号出力する信号出力同期手段と、
前記デバイスからの信号入力値を前記複数のOSからの各信号入力要求に基づいて、前記信号入力要求したOSに信号入力する信号入力同期手段と
を備えた多重化装置。
Synchronous execution management means for starting a plurality of operating systems (OS), causing each to execute a common application, managing signal input / output with a device, and controlling each operation of the plurality of OSs;
Signal output synchronization means for outputting a signal to the device based on each signal output value from the plurality of OSs;
And a signal input synchronization means for inputting a signal input value from the device to the OS that requested the signal input based on each signal input request from the plurality of OSs.
前記デバイスからの割込みを通知されると、前記複数のOSに割込みに対応した処理を実行させる割込み通知同期手段
を有し、
前記同期実行管理手段は、前記デバイスからの割込みを検知すると、割込みがあったことを前記割込み通知同期手段に通知する
請求項1記載の多重化装置。
An interrupt notification synchronization unit that, when notified of an interrupt from the device, causes the plurality of OSes to execute processing corresponding to the interrupt;
2. The multiplexing apparatus according to claim 1, wherein the synchronization execution management unit notifies the interrupt notification synchronization unit that an interrupt has occurred when detecting an interrupt from the device.
前記信号出力同期手段は、
前記複数のOSからの各信号出力値を保持する信号出力テーブル
を有し、
前記複数のOSのそれぞれが前記信号出力テーブルに信号出力値を登録して、すべての信号出力値が揃ったとき、前記信号出力値が一致する場合に、前記デバイスへ信号出力する
請求項1または請求項2記載の多重化装置。
The signal output synchronization means includes
A signal output table for holding signal output values from the plurality of OSs;
The signal output value is output to the device when each of the plurality of OS registers a signal output value in the signal output table and the signal output values match when all the signal output values are obtained. The multiplexing apparatus according to claim 2.
前記信号出力同期手段は、前記信号出力テーブルに登録した信号出力値のうち、少なくとも1つの前記信号出力値が一致しない場合、前記信号出力値を多数決で決定して前記デバイスへ信号出力する
請求項3記載の多重化装置。
The signal output synchronization means, when at least one of the signal output values registered in the signal output table does not match, determines the signal output value by majority decision and outputs the signal to the device. 3. The multiplexing apparatus according to 3.
前記信号出力同期手段は、前記信号出力テーブルに登録した信号出力値のうち、少なくとも1つの前記信号出力値が一致しない場合、異常発生時に行う所定の処理を実行する
請求項3記載の多重化装置。
The multiplexing apparatus according to claim 3, wherein the signal output synchronization means executes a predetermined process when an abnormality occurs when at least one of the signal output values registered in the signal output table does not match. .
前記同期実行管理手段は、
前記信号出力同期手段の前記信号出力テーブルに信号出力値を登録したOSの動作を前記デバイスへ信号出力するまで一時停止させ、信号出力後に再開させる
請求項3または請求項4記載の多重化装置。
The synchronous execution management means includes
The multiplexing apparatus according to claim 3 or 4, wherein the operation of the OS whose signal output value is registered in the signal output table of the signal output synchronization means is temporarily stopped until a signal is output to the device, and is restarted after the signal is output.
前記信号入力同期手段は、
前記複数のOSからの各信号入力要求を保持する信号入力テーブル
を有し、
前記複数のOSのそれぞれが前記信号入力テーブルに信号入力要求を登録して、すべての信号入力要求が揃ったとき、前記デバイスからの入力値を要求し、前記信号入力要求したOSに信号入力する
請求項1または請求項2記載の多重化装置。
The signal input synchronization means includes
A signal input table for holding each signal input request from the plurality of OSs;
Each of the plurality of OS registers a signal input request in the signal input table, and when all the signal input requests are complete, requests an input value from the device and inputs a signal to the OS that requested the signal input. The multiplexing apparatus according to claim 1 or 2.
前記同期実行管理手段は、
前記信号入力同期手段の前記信号入力テーブルに信号入力要求を登録したOSの動作を前記デバイスへ信号入力するまで一時停止させ、信号入力後に再開させる
請求項7記載の多重化装置。
The synchronous execution management means includes
The multiplexing apparatus according to claim 7, wherein the operation of the OS that has registered a signal input request in the signal input table of the signal input synchronization unit is temporarily stopped until a signal is input to the device, and is restarted after the signal is input.
前記信号入力同期手段は、
前記複数のOSからの各信号入力要求と前記デバイスからの入力値を保持する信号入力テーブル
を有し、
前記複数のOSのいずれかから最初に前記信号入力テーブルに信号入力要求が登録されたとき、前記デバイスからの入力値を要求して前記信号入力テーブルに保持し、前記信号入力要求したOSに前記信号入力テーブルに保持した前記入力値を信号入力する
請求項1または請求項2記載の多重化装置。
The signal input synchronization means includes
A signal input table for holding each signal input request from the plurality of OSs and an input value from the device;
When a signal input request is first registered in the signal input table from any of the plurality of OSs, an input value from the device is requested and held in the signal input table, and the OS that has requested the signal input receives the OS The multiplexing apparatus according to claim 1 or 2, wherein the input value held in the signal input table is input as a signal.
複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、前記複数のOSの各動作を制御する同期実行管理ステップと、
前記複数のOSからの各信号出力値に基づいて、前記デバイスへ信号出力する信号出力同期ステップと、
前記デバイスからの信号入力値を前記複数のOSからの各信号入力要求に基づいて、前記信号入力要求したOSに信号入力する信号入力同期ステップと
を有する多重化方法。
A synchronous execution management step of starting a plurality of operating systems (OS), causing each to execute a common application, managing signal input / output with a device, and controlling each operation of the plurality of OSs;
A signal output synchronization step of outputting a signal to the device based on each signal output value from the plurality of OSs;
And a signal input synchronization step of inputting a signal input value from the device to the OS that requested the signal input based on each signal input request from the plurality of OSs.
前記デバイスからの割込みを検知すると、割込みがあったことを通知する割込み検知ステップと、
前記デバイスからの割込みを通知されると、前記複数のOSに割込みに対応した処理を実行させる割込み通知同期ステップ
を有する請求項10記載の多重化方法。
When detecting an interrupt from the device, an interrupt detection step for notifying that an interrupt has occurred;
The multiplexing method according to claim 10, further comprising: an interrupt notification synchronization step for causing the plurality of OSs to execute processing corresponding to an interrupt when an interrupt from the device is notified.
複数のオペレーティングシステム(OS)を起動してそれぞれに共通のアプリケーションを実行させ、デバイスとの信号入出力を管理して、前記複数のOSの各動作を制御する同期実行管理ステップと、
前記複数のOSからの各信号出力値に基づいて、前記デバイスへ信号出力する信号出力同期ステップと、
前記デバイスからの信号入力値を前記複数のOSからの各信号入力要求に基づいて、前記信号入力要求したOSに信号入力する信号入力同期ステップと
をコンピュータに実行させる多重化プログラム。
A synchronous execution management step of starting a plurality of operating systems (OS), causing each to execute a common application, managing signal input / output with a device, and controlling each operation of the plurality of OSs;
A signal output synchronization step of outputting a signal to the device based on each signal output value from the plurality of OSs;
A multiplexing program for causing a computer to execute a signal input synchronization step of inputting a signal input value from the device to the OS that requested the signal input based on each signal input request from the plurality of OSs.
前記デバイスからの割込みを検知すると、割込みがあったことを通知する割込み検知ステップと、
前記デバイスからの割込みを通知されると、前記複数のOSに割込みに対応した処理を実行させる割込み通知同期ステップと
をコンピュータに実行させる請求項12記載の多重化プログラム。
When detecting an interrupt from the device, an interrupt detection step for notifying that an interrupt has occurred;
13. The multiplexing program according to claim 12, which, when notified of an interrupt from the device, causes a computer to execute an interrupt notification synchronization step that causes the plurality of OSs to execute processing corresponding to the interrupt.
JP2012226587A 2012-10-12 2012-10-12 Multiplexing device, multiplexing method, and multiplexing program Pending JP2014078186A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012226587A JP2014078186A (en) 2012-10-12 2012-10-12 Multiplexing device, multiplexing method, and multiplexing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012226587A JP2014078186A (en) 2012-10-12 2012-10-12 Multiplexing device, multiplexing method, and multiplexing program

Publications (1)

Publication Number Publication Date
JP2014078186A true JP2014078186A (en) 2014-05-01

Family

ID=50783426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012226587A Pending JP2014078186A (en) 2012-10-12 2012-10-12 Multiplexing device, multiplexing method, and multiplexing program

Country Status (1)

Country Link
JP (1) JP2014078186A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238068A (en) * 2008-03-28 2009-10-15 Fujitsu Ltd Communication control device, communication control method
JP2012003313A (en) * 2010-06-14 2012-01-05 Hitachi Ltd Computer system and control method therefor
WO2012032572A1 (en) * 2010-09-08 2012-03-15 株式会社日立製作所 Computing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238068A (en) * 2008-03-28 2009-10-15 Fujitsu Ltd Communication control device, communication control method
JP2012003313A (en) * 2010-06-14 2012-01-05 Hitachi Ltd Computer system and control method therefor
WO2012032572A1 (en) * 2010-09-08 2012-03-15 株式会社日立製作所 Computing device

Similar Documents

Publication Publication Date Title
CN101689127B (en) Virtual computer control device, virtual computer control method, and virtual computer control program
US9965304B2 (en) Delayed hardware upgrades in virtualization systems
US7574627B2 (en) Memory dump method, memory dump program and computer system
US7702828B2 (en) Input/output control apparatus, input/output control system, and input/output control method
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
EP2128759B1 (en) Operating system startup control method and information processing apparatus
US10379931B2 (en) Computer system
US20140032810A1 (en) Application sharing in multi host computing systems
WO2019100589A1 (en) Virtual machine rapid capacity expansion method, apparatus and device, and storage medium
JP4957765B2 (en) Software program execution device, software program execution method, and program
WO2011116672A1 (en) Method and apparatus for patching shared code segment
US9880888B2 (en) Executing an operating system in a multiprocessor computer system
JP2019079309A (en) Start management apparatus, start management system, start management method, and start management program
EP4443291A1 (en) Cluster management method and device, and computing system
JP2014078186A (en) Multiplexing device, multiplexing method, and multiplexing program
US9292062B2 (en) Power supply and program to acquire virtual machine data
JP5713089B2 (en) Multi-core processor system, control program, and control method
JP2013140473A (en) Fault monitoring system and fault monitoring method
JP2008077388A (en) Multiprocessor control system, method and program
US10528391B1 (en) Execution manager for binary objects operating across private address spaces
JP2023071103A (en) Process schedule method
HK1237058B (en) Virtual disk backup system, method and device
HK1237058A1 (en) Virtual disk backup system, method and device
HK1237058A (en) Virtual disk backup system, method and device
JP2013130999A (en) Multi-core processor

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20140327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170221