JP2014078186A - Multiplexing device, multiplexing method, and multiplexing program - Google Patents
Multiplexing device, multiplexing method, and multiplexing program Download PDFInfo
- 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
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入力同期手段とを備えた。
【選択図】 図1To 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).
従来の多重化装置では、多重化のために専用の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.
この発明は、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に係る多重化装置の一例を示す構成図である。
FIG. 1 is a block diagram showing an example of a multiplexing apparatus according to
図において、ハードウェア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,
また、仮想マシンモニタ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
ここで、仮想マシンモニタ3を構成する同期実行管理部6、I/O出力同期部7、I/O入力同期部8、割込み通知同期部9は、同期実行管理手段、I/O出力同期手段(信号出力同期手段)、I/O入力同期手段(信号入力同期手段)、割込み通知同期手段として機能する。仮想マシンモニタ3は、複数のOSおよびそれらOS上で動作するアプリケーションソフトウェアの多重化手段として動作する。この発明の多重化装置は、コンピュータで構成し、各手段として動作する多重化プログラムとして実装することができる。
Here, the synchronous
なお、多重化される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
(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
(S102)
次に、同期実行管理部6は、対象とするデバイスについてI/O出力の場合はI/O出力同期部7を、I/O入力の場合はI/O入力同期部8を実行するようにI/O入出力発生時の処理を予め設定する。
(S102)
Next, the synchronization
(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
以下、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-
図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
図において、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 /
図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
(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
(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
この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
一部の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
(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
図において、第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
図において、この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 /
図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
(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
(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
この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
一部の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
(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
図9は、この発明の実施の形態1に係る多重化装置による割込み処理の一例を示すフローチャートである。次に割込み処理について説明する。
FIG. 9 is a flowchart showing an example of interrupt processing by the multiplexing apparatus according to
(S401)
まず、仮想マシンモニタ3の同期実行管理部6は、OS4(OS−A4a〜OS−C4c)の対象とするI/Oデバイスからの割込みを検知し、割込み同期通知部9に通知する。
(S401)
First, the synchronization
(S402)
割込み同期通知部9は、多重化しているすべてのOS4(OS−A4a〜OS−C4c)に対し、割込み発生を通知する。
(S402)
The interrupt
(S403)
各OS4(OS−A4a〜OS−C4c)もしくはそれらのデバイスドライバ5(5a〜5c)は、対象デバイスから割込みが発生したことを通知されることで、当該デバイスに対応した割込み処理を実行する。
(S403)
Each OS 4 (OS-
以上のように、この発明の実施の形態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入力を実施するものであった。
In the multiplexing apparatus according to the first embodiment of the present invention described above, the I / O
この発明の実施の形態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
図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
図において、この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 /
図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
(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
(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
この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
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
(S504)
S504の状態に遷移すると、同期実行管理部6が今回I/O入力要求して一時中断しているOS−nに対してI/O入力値を入力して実行を再開させる。
(S504)
When the state transitions to the state of S504, the synchronous
この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
一部の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に信号入力する信号入力同期手段と
を備えた多重化装置。 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.
を有し、
前記同期実行管理手段は、前記デバイスからの割込みを検知すると、割込みがあったことを前記割込み通知同期手段に通知する
請求項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.
請求項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.
請求項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に信号入力する信号入力同期ステップと
を有する多重化方法。 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に信号入力する信号入力同期ステップと
をコンピュータに実行させる多重化プログラム。 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.
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)
| 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 |
-
2012
- 2012-10-12 JP JP2012226587A patent/JP2014078186A/en active Pending
Patent Citations (3)
| 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 |