JP2020135555A - Processing execution method - Google Patents

Processing execution method Download PDF

Info

Publication number
JP2020135555A
JP2020135555A JP2019029773A JP2019029773A JP2020135555A JP 2020135555 A JP2020135555 A JP 2020135555A JP 2019029773 A JP2019029773 A JP 2019029773A JP 2019029773 A JP2019029773 A JP 2019029773A JP 2020135555 A JP2020135555 A JP 2020135555A
Authority
JP
Japan
Prior art keywords
processing
unit
redundant
privileged
section
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
JP2019029773A
Other languages
Japanese (ja)
Inventor
智明 杉原
Tomoaki Sugihara
智明 杉原
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2019029773A priority Critical patent/JP2020135555A/en
Publication of JP2020135555A publication Critical patent/JP2020135555A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide a processing execution method capable of executing a series of privileged processing that is the processing related to the core of the OS without affecting the memory area of the original OS.SOLUTION: The processing execution method is executed by an information processing device 10 that has a first OS part 11 where a first OS works and a second OS part 12 where a second OS works. When the second OS part issues a privileged process that requires privilege to execute, the configuration of the second OS part is copied on a redundant part 13 where writing is restricted onto a device on which input/output is possible, which is different from the first OS part and the second OS part, and the redundant part executes the privileged processing.SELECTED DRAWING: Figure 1

Description

本発明は、処理実行方法、処理実行装置、プログラムに関する。 The present invention relates to a process execution method, a process execution device, and a program.

1台の情報処理装置に、複数のOS(Operating System)を搭載することがある。 A plurality of OSs (Operating Systems) may be mounted on one information processing device.

このような情報処理装置の一例として、例えば、特許文献1がある。特許文献1には、プロセッサが第1のオペレーティングシステム用のプロセッサと第2のオペレーティングシステム用のプロセッサとに論理的に分割されるとともに、メモリが第1のオペレーティングシステム用のメモリと第2のオペレーティングシステム用のメモリとに論理的に分割されたコンピュータが記載されている。 As an example of such an information processing device, there is, for example, Patent Document 1. In Patent Document 1, the processor is logically divided into a processor for a first operating system and a processor for a second operating system, and the memory is a memory for the first operating system and a second operating system. A computer that is logically divided into memory for the system is described.

特開2001−290665号公報Japanese Unexamined Patent Publication No. 2001-290665

特許文献1に記載されているようなコンピュータにおいて、OSの中核にかかわる処理のため特権レベルを与えられたプログラムを実行することがある。このようなプログラムを実行する際、プログラム内に不具合があると、OS自体が続行不能になりおそれがあった。 In a computer as described in Patent Document 1, a program to which a privilege level is given may be executed for processing related to the core of the OS. When executing such a program, if there is a problem in the program, the OS itself may not be able to continue.

このような問題に対しては、OS中核の処理を小さくし可能な限り処理を分けて実行させる、権限レベルを複数用意する、例外が発生した場合のリカバリ処理により復旧させる、などの方法をとることができる。しかしながら、上記各方法の場合、設計に大きな労力を必要とするOSのアーキテクチェの変更が必要になる、修正によっては既存のユーザの運用に影響を及ぼすおそれがある、リカバリできない場合がある、という問題がそれぞれ生じていた。 For such problems, take measures such as reducing the core processing of the OS and executing the processing separately as much as possible, preparing multiple authority levels, and recovering by recovery processing when an exception occurs. be able to. However, in the case of each of the above methods, it is necessary to change the architect of the OS, which requires a lot of labor in designing, some modifications may affect the operation of existing users, and recovery may not be possible. Each had its own problems.

このように、元のOSのメモリ領域に影響を与えずにOSの中核にかかわる処理である特権処理を実行することが難しい、という課題が依然として残っていた。 As described above, there still remains the problem that it is difficult to execute privileged processing, which is processing related to the core of the OS, without affecting the memory area of the original OS.

そこで、本発明の目的は、元のOSのメモリ領域に影響を与えずにOSの中核にかかわる処理である特権処理を実行することが難しい、という課題を解決する処理実行方法、処理実行装置、プログラムを提供することにある。 Therefore, an object of the present invention is a processing execution method, a processing execution device, which solves the problem that it is difficult to execute privileged processing, which is processing related to the core of the OS, without affecting the memory area of the original OS. To provide a program.

かかる目的を達成するため本発明の一形態である処理実行方法は、
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置が行う処理実行方法であって、
実行に特権が必要になる特権処理を前記第2OS部が発行すると、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行する
という構成をとる。
The processing execution method, which is one embodiment of the present invention, in order to achieve such an object
It is a processing execution method performed by an information processing apparatus having a first OS part in which the first OS functions and a second OS part in which the second OS functions.
When the second OS part issues a privileged process that requires privilege for execution, the second OS part is in a redundant part different from the first OS part and the second OS part in which writing to an I / O-capable device is restricted. The configuration of is copied, and the redundant part executes the privileged processing.

また、本発明の他の形態である処理実行装置は、
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する処理実行装置であって、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行するコピー実行部を有する
という構成をとる。
Further, the processing execution device according to another embodiment of the present invention is
A processing execution device having a first OS section in which a first OS functions and a second OS section in which a second OS functions.
In a redundant section different from the first OS section and the second OS section, writing to an I / O-capable device is restricted according to a privileged process issued by the second OS section that requires a privilege to execute. The configuration of the second OS unit is copied, and the redundant unit has a copy execution unit that executes the privileged processing.

また、本発明の他の形態であるプログラムは、
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置に、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行するコピー実行部を実現させるためのプログラムである。
In addition, the program which is another form of the present invention
An information processing device having a first OS section in which the first OS functions and a second OS section in which the second OS functions.
In a redundant part different from the first OS part and the second OS part, the writing to the device capable of I / O is restricted according to the privileged processing issued by the second OS part that requires privilege for execution. This is a program for copying the configuration of the second OS unit and realizing a copy execution unit in which the redundant unit executes the privileged processing.

本発明は、以上のように構成されることにより、元のOSのメモリ領域に影響を与えずにOSの中核にかかわる処理である特権処理を実行することが難しい、という課題を解決する処理実行方法、処理実行装置、プログラムを提供することが可能となる。 The present invention solves the problem that it is difficult to execute privileged processing, which is processing related to the core of the OS, without affecting the memory area of the original OS by being configured as described above. It becomes possible to provide a method, a processing execution device, and a program.

本発明の第1の実施形態において説明する情報処理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the information processing apparatus described in 1st Embodiment of this invention. 本発明の第1の実施形態において説明する情報処理装置の論理的な構成の一例を示すブロック図である。It is a block diagram which shows an example of the logical structure of the information processing apparatus described in 1st Embodiment of this invention. 情報処理装置の構成図における処理の流れの一例を示す図である。It is a figure which shows an example of the processing flow in the block diagram of an information processing apparatus. 終了処理の一例を示す図である。It is a figure which shows an example of the end processing. 非同期命令の場合の処理の流れの一例を示す図である。It is a figure which shows an example of the processing flow in the case of an asynchronous instruction. 本発明の第1の実施形態において説明する情報処理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the information processing apparatus described in 1st Embodiment of this invention. 本発明の第1の実施形態において説明する情報処理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the information processing apparatus described in 1st Embodiment of this invention. 本発明の第1の実施形態において説明する情報処理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the information processing apparatus described in 1st Embodiment of this invention. 本発明の第2の実施形態における処理実行装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the processing execution apparatus in the 2nd Embodiment of this invention.

[第1の実施形態]
本発明の第1の実施形態を図1から図8までを参照して説明する。図1は、情報処理装置10の構成の一例を示すブロック図である。図2は、情報処理装置10の論理的な構成の一例を示すブロック図である。図3は、情報処理装置10の構成図における処理の流れの一例を示す図である。図4は、終了処理の一例を示す図である。図5は、非同期命令の場合の処理の流れの一例を示す図である。図6から図8までは、情報処理装置10の動作の一例を示すフローチャートである。
[First Embodiment]
The first embodiment of the present invention will be described with reference to FIGS. 1 to 8. FIG. 1 is a block diagram showing an example of the configuration of the information processing device 10. FIG. 2 is a block diagram showing an example of the logical configuration of the information processing device 10. FIG. 3 is a diagram showing an example of a processing flow in the configuration diagram of the information processing apparatus 10. FIG. 4 is a diagram showing an example of termination processing. FIG. 5 is a diagram showing an example of a processing flow in the case of an asynchronous instruction. 6 to 8 are flowcharts showing an example of the operation of the information processing apparatus 10.

本発明の第1の実施形態においては、第1OS(Operating System)710が機能する第1OS部11と、第2OS720が機能する第2OS部12と、を有するとともに、ディスクや通信などのデバイスを割り当てていない冗長部13を有する情報処理装置10(処理実行装置)について説明する。後述するように、本実施形態における情報処理装置10は、第2OS部12がOSの中核にかかわる処理であり実行に特権が必要となる特権処理を発行すると、第2OS部12の構成を冗長部130にコピーする。そして、第2OS部12の構成をコピーすることで冗長部130に生成した第2OS’に特権処理を実行させる。このように、冗長部130に生成した第2OS’で特権処理を実行することで、情報処理装置10は、元のOSの動作に影響を与えるおそれなく、特権処理の実行を行う。 In the first embodiment of the present invention, there is a first OS unit 11 in which the first OS (Operating System) 710 functions, and a second OS unit 12 in which the second OS 720 functions, and a device such as a disk or communication is allocated. The information processing device 10 (processing execution device) having the redundant unit 13 that is not provided will be described. As will be described later, when the information processing device 10 in the present embodiment issues a privileged process in which the second OS unit 12 is a process related to the core of the OS and requires a privilege to execute, the configuration of the second OS unit 12 is made redundant. Copy to 130. Then, by copying the configuration of the second OS unit 12, the redundant unit 130 causes the generated second OS'to execute the privilege processing. By executing the privileged processing on the second OS'generated in the redundant unit 130 in this way, the information processing apparatus 10 executes the privileged processing without affecting the operation of the original OS.

情報処理装置10は、第1OS710と第2OS720の2つのOSが動作する情報処理装置である。図1は、情報処理装置10の構成の一例を示している。図1を参照すると、情報処理装置10は、プロセッサ20と、メモリ30と、第2OS部用共有メモリ41と、冗長部用共有メモリ42と、システム起動時に最初に動作するファームウェアを格納する記憶装置であるFW51と、不揮発性メモリであるNVRAM(Non-Volatile Random Access Memory)52と、を有している。また、情報処理装置10には、システムバス60を介して、キーボード53、ディスプレイ54、ディスク55、外部入出力装置56、などが接続されている。 The information processing device 10 is an information processing device on which two OSs, the first OS 710 and the second OS 720, operate. FIG. 1 shows an example of the configuration of the information processing device 10. Referring to FIG. 1, the information processing apparatus 10 is a storage device that stores a processor 20, a memory 30, a second OS unit shared memory 41, a redundant unit shared memory 42, and a firmware that first operates at system startup. The FW 51 and the NVRAM (Non-Volatile Random Access Memory) 52, which is a non-volatile memory, are provided. Further, a keyboard 53, a display 54, a disk 55, an external input / output device 56, and the like are connected to the information processing device 10 via a system bus 60.

図1で示すように、プロセッサ20は、第1プロセッサ21と第2プロセッサ22と冗長プロセッサ23とに論理的に分割されている。同様に、メモリ30は、第1OSメモリ31と第2OSメモリ32と冗長OSメモリ33とに論理的に分割されている。 As shown in FIG. 1, the processor 20 is logically divided into a first processor 21, a second processor 22, and a redundant processor 23. Similarly, the memory 30 is logically divided into a first OS memory 31, a second OS memory 32, and a redundant OS memory 33.

このように、情報処理装置10は、第1プロセッサ21と第1OSメモリ31とを含む第1OS部11と、第2プロセッサ22と第2OSメモリ32と第2OS部用共有メモリ41とを含む第2OS部12と、冗長プロセッサ23と冗長OSメモリ33と冗長部用共有メモリ42とを含む冗長部13とに論理的に分割されている。つまり、情報処理装置10は、第1OS部11と第2OS部12とを有するとともに、第1OS部11や第2OS部12とは異なる構成である冗長部13を有している。また、キーボード53とディスプレイ54とディスク55とが第1OS用に論理的に分割されており、外部入出力装置56が第2OS用に論理的に分割されている。 As described above, the information processing device 10 includes the first OS unit 11 including the first processor 21 and the first OS memory 31, and the second OS including the second processor 22, the second OS memory 32, and the shared memory 41 for the second OS unit. The unit 12 is logically divided into a redundant unit 13 including a redundant processor 23, a redundant OS memory 33, and a shared memory 42 for the redundant unit. That is, the information processing device 10 has a first OS unit 11 and a second OS unit 12, and also has a redundant unit 13 having a configuration different from that of the first OS unit 11 and the second OS unit 12. Further, the keyboard 53, the display 54, and the disk 55 are logically divided for the first OS, and the external input / output device 56 is logically divided for the second OS.

なお、情報処理装置10を論理的に分割する手段は、既知のものを用いて構わない。例えば、情報処理装置10は、特開2001−290665号に記載されている方法を用いて、情報処理装置10が有する構成を第1OS部11と第2OS部12と冗長部13とに論理的に分割することが出来る。 A known means for logically dividing the information processing apparatus 10 may be used. For example, the information processing apparatus 10 logically divides the configuration of the information processing apparatus 10 into the first OS unit 11, the second OS unit 12, and the redundant unit 13 by using the method described in Japanese Patent Application Laid-Open No. 2001-290665. It can be divided.

図2は、情報処理装置10が有する論理的な構成の一例である。図2を参照すると、情報処理装置10は、第1OS710と、第2OS720と、第2OS用エミュレータ730と、を有している。 FIG. 2 is an example of the logical configuration of the information processing apparatus 10. Referring to FIG. 2, the information processing apparatus 10 has a first OS 710, a second OS 720, and a second OS emulator 730.

なお、第1OS710及び第1OS710が有する各機能は、例えば、記憶装置に格納されたプログラムを第1プロセッサ21が実行することで実現される。また、第2OS720及び第2OS720が有する各機能と、第2OS用エミュレータ73及び第2OS用エミュレータ73が有する各機能は、例えば、記憶装置に格納されたプログラムを第2プロセッサ22が実行することで実現される。 Each function of the first OS 710 and the first OS 710 is realized by, for example, executing a program stored in the storage device by the first processor 21. Further, each function of the second OS 720 and the second OS 720 and each function of the second OS emulator 73 and the second OS emulator 73 are realized by, for example, executing the program stored in the storage device by the second processor 22. Will be done.

第2OS720は、プログラムが特権処理を発行すると、当該特権処理の実行を冗長部13で実行させるための処理を開始する。また、第2OS720は、冗長部13を活用して実行された特権処理の結果を受け取る。また、冗長部13において、コピーされた第2OS(第2OS’)は、特権処理を実行する。 When the program issues a privileged process, the second OS720 starts a process for causing the redundant unit 13 to execute the privileged process. In addition, the second OS 720 receives the result of the privileged processing executed by utilizing the redundant unit 13. Further, in the redundant unit 13, the copied second OS (second OS') executes privileged processing.

図2を参照すると、第2OS720は、例えば、カーネル721と、スケジューラアドレス通知部722と、例外処理アドレス通知部723と、を有している。また、カーネル721は、バイパス処理依頼部7211と、バイパス処理結果取得部7212と、を有している。 With reference to FIG. 2, the second OS 720 has, for example, a kernel 721, a scheduler address notification unit 722, and an exception handling address notification unit 723. Further, the kernel 721 has a bypass processing request unit 7211 and a bypass processing result acquisition unit 7212.

第2OS用エミュレータ730は、バイパス処理依頼部7211で発行された命令に応じて第2OS720をサスペンド(一時的に停止)したり、バイパス処理依頼部7211で発行された命令を第2OS部用共有メモリ41に書き込んだりする。また、冗長部13において、コピーされた第2OS用エミュレータ(第2OS’用エミュレータ)は、第2OS720のサスペンドを解除したり第2OS’が実行した特権処理の結果を冗長部用共有メモリ42に格納したりする。 The second OS emulator 730 suspends (temporarily stops) the second OS 720 in response to the instruction issued by the bypass processing request unit 7211, or causes the instruction issued by the bypass processing request unit 7211 to be shared memory for the second OS unit. Write in 41. In addition, the copied second OS emulator (second OS'emulator) in the redundant section 13 releases the suspend of the second OS 720 and stores the result of the privileged processing executed by the second OS' in the redundant section shared memory 42. To do.

図2を参照すると、第2OS用エミュレータ730は、例えば、実行部731と、終了処理部732と、を有している。 Referring to FIG. 2, the second OS emulator 730 has, for example, an execution unit 731 and an end processing unit 732.

第1OS710は、割り込みに応じて、第2プロセッサ22のレジスタに格納されている情報を冗長プロセッサ23にコピーするとともに、第2OSメモリ32に格納されている情報を冗長OSメモリ33にコピーする。また、上記コピーする際、第1OS710は、スケジューラアドレス通知部722や例外処理アドレス通知部723から通知された情報を用いて、終了処理のメモリイメージ上書きを行う。さらに、第1OS710は、冗長部13による特権処理の実行後、冗長部用共有メモリ42に格納された特権処理の結果を読み出して、読み出した特権処理の結果を第2OS部用共有メモリ41に格納する。 In response to an interrupt, the first OS 710 copies the information stored in the registers of the second processor 22 to the redundant processor 23, and copies the information stored in the second OS memory 32 to the redundant OS memory 33. Further, at the time of copying, the first OS 710 overwrites the memory image of the end processing by using the information notified from the scheduler address notification unit 722 and the exception processing address notification unit 723. Further, the first OS 710 reads the result of the privilege processing stored in the redundant unit shared memory 42 after the privilege processing is executed by the redundant unit 13, and stores the read privilege processing result in the second OS unit shared memory 41. To do.

図2を参照すると、第1OS710は、例えば、特権処理用コピー実行部711(コピー実行部)を有している。 Referring to FIG. 2, the first OS 710 has, for example, a copy execution unit 711 (copy execution unit) for privilege processing.

例えば、情報処理装置10は、以上説明したような第1OS710と、第2OS720と、第2OS用エミュレータ730と、を有している。 For example, the information processing apparatus 10 has a first OS 710, a second OS 720, and an emulator 730 for the second OS as described above.

図3は、特権処理を冗長部13に実行させる際の処理の一例を示している。後述するように、特権処理の内容に応じて、冗長部13に実行させる際の処理の内容が変わることになる。つまり、第2OS部12をサスペンドさせて排他的な処理を行うか、第2OS部12をサスペンドさせずに処理を行うか、が変わることになる。以下、図3を参照しつつ図2を用いて説明した各構成についてより詳細に説明する。 FIG. 3 shows an example of processing when the redundant unit 13 executes privileged processing. As will be described later, the content of the processing to be executed by the redundant unit 13 changes according to the content of the privileged processing. That is, whether the second OS unit 12 is suspended for exclusive processing or the second OS unit 12 is not suspended for processing is changed. Hereinafter, each configuration described with reference to FIG. 2 will be described in more detail with reference to FIG.

第2OS720のプログラムは、OSの中核にかかわる処理である特権処理を発行する(図3の(1))。すると、バイパス処理依頼部7211は、発行された特権処理を受け付ける。そして、バイパス処理依頼部7211は、受け付けた特権処理の内容に応じた実行命令を発行する(図3の(2))。例えば、このようなバイパス処理依頼部7211の処理により、特権処理を冗長部13で実行させる処理が開始する。また、この際、バイパス処理依頼部7211は、受け付けた特権処理の内容に基づいて、特権処理を排他的に実行する必要があるか否か判断する。 The program of the second OS 720 issues privileged processing, which is processing related to the core of the OS ((1) in FIG. 3). Then, the bypass processing request unit 7211 accepts the issued privilege processing. Then, the bypass processing request unit 7211 issues an execution instruction according to the content of the received privilege processing ((2) in FIG. 3). For example, the processing of the bypass processing requesting unit 7211 starts the processing of executing the privileged processing in the redundant unit 13. Further, at this time, the bypass processing request unit 7211 determines whether or not it is necessary to exclusively execute the privilege processing based on the contents of the received privilege processing.

特権処理の結果が他の処理に影響するなど、特権処理の内容から特権処理を排他的に実行する必要があると判断される場合、バイパス処理依頼部7211は、「冗長領域で実行」命令を発行する(図3の(3))。これにより、第2OS部12をサスペンドさせつつ冗長部13に特権処理を実行させる処理が開始する。また、バイパス処理依頼部7211が実行判断を行って命令を発行する際、スケジューラアドレス通知部722は、スケジューラなどが利用する処理後の共通処理領域アドレスを示す情報を第1OS710へ通知する。また、例外処理アドレス通知部723は、例外処理アドレスを示す情報を第1OS710へ通知する。なお、特権処理の内容から特権処理を排他的に実行する必要がないと判断される場合、バイパス処理依頼部7211は、「冗長領域で実行(非同期)」命令を発行する。これにより、第2OS部12をサスペンドさせないで冗長部13に特権処理を実行させる処理が開始することになる。「冗長領域で実行(非同期)」命令を発行する場合の処理の詳細は後述する。 When it is determined from the contents of the privileged processing that the privileged processing needs to be executed exclusively, such as when the result of the privileged processing affects other processing, the bypass processing request unit 7211 issues a "execute in redundant area" instruction. Issue ((3) in Fig. 3). As a result, the process of causing the redundant unit 13 to execute the privileged process while suspending the second OS unit 12 starts. Further, when the bypass processing request unit 7211 makes an execution determination and issues an instruction, the scheduler address notification unit 722 notifies the first OS 710 of information indicating the common processing area address after processing used by the scheduler or the like. Further, the exception handling address notification unit 723 notifies the first OS 710 of information indicating the exception handling address. When it is determined from the contents of the privileged processing that it is not necessary to exclusively execute the privileged processing, the bypass processing request unit 7211 issues an "execute in redundant area (asynchronous)" instruction. As a result, the process of causing the redundant unit 13 to execute the privileged process without suspending the second OS unit 12 is started. The details of the process when issuing the "execute in redundant area (asynchronous)" instruction will be described later.

第2OS用エミュレータ730の実行部731は、「冗長領域で実行」命令に応じて、第2OS720をサスペンドさせる(図3の(4))。そして、実行部731は、バイパス処理依頼部7211が発行した「冗長領域で実行」命令の情報を第2OS部用共有メモリ41に格納する(図3の(5))。その後、第2OS720(または、第2OS用エミュレータ730)は、第1OS710へ割り込みを行う(図3の(6))。 The execution unit 731 of the emulator 730 for the second OS suspends the second OS 720 in response to the "execute in redundant area" command ((4) in FIG. 3). Then, the execution unit 731 stores the information of the "execute in redundant area" instruction issued by the bypass processing request unit 7211 in the shared memory 41 for the second OS unit ((5) in FIG. 3). After that, the second OS 720 (or the emulator 730 for the second OS) interrupts the first OS 710 ((6) in FIG. 3).

第1OS710の特権処理用コピー実行部711は、割り込みを受け付ける。すると、特権処理用コピー実行部711は、第2OS部用共有メモリ41を参照して、格納された命令の情報を受け取る(図3の(7))。 The privilege processing copy execution unit 711 of the first OS 710 accepts interrupts. Then, the privilege processing copy execution unit 711 refers to the shared memory 41 for the second OS unit and receives the stored instruction information ((7) in FIG. 3).

特権処理用コピー実行部711は、受け取った情報に応じて、第2プロセッサ22のレジスタに格納されている情報を冗長プロセッサ23にコピーするとともに、第2OSメモリ32に格納されている情報を冗長OSメモリ33にコピーする(図3の(8))。また、上記コピーする際、第1OS710は、スケジューラアドレス通知部722や例外処理アドレス通知部723から通知されたアドレスを用いて、終了処理のメモリイメージ上書きを行う。 The copy execution unit 711 for privilege processing copies the information stored in the register of the second processor 22 to the redundant processor 23 according to the received information, and copies the information stored in the second OS memory 32 to the redundant OS. Copy to memory 33 ((8) in FIG. 3). Further, at the time of copying, the first OS 710 overwrites the memory image of the end processing by using the address notified from the scheduler address notification unit 722 and the exception processing address notification unit 723.

図4は、終了処理のメモリイメージ上書きの一例を示している。図4で示すように、特権処理用コピー実行部711は、スケジューラアドレス通知部722や例外処理アドレス通知部723から通知されたアドレスに終了処理のメモリイメージ上書きを行う。終了処理には、例えば、特権処理の結果を冗長部用共有メモリ42に格納する旨を示す情報や、特権処理の結果を冗長部用共有メモリ42に格納したあと第1OS710へ割り込みを行う旨を示す情報などが含まれている。 FIG. 4 shows an example of overwriting the memory image in the termination process. As shown in FIG. 4, the privilege processing copy execution unit 711 overwrites the memory image of the termination processing on the address notified from the scheduler address notification unit 722 and the exception processing address notification unit 723. In the termination process, for example, information indicating that the result of the privileged processing is stored in the redundant part shared memory 42, or that the result of the privileged processing is stored in the redundant part shared memory 42 and then interrupted to the first OS 710 is performed. It contains information to show.

上述した処理を行った後、特権処理用コピー実行部711は、冗長OSメモリ33に構築された第2OS’に対して、割り込み処理を行う(図3の(9))。 After performing the above-described processing, the privileged copy execution unit 711 performs interrupt processing on the second OS'built in the redundant OS memory 33 ((9) in FIG. 3).

冗長部13にコピーされた第2OS用エミュレータ(第2OS’用エミュレータ)は、第2OS’のサスペンドを解除する(図3の(10))。 The second OS emulator (second OS'emulator) copied to the redundant portion 13 releases the suspension of the second OS'((10) in FIG. 3).

冗長部13にコピーされた第2OS(つまり、第2OS’)は、特権処理を実行する(図3の(11))。 The second OS (that is, the second OS') copied to the redundant unit 13 executes privileged processing ((11) in FIG. 3).

特権処理に成功した場合、冗長OSメモリ33上の終了処理のエリアに到達する(図3の(12))。すると、冗長部13にコピーされた第2OS用エミュレータ(第2OS’用エミュレータ)の終了処理部732は、終了処理の結果を示す状態を冗長部用共有メモリ42にセットする。そして、終了処理部732は、第1OS710に対して割り込み処理を行う(図3の(13))。一方、特権処理に失敗した場合、冗長OSメモリ33上の例外用の終了処理エリアに到達する(図3の(12’))。すると、終了処理部732は、終了処理の結果を示す状態を冗長部用共有メモリ42にセットする。そして、終了処理部732は、第1OS710に対して割り込み処理を行う(図3の(13’))。 When the privileged processing is successful, the area of the termination processing on the redundant OS memory 33 is reached ((12) in FIG. 3). Then, the end processing unit 732 of the second OS emulator (second OS'emulator) copied to the redundant unit 13 sets the state indicating the result of the end processing in the redundant unit shared memory 42. Then, the end processing unit 732 performs interrupt processing on the first OS 710 ((13) in FIG. 3). On the other hand, when the privilege processing fails, the termination processing area for exceptions on the redundant OS memory 33 is reached ((12') in FIG. 3). Then, the end processing unit 732 sets the state indicating the result of the end processing in the redundant unit shared memory 42. Then, the end processing unit 732 performs interrupt processing on the first OS 710 ((13') in FIG. 3).

第1OS710は、割り込みを受け付ける。すると、第1OS710の特権処理用コピー実行部711は、特権処理の結果に応じた情報を冗長部用共有メモリ42から取得して、第2OS部用共有メモリ41に取得した情報を格納する(図3の(14))。そして、第1OS710は、第2OS720に対して割り込みを行う(図3の(15))。 The first OS 710 accepts interrupts. Then, the privileged copy execution unit 711 of the first OS 710 acquires the information according to the result of the privileged processing from the redundant unit shared memory 42, and stores the acquired information in the second OS unit shared memory 41 (FIG. 3 (14)). Then, the first OS 710 interrupts the second OS 720 ((15) in FIG. 3).

第2OS用エミュレータ730は、第2OS720のサスペンドを解除する。 The emulator 730 for the second OS releases the suspend of the second OS 720.

第2OS720は、自身の特権処理をスキップする(図3の(16))。そして、第2OS720は、第2OS部用共有メモリ41を参照して、特権処理の実行結果を受け取る(図3の(17))。 The second OS 720 skips its own privilege processing ((16) in FIG. 3). Then, the second OS 720 refers to the shared memory 41 for the second OS unit and receives the execution result of the privileged processing ((17) in FIG. 3).

以上が、特権処理を排他的に実行させる必要がある場合の処理の流れの一例である。第1OS710と、第2OS720と、第2OS用エミュレータ730とは、上述したような処理を行う構成を有している。 The above is an example of the processing flow when it is necessary to execute privileged processing exclusively. The first OS 710, the second OS 720, and the second OS emulator 730 have a configuration for performing the above-described processing.

なお、特権処理を排他的に実行する必要がないと判断される場合、バイパス処理依頼部7211は、「冗長領域で実行」命令の代わりに「冗長領域で実行(非同期)」命令を発行する(図3の(3))。また、バイパス処理依頼部7211は、第2OS720に特権処理をスキップさせる。この場合、第2OS用エミュレータ730の実行部731は、「冗長領域で実行(非同期)」命令であるため、第2OS720をサスペンドさせない。また、第2OS’や第2OS72のサスペンドを解除する処理が省略される。 If it is determined that it is not necessary to exclusively execute the privileged processing, the bypass processing requesting unit 7211 issues an "execute in redundant area (asynchronous)" instruction instead of the "execute in redundant area" instruction (execution in redundant area (asynchronous)" ( (3) of FIG. In addition, the bypass processing request unit 7211 causes the second OS 720 to skip the privilege processing. In this case, the execution unit 731 of the emulator 730 for the second OS does not suspend the second OS 720 because it is an "execute in a redundant area (asynchronous)" instruction. Further, the process of canceling the suspension of the second OS'and the second OS 72 is omitted.

上記のような特権処理を排他的に実行する必要がない場合の処理の一例を図5で示す。図5を参照すると、特権処理を排他的に実行する必要がないと判断される場合、第2OS720は、特権処理をスキップして通常のOS処理を続行する。一方、冗長部13にコピーされた第2OS(つまり、第2OS’)は、特権処理を実行して終了処理を行う。このように、特権処理を排他的に実行する必要がない場合、第2OS720による通常のOS処理と冗長部13にコピーされた第2OS(つまり、第2OS’)による特権処理とが並行して実行される。 FIG. 5 shows an example of processing when it is not necessary to exclusively execute the privileged processing as described above. With reference to FIG. 5, when it is determined that it is not necessary to exclusively execute the privileged processing, the second OS 720 skips the privileged processing and continues the normal OS processing. On the other hand, the second OS (that is, the second OS') copied to the redundant unit 13 executes privileged processing to perform termination processing. In this way, when it is not necessary to exclusively execute the privileged processing, the normal OS processing by the second OS720 and the privileged processing by the second OS (that is, the second OS') copied to the redundant part 13 are executed in parallel. Will be done.

続いて、図6から図8までを参照して、情報処理装置10の動作の一例について説明する。図6から図8までは、情報処理装置10の動作の一例を示すフローチャートである。図6を参照すると、第2OS720のプログラムは、OSの中核にかかわる処理である特権処理を発行する(ステップS101。図3の(1))。すると、バイパス処理依頼部7211は、発行された特権処理を受け付ける。そして、バイパス処理依頼部7211は、受け付けた特権処理の内容などに基づいて、当該特権処理を排他的に実行する必要があるか否か判断する(ステップS102。図3の(2))。 Subsequently, an example of the operation of the information processing apparatus 10 will be described with reference to FIGS. 6 to 8. 6 to 8 are flowcharts showing an example of the operation of the information processing apparatus 10. Referring to FIG. 6, the program of the second OS 720 issues a privileged process which is a process related to the core of the OS (step S101, (1) of FIG. 3). Then, the bypass processing request unit 7211 accepts the issued privilege processing. Then, the bypass processing requesting unit 7211 determines whether or not it is necessary to exclusively execute the privileged processing based on the contents of the received privileged processing (step S102; (2) of FIG. 3).

特権処理の結果が他の処理に影響するなど、特権処理の内容から特権処理を排他的に実行する必要があると判断される場合(ステップS103、同期命令)、バイパス処理依頼部7211は、「冗長領域で実行」命令を発行する(ステップS104。図3の(3))。一方、特権処理の内容から特権処理を排他的に実行する必要がないと判断される場合(ステップS103、非同期命令)、バイパス処理依頼部7211は、「冗長領域で実行(非同期)」命令を発行する。 When it is determined from the contents of the privileged processing that the privileged processing needs to be executed exclusively (step S103, synchronization instruction), such as when the result of the privileged processing affects other processing, the bypass processing requesting unit 7211 sets Issue the "execute in redundant area" command (step S104; (3) in FIG. 3). On the other hand, when it is determined from the contents of the privileged processing that it is not necessary to exclusively execute the privileged processing (step S103, asynchronous instruction), the bypass processing request unit 7211 issues an "execute in redundant area (asynchronous)" instruction. To do.

なお、バイパス処理依頼部7211が実行判断を行って「冗長領域で実行」命令、又は、「冗長領域で実行(非同期)」命令を発行する際、スケジューラアドレス通知部722は、スケジューラなどが利用する処理後の共通処理領域アドレスを示す情報を第1OS710へ通知する。また、例外処理アドレス通知部723は、例外処理アドレスを示す情報を第1OS710へ通知する。 The scheduler address notification unit 722 is used by the scheduler or the like when the bypass processing request unit 7211 determines execution and issues an "execute in redundant area" command or an "execute in redundant area (asynchronous)" command. The information indicating the common processing area address after processing is notified to the first OS 710. Further, the exception handling address notification unit 723 notifies the first OS 710 of information indicating the exception handling address.

実行部731は、「冗長領域で実行」命令に応じて、第2OS720をサスペンドさせる(ステップS105。図3の(4))。そして、実行部731は、バイパス処理依頼部7211が発行した「冗長領域で実行」命令の情報を第2OS部用共有メモリ41に格納する(ステップS106。図3の(5))。その後、第2OS720(または、第2OS用エミュレータ730)は、第1OS710へ割り込みを行う(ステップS107。図3の(6))。 The execution unit 731 suspends the second OS 720 in response to the "execute in redundant area" command (step S105, (4) in FIG. 3). Then, the execution unit 731 stores the information of the "execute in redundant area" instruction issued by the bypass processing request unit 7211 in the shared memory 41 for the second OS unit (step S106, (5) in FIG. 3). After that, the second OS 720 (or the emulator 730 for the second OS) interrupts the first OS 710 (step S107, (6) in FIG. 3).

第1OS710の特権処理用コピー実行部711は、割り込みを受け付ける。すると、特権処理用コピー実行部711は、第2OS部用共有メモリ41を参照して、格納された命令の情報を受け取る(ステップS108。図3の(7))。 The privilege processing copy execution unit 711 of the first OS 710 accepts interrupts. Then, the privilege processing copy execution unit 711 refers to the shared memory 41 for the second OS unit and receives the stored instruction information (step S108, (7) in FIG. 3).

特権処理用コピー実行部711は、受け取った情報に応じて、第2プロセッサ22のレジスタに格納されている情報を冗長プロセッサ23にコピーするとともに、第2OSメモリ32に格納されている情報を冗長OSメモリ33にコピーする(ステップS109。図3の(8))。また、上記コピーする際、第1OS710は、スケジューラアドレス通知部722や例外処理アドレス通知部723から通知されたアドレスを用いて、終了処理のメモリイメージ上書きを行う。 The copy execution unit 711 for privilege processing copies the information stored in the register of the second processor 22 to the redundant processor 23 according to the received information, and copies the information stored in the second OS memory 32 to the redundant OS. Copy to the memory 33 (step S109; (8) in FIG. 3). Further, at the time of the above copying, the first OS 710 overwrites the memory image of the end processing by using the address notified from the scheduler address notification unit 722 and the exception processing address notification unit 723.

特権処理用コピー実行部711は、冗長OSメモリ33に構築された第2OS’に対して、割り込み処理を行う(ステップS110。図3の(9))。 The privilege processing copy execution unit 711 performs interrupt processing on the second OS'built in the redundant OS memory 33 (step S110; FIG. 3 (9)).

冗長部13にコピーされた第2OS用エミュレータ(第2OS’用エミュレータ)は、第2OS’のサスペンドを解除する(ステップS111。図3の(10))。 The second OS emulator (second OS'emulator) copied to the redundant section 13 releases the suspension of the second OS'(step S111, (10) in FIG. 3).

続いて、図7を参照すると、冗長部13にコピーされた第2OS(つまり、第2OS’)は、特権処理を実行する(ステップS121。図3の(11))。 Subsequently, referring to FIG. 7, the second OS (that is, the second OS') copied to the redundant portion 13 executes privilege processing (step S121; (11) in FIG. 3).

特権処理に成功した場合(ステップS122、成功)、冗長OSメモリ33上の終了処理のエリアに到達する(ステップS123。図3の(12))。すると、冗長部13にコピーされた第2OS用エミュレータ(第2OS’用エミュレータ)の終了処理部732は、終了処理の結果を示す状態を冗長部用共有メモリ42にセットする。そして、終了処理部732は、第1OS710に対して割り込み処理を行う(ステップS124。図3の(13))。一方、特権処理に失敗した場合(ステップS122、失敗)、冗長OSメモリ33上の例外用の終了処理エリアに到達する(ステップS125。図3の(12’))。すると、終了処理部732は、終了処理の結果を示す状態を冗長部用共有メモリ42にセットする。そして、終了処理部732は、第1OS710に対して割り込み処理を行う(ステップS126。図3の(13’))。 When the privilege processing is successful (step S122, success), the area of the termination processing on the redundant OS memory 33 is reached (step S123; (12) in FIG. 3). Then, the end processing unit 732 of the second OS emulator (second OS'emulator) copied to the redundant unit 13 sets the state indicating the result of the end processing in the redundant unit shared memory 42. Then, the end processing unit 732 performs interrupt processing for the first OS 710 (step S124; (13) in FIG. 3). On the other hand, when the privilege processing fails (step S122, failure), the termination processing area for exceptions on the redundant OS memory 33 is reached (step S125, (12') in FIG. 3). Then, the end processing unit 732 sets the state indicating the result of the end processing in the redundant unit shared memory 42. Then, the end processing unit 732 performs interrupt processing for the first OS 710 (step S126, (13') in FIG. 3).

第1OS710は、割り込みを受け付ける。すると、第1OS710の特権処理用コピー実行部711は、特権処理の結果に応じた情報を冗長部用共有メモリ42から取得して、第2OS部用共有メモリ41に取得した情報を格納する(ステップS127。図3の(14))。そして、第1OS710は、第2OS720に対して割り込みを行う(ステップS128。図3の(15))。 The first OS 710 accepts interrupts. Then, the privileged copy execution unit 711 of the first OS 710 acquires the information according to the result of the privileged processing from the redundant unit shared memory 42, and stores the acquired information in the second OS unit shared memory 41 (step). S127. (14) in FIG. Then, the first OS 710 interrupts the second OS 720 (step S128, (15) in FIG. 3).

第2OS用エミュレータ730は、第2OS720のサスペンドを解除する。第2OS720は、自身の特権処理をスキップする(ステップS129。図3の(16))。そして、第2OS720は、第2OS部用共有メモリ41を参照して、特権処理の実行結果を受け取る(ステップS130。図3の(17))。第2OS720は、特権処理の実行結果に何らかの不具合がある場合、特権処理の実行結果を受け取らず破棄するよう構成しても構わない。 The emulator 730 for the second OS releases the suspend of the second OS 720. The second OS720 skips its own privilege processing (step S129; (16) in FIG. 3). Then, the second OS 720 refers to the shared memory 41 for the second OS unit and receives the execution result of the privileged processing (step S130, (17) in FIG. 3). The second OS 720 may be configured to discard the execution result of the privilege processing without receiving the execution result of the privilege processing when there is some problem in the execution result of the privilege processing.

また、図6及び図8を参照すると、特権処理の内容から特権処理を排他的に実行する必要がないと判断される場合(ステップS103、非同期命令)、バイパス処理依頼部7211は、「冗長領域で実行(非同期)」命令を発行する(ステップS131)。 Further, referring to FIGS. 6 and 8, when it is determined from the contents of the privileged processing that it is not necessary to exclusively execute the privileged processing (step S103, asynchronous instruction), the bypass processing requesting unit 7211 sets the “redundant area”. Issuance of the "execute (asynchronous)" instruction (step S131).

実行部731は、「冗長領域で実行(非同期)」命令に応じて、第2OS720をサスペンドさせずに、バイパス処理依頼部7211が発行した「冗長領域で実行」命令の情報を第2OS部用共有メモリ41に格納する(ステップS132)。その後、第2OS720(または、第2OS用エミュレータ730)は、第1OS710へ割り込みを行う(ステップS133)。 The execution unit 731 shares the information of the "execute in the redundant area" instruction issued by the bypass processing request unit 7211 for the second OS unit without suspending the second OS 720 in response to the "execute in the redundant area (asynchronous)" instruction. It is stored in the memory 41 (step S132). After that, the second OS 720 (or the second OS emulator 730) interrupts the first OS 710 (step S133).

第1OS710の特権処理用コピー実行部711は、割り込みを受け付ける。すると、特権処理用コピー実行部711は、第2OS部用共有メモリ41を参照して、格納された命令の情報を受け取る(ステップS134)。そして、特権処理用コピー実行部711は、受け取った情報に応じて、第2プロセッサ22のレジスタに格納されている情報を冗長プロセッサ23にコピーするとともに、第2OSメモリ32に格納されている情報を冗長OSメモリ33にコピーする(ステップS135)。また、上記コピーする際、第1OS710は、スケジューラアドレス通知部722や例外処理アドレス通知部723から通知されたアドレスを用いて、終了処理のメモリイメージ上書きを行う。その後、特権処理用コピー実行部711は、冗長OSメモリ33に構築された第2OS’に対して、割り込み処理を行う(ステップS136)。 The privilege processing copy execution unit 711 of the first OS 710 accepts interrupts. Then, the privilege processing copy execution unit 711 refers to the shared memory 41 for the second OS unit and receives the stored instruction information (step S134). Then, the copy execution unit 711 for privilege processing copies the information stored in the register of the second processor 22 to the redundant processor 23 according to the received information, and copies the information stored in the second OS memory 32. Copy to the redundant OS memory 33 (step S135). Further, at the time of copying, the first OS 710 overwrites the memory image of the end processing by using the address notified from the scheduler address notification unit 722 and the exception processing address notification unit 723. After that, the privilege processing copy execution unit 711 performs interrupt processing on the second OS'built in the redundant OS memory 33 (step S136).

第2OS’は、割り込みに応じて、特権処理を実行する(ステップS137)。特権処理の内容は、0054段落〜0055段落で既に説明した処理と同様である。そのため、説明は省略する。特権処理の終了後、終了処理部732は、第1OS710に対して割り込み処理を行うことになる。 The second OS'executes privilege processing in response to an interrupt (step S137). The content of the privileged processing is the same as the processing already described in paragraphs 0054 to 0055. Therefore, the description thereof will be omitted. After the privilege processing is completed, the termination processing unit 732 will perform interrupt processing for the first OS 710.

第1OS710は、割り込みを受け付ける。すると、第1OS710の特権処理用コピー実行部711は、特権処理の結果に応じた情報を冗長部用共有メモリ42から取得して、第2OS部用共有メモリ41に取得した情報を格納する(ステップS138)。そして、第1OS710は、第2OS720に対して割り込みを行う(ステップS139)。 The first OS 710 accepts interrupts. Then, the privileged copy execution unit 711 of the first OS 710 acquires the information according to the result of the privileged processing from the redundant unit shared memory 42, and stores the acquired information in the second OS unit shared memory 41 (step). S138). Then, the first OS 710 interrupts the second OS 720 (step S139).

第2OS720は、割り込みを受け付ける(ステップS140)。そして、第2OS720は、第2OS部用共有メモリ41を参照して、特権処理の実行結果を受け取る(ステップS141)。 The second OS 720 accepts an interrupt (step S140). Then, the second OS 720 refers to the shared memory 41 for the second OS unit and receives the execution result of the privileged processing (step S141).

以上が、情報処理装置10の動作の一例である。 The above is an example of the operation of the information processing device 10.

このように、情報処理装置10は、第1OS部11と、第2OS部12と、ディスクや通信などのデバイスを割り当てていない冗長部13と、を有している。また、情報処理装置10は、第2OS部12がOSの中核にかかわる処理である特権処理を発行すると、第2OS部12の構成を冗長部130にコピーして、第2OS部12の構成をコピーすることで冗長部130に生成した第2OS’に特権処理を実行させるよう構成されている。このような構成により、ディスクや通信などのデバイスを割り当てていない冗長部13に特権処理を実行させることが出来る。その結果、情報処理装置10は、仮に特権処理に何らかの不具合があった場合でも元のOSの動作に影響を与えるおそれなく、特権処理の実行を行うことが可能となる。 As described above, the information processing device 10 has a first OS unit 11, a second OS unit 12, and a redundant unit 13 to which a device such as a disk or communication is not assigned. Further, when the second OS unit 12 issues a privileged process that is a process related to the core of the OS, the information processing device 10 copies the configuration of the second OS unit 12 to the redundant unit 130 and copies the configuration of the second OS unit 12. By doing so, the redundant unit 130 is configured to execute the privileged processing on the generated second OS'. With such a configuration, the redundant unit 13 to which a device such as a disk or communication is not assigned can execute privilege processing. As a result, the information processing apparatus 10 can execute the privileged processing without affecting the operation of the original OS even if there is some problem in the privileged processing.

なお、本実施形態においては、冗長部13は、ディスクや通信などのデバイスを割り当てていないとした。しかしながら、冗長部13は、メモリ以外のI/O可能なデバイスに対して、読み込みのみ可能なよう構成しても構わない。換言すると、冗長部13は、I/O可能なデバイスに対する書き込みを制限するよう構成しても構わない。冗長部13をこのように構成する場合、ページフォルトの例外は、第2OS’の処理を完了とせず、ページインして続行することが出来る。 In this embodiment, the redundant unit 13 does not allocate a device such as a disk or communication. However, the redundant unit 13 may be configured so that it can only be read by a device other than the memory that can perform I / O. In other words, the redundant unit 13 may be configured to limit writing to devices capable of I / O. When the redundant part 13 is configured in this way, the exception of the page fault can be paged in and continued without completing the processing of the second OS'.

[第2の実施形態]
次に、図9を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、処理実行装置80の構成の概要について説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. In the second embodiment, the outline of the configuration of the processing execution device 80 will be described.

処理実行装置80は、第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する装置である。図9は、本実施形態に特徴的な処理実行装置80の構成の一例を示している。図9を参照すると、処理実行装置80は、たとえば、コピー実行部81を有している。 The processing execution device 80 is a device having a first OS unit in which the first OS functions and a second OS unit in which the second OS functions. FIG. 9 shows an example of the configuration of the processing execution device 80, which is characteristic of the present embodiment. Referring to FIG. 9, the processing execution device 80 has, for example, a copy execution unit 81.

例えば、処理実行装置80は、CPUなどの演算装置と記憶装置とを有している。処理実行装置80は、記憶装置に格納されたプログラムを演算装置が実行することで、上記処理部を実現する。 For example, the processing execution device 80 has an arithmetic unit such as a CPU and a storage device. The processing execution device 80 realizes the processing unit when the arithmetic unit executes the program stored in the storage device.

コピー実行部81は、第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、第1OS部と第2OS部とは異なる冗長部に第2OS部の構成をコピーする。これにより、コピー実行部81は、冗長部に特権処理を実行させる。 The copy execution unit 81 is different from the first OS unit and the second OS unit in that the writing to the I / O-capable device is restricted according to the privilege processing issued by the second OS unit that requires privilege for execution. Copy the configuration of the second OS part to the part. As a result, the copy execution unit 81 causes the redundant unit to execute privilege processing.

このように、処理実行装置80は、コピー実行部81を有している。このような構成により、コピー実行部81は、冗長部に第2OS部の構成をコピーして、冗長部に特権処理を実行させることが出来る。本実施形態の場合、冗長部は、I/O可能なデバイスに対する書き込みが制限されている。そのため、仮に冗長部で実行した特権処理に不具合があった場合でも、当該特権処理の実行により問題が生じるおそれを低減させることが出来る。 As described above, the processing execution device 80 has the copy execution unit 81. With such a configuration, the copy execution unit 81 can copy the configuration of the second OS unit to the redundant unit and cause the redundant unit to execute privilege processing. In the case of this embodiment, the redundant part is restricted from writing to the device capable of I / O. Therefore, even if there is a problem in the privileged processing executed in the redundant portion, it is possible to reduce the possibility that a problem will occur due to the execution of the privileged processing.

また、上述した処理実行装置80は、当該処理実行装置80に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する処理実行装置に、第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、第1OS部と第2OS部とは異なる冗長部に第2OS部の構成をコピーし、冗長部に特権処理を実行させるコピー実行部81を実現させるためのプログラムである。 Further, the above-mentioned processing execution device 80 can be realized by incorporating a predetermined program into the processing execution device 80. Specifically, the program according to another embodiment of the present invention has a processing execution device having a first OS part in which the first OS functions and a second OS part in which the second OS functions, and the second OS part is added to the processing execution device. Copy the configuration of the second OS part to a redundant part different from the first OS part and the second OS part, where writing to the I / O-capable device is restricted according to the issued privileged processing that requires privilege to execute. , Is a program for realizing a copy execution unit 81 that causes a redundant unit to execute privileged processing.

また、上述した処理実行装置80により実行される処理実行方法は、第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する処理実行装置が行う処理実行方法であって、実行に特権が必要になる特権処理を第2OS部が発行すると、I/O可能なデバイスに対する書き込みが制限された、第1OS部と第2OS部とは異なる冗長部に第2OS部の構成をコピーし、冗長部に特権処理を実行させる、という方法である。 Further, the process execution method executed by the process execution device 80 described above is a process execution performed by a process execution device having a first OS unit in which the first OS functions and a second OS unit in which the second OS functions. When the second OS part issues a privileged process that requires privilege to execute, the second OS is in a redundant part different from the first OS part and the second OS part, in which writing to the device capable of I / O is restricted. The method is to copy the configuration of the part and let the redundant part execute privileged processing.

上述した構成を有する、プログラム、又は、処理実行方法、の発明であっても、上記処理実行装置80と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。 Even an invention of a program or a process execution method having the above-described configuration can achieve the above-mentioned object of the present invention because it has the same actions and effects as the above-mentioned process execution device 80.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における処理実行装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
<Additional notes>
Part or all of the above embodiments may also be described as in the appendix below. Hereinafter, the outline of the processing execution device and the like in the present invention will be described. However, the present invention is not limited to the following configurations.

(付記1)
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置が行う処理実行方法であって、
実行に特権が必要になる特権処理を前記第2OS部が発行すると、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部に前記特権処理を実行させる
処理実行方法。
(付記2)
付記1に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理に応じて、当該特権処理の内容に応じた実行命令を発行する
処理実行方法。
(付記3)
付記2に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理を排他的に実行する必要がある場合、前記第2OS部を停止させる前記実行命令を発行する
処理実行方法。
(付記4)
付記2又は付記3に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理を排他的に実行する必要がない場合、前記第2OS部を停止させない前記実行命令を発行する
処理実行方法。
(付記5)
付記1から付記4までのいずれか1項に記載の処理実行方法であって、
前記冗長部に前記第2OS部の構成をコピーする際、前記冗長部が有するメモリ中に終了処理のメモリイメージを上書きする
処理実行方法。
(付記6)
付記1から付記5までのいずれか1項に記載の処理実行方法であって、
前記第2OS部が有するプロセッサのレジスタに格納されている情報を前記冗長部が有する冗長プロセッサにコピーするとともに、前記第2OS部が有するメモリに格納されている情報を前記冗長部が有する冗長OSメモリにコピーすることで、前記第2OS部の構成を前記冗長部にコピーする
処理実行方法。
(付記7)
付記1から付記6までのいずれか1項に記載の処理実行方法であって、
前記第1OS部が前記第2OS部の構成を前記冗長部にコピーし、
前記冗長部にコピーされた前記第2のOSが前記特権処理を実行する
処理実行方法。
(付記8)
付記1から付記7までのいずれか1項に記載の処理実行方法であって、
前記冗長部による前記特権処理の実行後、前記第2OS部が有する共有メモリに実行結果を格納する
処理実行方法。
(付記9)
付記8に記載の処理実行方法であって、
前記特権処理の終了後、前記冗長部が有する冗長部用共有メモリに格納された前記特権処理の結果を前記第1OS部が読み出し、前記第1OS部は、読み出した結果を前記第2OS部が有する前記共有メモリに格納する
処理実行方法。
(付記10)
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する処理実行装置であって、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部に前記特権処理を実行させるコピー実行部を有する
処理実行装置。
(付記11)
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置に、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、I/O可能なデバイスに対する書き込みが制限された、前記第1OS部と前記第2OS部とは異なる冗長部に前記第2OS部の構成をコピーし、前記冗長部に前記特権処理を実行させるコピー実行部を実現させるためのプログラム。
(Appendix 1)
It is a processing execution method performed by an information processing apparatus having a first OS part in which the first OS functions and a second OS part in which the second OS functions.
When the second OS part issues a privileged process that requires privilege for execution, the second OS part is in a redundant part different from the first OS part and the second OS part in which writing to an I / O-capable device is restricted. A process execution method of copying the configuration of the above and causing the redundant part to execute the privileged process.
(Appendix 2)
The process execution method described in Appendix 1.
A process execution method for issuing an execution command according to the content of the privileged process in response to the privileged process issued by the second OS unit.
(Appendix 3)
The processing execution method described in Appendix 2.
A process execution method for issuing the execution command for stopping the second OS unit when it is necessary to exclusively execute the privileged process issued by the second OS unit.
(Appendix 4)
The processing execution method according to Appendix 2 or Appendix 3.
A process execution method for issuing the execution instruction that does not stop the second OS unit when it is not necessary to exclusively execute the privileged process issued by the second OS unit.
(Appendix 5)
The processing execution method according to any one of Supplementary note 1 to Supplementary note 4.
A process execution method in which a memory image of end processing is overwritten in the memory included in the redundant portion when copying the configuration of the second OS portion to the redundant portion.
(Appendix 6)
The processing execution method according to any one of Supplementary note 1 to Supplementary note 5.
The information stored in the register of the processor of the second OS section is copied to the redundant processor of the redundant section, and the information stored in the memory of the second OS section is copied to the redundant OS memory of the redundant section. A process execution method for copying the configuration of the second OS part to the redundant part by copying to.
(Appendix 7)
The processing execution method according to any one of Supplementary note 1 to Supplementary note 6.
The first OS section copies the configuration of the second OS section to the redundant section.
A process execution method in which the second OS copied to the redundant portion executes the privileged process.
(Appendix 8)
The processing execution method according to any one of Supplementary note 1 to Supplementary note 7.
A process execution method for storing an execution result in a shared memory included in the second OS unit after the privileged process is executed by the redundant unit.
(Appendix 9)
The process execution method described in Appendix 8.
After the privilege processing is completed, the first OS unit reads the result of the privilege processing stored in the redundant unit shared memory of the redundant unit, and the first OS unit has the read result of the second OS unit. A process execution method stored in the shared memory.
(Appendix 10)
A processing execution device having a first OS unit in which the first OS functions and a second OS unit in which the second OS functions.
In a redundant section different from the first OS section and the second OS section, writing to an I / O-capable device is restricted according to a privileged process issued by the second OS section that requires a privilege to execute. A processing execution device having a copy execution unit that copies the configuration of the second OS unit and causes the redundant unit to execute the privileged processing.
(Appendix 11)
An information processing device having a first OS section in which the first OS functions and a second OS section in which the second OS functions.
In a redundant part different from the first OS part and the second OS part, the writing to the device capable of I / O is restricted according to the privileged processing issued by the second OS part that requires privilege for execution. A program for realizing a copy execution unit that copies the configuration of the second OS unit and causes the redundant unit to execute the privileged processing.

なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 The programs described in each of the above embodiments and appendices may be stored in a storage device or recorded in a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.

以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。 Although the present invention has been described above with reference to each of the above embodiments, the present invention is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the structure and details of the present invention within the scope of the present invention.

10 情報処理装置
11 第1OS部
12 第2OS部
13 冗長部
20 プロセッサ
21 第1プロセッサ
22 第2プロセッサ
23 冗長プロセッサ
30 メモリ
31 第1OSメモリ
32 第2OSメモリ
33 冗長OSメモリ
41 第2OS部用共有メモリ
42 冗長部用共有メモリ
51 FW
52 NVRAM
53 キーボード
54 ディスプレイ
55 ディスク
56 外部入出力装置
60 システムバス
710 第1OS
711 特権処理用コピー実行部
720 第2OS
721 カーネル
7211 バイパス処理依頼部
7212 バイパス処理結果取得部
722 スケジューラアドレス通知部
723 例外処理アドレス通知部
730 第2OS用エミュレータ
731 実行部
732 終了処理部
80 処理実行装置
81 コピー実行部

10 Information processing device 11 1st OS part 12 2nd OS part 13 Redundant part 20 Processor 21 1st processor 22 2nd processor 23 Redundant processor 30 Memory 31 1st OS memory 32 2nd OS memory 33 Redundant OS memory 41 Shared memory for 2nd OS part 42 Shared memory for redundant part 51 FW
52 NVRAM
53 Keyboard 54 Display 55 Disk 56 External I / O device 60 System Bus 710 1st OS
711 Privilege processing copy execution unit 720 Second OS
721 Kernel 7211 Bypass processing request unit 7212 Bypass processing result acquisition unit 722 Scheduler address notification unit 723 Exception processing address notification unit 730 Emulator for 2nd OS 731 Execution unit 732 Termination processing unit 80 Processing execution device 81 Copy execution unit

Claims (11)

第1のOS(Operating System)が機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置が行う処理実行方法であって、
実行に特権が必要になる特権処理を前記第2OS部が発行すると、前記第1OS部と前記第2OS部とは異なる、I/O可能なデバイスに対する書き込みが制限された冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行する
処理実行方法。
It is a processing execution method performed by an information processing apparatus having a first OS section in which a first OS (Operating System) functions and a second OS section in which a second OS functions.
When the second OS section issues a privileged process that requires a privilege to execute, the second OS section is different from the first OS section and the second OS section, and the second OS section is a redundant section in which writing to an I / O-capable device is restricted. A process execution method in which the redundant part executes the privileged process by copying the configuration of.
請求項1に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理に応じて、当該特権処理の内容に応じた実行命令を発行する
処理実行方法。
The processing execution method according to claim 1.
A process execution method for issuing an execution command according to the content of the privileged process in response to the privileged process issued by the second OS unit.
請求項2に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理を排他的に実行する必要がある場合、前記第2OS部を停止させる前記実行命令を発行する
処理実行方法。
The processing execution method according to claim 2.
A process execution method for issuing the execution command for stopping the second OS unit when it is necessary to exclusively execute the privileged process issued by the second OS unit.
請求項2又は請求項3に記載の処理実行方法であって、
前記第2OS部が発行した前記特権処理を排他的に実行する必要がない場合、前記第2OS部を停止させない前記実行命令を発行する
処理実行方法。
The processing execution method according to claim 2 or 3.
A process execution method for issuing the execution instruction that does not stop the second OS unit when it is not necessary to exclusively execute the privileged process issued by the second OS unit.
請求項1から請求項4までのいずれか1項に記載の処理実行方法であって、
前記冗長部に前記第2OS部の構成をコピーする際、前記冗長部が有するメモリ中に終了処理のメモリイメージを上書きする
処理実行方法。
The processing execution method according to any one of claims 1 to 4.
A process execution method in which a memory image of end processing is overwritten in the memory included in the redundant portion when the configuration of the second OS portion is copied to the redundant portion.
請求項1から請求項5までのいずれか1項に記載の処理実行方法であって、
前記第2OS部が有するプロセッサのレジスタに格納されている情報を前記冗長部が有する冗長プロセッサにコピーするとともに、前記第2OS部が有するメモリに格納されている情報を前記冗長部が有する冗長OSメモリにコピーすることで、前記第2OS部の構成を前記冗長部にコピーする
処理実行方法。
The processing execution method according to any one of claims 1 to 5.
The information stored in the register of the processor of the second OS section is copied to the redundant processor of the redundant section, and the information stored in the memory of the second OS section is copied to the redundant OS memory of the redundant section. A process execution method for copying the configuration of the second OS part to the redundant part by copying to.
請求項1から請求項6までのいずれか1項に記載の処理実行方法であって、
前記第1OS部が前記第2OS部の構成を前記冗長部にコピーし、
前記冗長部にコピーされた前記第2のOSが前記特権処理を実行する
処理実行方法。
The processing execution method according to any one of claims 1 to 6.
The first OS section copies the configuration of the second OS section to the redundant section.
A process execution method in which the second OS copied to the redundant portion executes the privileged process.
請求項1から請求項7までのいずれか1項に記載の処理実行方法であって、
前記冗長部による前記特権処理の実行後、前記第2OS部が有する共有メモリに実行結果を格納する
処理実行方法。
The processing execution method according to any one of claims 1 to 7.
A process execution method for storing an execution result in a shared memory included in the second OS unit after the privileged process is executed by the redundant unit.
請求項8に記載の処理実行方法であって、
前記特権処理の終了後、前記冗長部が有する冗長部用共有メモリに格納された前記特権処理の結果を前記第1OS部が読み出し、前記第1OS部は、読み出した結果を前記第2OS部が有する前記共有メモリに格納する
処理実行方法。
The processing execution method according to claim 8.
After the privilege processing is completed, the first OS unit reads the result of the privilege processing stored in the redundant unit shared memory of the redundant unit, and the first OS unit has the read result of the second OS unit. A process execution method stored in the shared memory.
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する処理実行装置であって、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、前記第1OS部と前記第2OS部とは異なる、I/O可能なデバイスに対する書き込みが制限された冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行するコピー実行部を有する
処理実行装置。
A processing execution device having a first OS section in which a first OS functions and a second OS section in which a second OS functions.
The redundant part, which is different from the first OS part and the second OS part and is restricted from writing to an I / O-capable device, is issued by the second OS part according to the privileged processing that requires privilege for execution. A processing execution device having a copy execution unit that copies the configuration of the second OS unit and the redundant unit executes the privileged processing.
第1のOSが機能する第1OS部と、第2のOSが機能する第2OS部と、を有する情報処理装置に、
前記第2OS部が発行した、実行に特権が必要になる特権処理に応じて、前記第1OS部と前記第2OS部とは異なる、I/O可能なデバイスに対する書き込みが制限された冗長部に前記第2OS部の構成をコピーし、前記冗長部が前記特権処理を実行するコピー実行部を実現させるためのプログラム。

An information processing device having a first OS section in which the first OS functions and a second OS section in which the second OS functions.
The redundant part, which is different from the first OS part and the second OS part and is restricted from writing to an I / O-capable device, is issued by the second OS part according to the privileged processing that requires privilege for execution. A program for copying the configuration of the second OS part and realizing a copy execution part in which the redundant part executes the privileged processing.

JP2019029773A 2019-02-21 2019-02-21 Processing execution method Pending JP2020135555A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019029773A JP2020135555A (en) 2019-02-21 2019-02-21 Processing execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019029773A JP2020135555A (en) 2019-02-21 2019-02-21 Processing execution method

Publications (1)

Publication Number Publication Date
JP2020135555A true JP2020135555A (en) 2020-08-31

Family

ID=72278776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019029773A Pending JP2020135555A (en) 2019-02-21 2019-02-21 Processing execution method

Country Status (1)

Country Link
JP (1) JP2020135555A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331446A (en) * 2000-05-24 2001-11-30 Nippon Telegr & Teleph Corp <Ntt> Secure agent realization method, secure agent system and secure agent management device
WO2012102002A1 (en) * 2011-01-24 2012-08-02 パナソニック株式会社 Virtual computer system, virtual computer control method, virtual computer control program, recording medium, and integrated circuit
US20130024929A1 (en) * 2011-07-20 2013-01-24 Microsoft Corporation Trust level activation
JP2014109882A (en) * 2012-11-30 2014-06-12 Toshiba Corp Information processing device, information processing method, and program
JP2017162483A (en) * 2015-08-25 2017-09-14 株式会社Seltech System including hypervisor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331446A (en) * 2000-05-24 2001-11-30 Nippon Telegr & Teleph Corp <Ntt> Secure agent realization method, secure agent system and secure agent management device
WO2012102002A1 (en) * 2011-01-24 2012-08-02 パナソニック株式会社 Virtual computer system, virtual computer control method, virtual computer control program, recording medium, and integrated circuit
US20130024929A1 (en) * 2011-07-20 2013-01-24 Microsoft Corporation Trust level activation
JP2014109882A (en) * 2012-11-30 2014-06-12 Toshiba Corp Information processing device, information processing method, and program
JP2017162483A (en) * 2015-08-25 2017-09-14 株式会社Seltech System including hypervisor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
太田 賢、吉川 貴、中川 智尋、稲村 浩: ""携帯機の安全な機能拡張のための信頼できるデバイスフレームワーク"", 情報処理学会研究報告, vol. 2005, no. 16, JPN6015018282, 23 February 2005 (2005-02-23), JP, pages 49 - 56, ISSN: 0005016319 *
尾上 浩一: "システムコール制御に基づく仮想マシン間サンドボックスシステム", 情報処理学会論文誌 論文誌トランザクション 平成20年度▲2▼ [CD−ROM], vol. 第2巻, JPN6022040610, 15 April 2009 (2009-04-15), JP, pages 33 - 52, ISSN: 0005016318 *

Similar Documents

Publication Publication Date Title
US10846145B2 (en) Enabling live migration of virtual machines with passthrough PCI devices
JP5484117B2 (en) Hypervisor and server device
US10157268B2 (en) Return flow guard using control stack identified by processor register
JP3593241B2 (en) How to restart the computer
JP3546678B2 (en) Multi-OS configuration method
US7840768B2 (en) Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support
US20080235477A1 (en) Coherent data mover
US8099575B2 (en) Virtual machine control program and virtual machine system
JP2007183952A (en) Method by which guest is accessing memory converted device and apparatus
WO2013088818A1 (en) Virtual computer system, virtualization mechanism, and data management method
WO2022193768A1 (en) Method for executing memory read-write instruction, and computing device
JPH1185618A (en) Method for controlling virtual memory conversion
JP2019169081A (en) Information processing device, information processing method, and program
US9063868B2 (en) Virtual computer system, area management method, and program
US20040122834A1 (en) Apparatus and method for switching mode in a computer system
CN113127263B (en) Kernel crash recovery method, device, equipment and storage medium
JPH0810437B2 (en) Guest execution control method for virtual machine system
JP2015158936A (en) Data processor
JP2020135555A (en) Processing execution method
WO2013136457A1 (en) Virtual computer system, information storage processing program and information storage processing method
JP2011138401A (en) Processor system, method of controlling the same, and control circuit
WO2018214482A1 (en) Method and apparatus for monitoring virtual machines
US11687287B2 (en) Control apparatus and information processing system
Russinovich Inside windows server 2008 kernel changes
JP6090057B2 (en) Status information recording apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230322