JP2013191155A - Information processing apparatus - Google Patents

Information processing apparatus Download PDF

Info

Publication number
JP2013191155A
JP2013191155A JP2012058506A JP2012058506A JP2013191155A JP 2013191155 A JP2013191155 A JP 2013191155A JP 2012058506 A JP2012058506 A JP 2012058506A JP 2012058506 A JP2012058506 A JP 2012058506A JP 2013191155 A JP2013191155 A JP 2013191155A
Authority
JP
Japan
Prior art keywords
memory area
vmm
data
information processing
spare memory
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
JP2012058506A
Other languages
Japanese (ja)
Inventor
Yusuke Muroi
裕介 室井
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2012058506A priority Critical patent/JP2013191155A/en
Publication of JP2013191155A publication Critical patent/JP2013191155A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve data maintainability and user convenience, in an information processing apparatus having a plurality of arithmetic processing parts for virtually executing a plurality of OSs in parallel.SOLUTION: VMM 73 allocates hardware resources such as a storage region with regard to each of a plurality of OSs such as a first OS 71 or a second OS 72 according to a configuration file 77. When accepting a predetermined write request, during data-write by an application 75, the VMM 73 writes data into a spare memory area 85 in parallel with writing into a utilization memory area 82 for OS1 allocated to an OS. The spare memory area 85 is unallocated as a memory area where an OS is usable. When accepting a predetermined read request, the VMM 73 reads data in the spare memory area 85 and restores the data to a memory area allocated to each OS such as the utilization memory area 82 for OS1.

Description

本発明は、複数の演算処理部を備えてVMM(Virtual Machine Monitor)により仮想的に複数のOS(Operating System)を並列に実行する情報処理装置に関するものであり、特に、データの保全性、ユーザの利便性を向上させる技術に関する。   The present invention relates to an information processing apparatus that includes a plurality of arithmetic processing units and virtually executes a plurality of OSs (Operating Systems) in parallel by a VMM (Virtual Machine Monitor). It relates to technology that improves convenience.

OSが動作するコンピュータをソフトウェアにより仮想的に実現する仮想化技術が用いられている。VM(Virtual Machine)とは、あるOSが動作するコンピュータをソフトウェアにより仮想的に実現したものである。VMMとは、コンピュータを仮想化し、それぞれのOSに対応したVMを動作させることで、複数の異なるOSを並列に実行できるようにするソフトウェアである。ソフトウェアにより仮想的なコンピュータを実現し、VM上で様々なアプリが実行される。   A virtualization technology for virtually realizing a computer on which an OS operates by software is used. A VM (Virtual Machine) is a virtual implementation of a computer on which a certain OS operates, using software. The VMM is software that enables a plurality of different OSs to be executed in parallel by virtualizing a computer and operating VMs corresponding to the respective OSs. A virtual computer is realized by software, and various applications are executed on the VM.

近年では、マルチコアシステムなど複数の演算処理部を備えたシステムが一般的になってきている(下記の特許文献1参照)。マルチコアシステムにおいても、VMMにより仮想的に複数のOSを動作させている。VMMは、どのOSにどのコアを割り当てるかといった、PC(Personal Computer)のハードウェア資源の割り当てを管理している。   In recent years, a system including a plurality of arithmetic processing units such as a multi-core system has become common (see Patent Document 1 below). Even in a multi-core system, a plurality of OSs are virtually operated by a VMM. The VMM manages the allocation of PC (Personal Computer) hardware resources such as which core is allocated to which OS.

この割り当ては、例えば、テキストデータで記述された設定ファイルに基づいて、VMMの起動時になされる。VMMは、設定ファイルに従って、CPU(Central Processing Unit)やI/O(Input/Output)デバイスなどのハードウェア資源を、それぞれのOSに割り当てる。   This assignment is made when the VMM is activated based on a setting file described in text data, for example. The VMM allocates hardware resources such as a CPU (Central Processing Unit) and an I / O (Input / Output) device to each OS according to the setting file.

ハードウェア資源の競合がOS間で発生することを避けるために、VMMによりハードウェア資源の管理をしている。また、VMMは、例えば、各OSがアクセス可能な共有メモリ領域を確保してこの領域へのアクセスを管理することにより、各OSにハードウェア資源を共有させることもできる。これにより、OS間でデータの受け渡し等が可能となる。   Hardware resources are managed by the VMM in order to avoid hardware resource contention between OSs. The VMM can also share hardware resources with each OS, for example, by securing a shared memory area accessible to each OS and managing access to this area. This makes it possible to exchange data between OSs.

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

複数のOSを動作させる場合として、1つの情報処理装置において、GUI(Graphical User Interface)を備えた汎用OSと、RTOS(Real Time Operating System)とを仮想的に並列に動作させるとする。汎用OSは、GUIによりユーザの操作を受け付ける。また、汎用OSは、主にRTOSによる処理の結果を、ユーザに対してGUIにより表示する機能を担うとする。RTOSの動作は比較的安定している。一方、汎用OSの動作は比較的不安定であるとする。   Assuming that a plurality of OSs are operated, it is assumed that a general-purpose OS having a GUI (Graphical User Interface) and an RTOS (Real Time Operating System) are virtually operated in parallel in one information processing apparatus. The general-purpose OS accepts user operations via a GUI. The general-purpose OS is assumed to bear a function of displaying the result of processing by the RTOS mainly to the user using the GUI. The operation of RTOS is relatively stable. On the other hand, it is assumed that the operation of the general-purpose OS is relatively unstable.

この場合、汎用OSのOS稼働異常により、データ復元が必要となる事態が生じうるなど、データの保全性や利便性に問題が生じる。OS稼働異常であるとは、例えば、以下の状態をいい、OSからの応答がない状態、UI(User Interface)からユーザが操作不能な状態、OSの異常を通知する画面が表示された状態などをいう。   In this case, there is a problem in data integrity and convenience, such as a situation where data restoration is required due to an abnormal OS operation of the general-purpose OS. The OS operation abnormality means, for example, the following state, a state where there is no response from the OS, a state where the user cannot operate from the UI (User Interface), a state where a screen for notifying the abnormality of the OS is displayed, etc. Say.

また、RTOSの処理の結果を閲覧するために、複数種類の画面が用意されていることがある。例えば所定のデータを表示するための画面や、設定の入力を受け付ける画面等である。汎用OSの動作は、汎用OSに割り当てられたメモリ領域に基づくため、汎用OSがこれら画面を表示する際に、どの画面を表示していたかの情報も汎用OSのOS稼働異常により失われる。そのためユーザは、汎用OSの再起動のたび、初期画面から所望の画面を表示する等の手間が必要となる。   In addition, a plurality of types of screens may be prepared in order to browse the results of RTOS processing. For example, a screen for displaying predetermined data, a screen for accepting input of settings, and the like. Since the operation of the general-purpose OS is based on a memory area allocated to the general-purpose OS, information indicating which screen is displayed when the general-purpose OS displays these screens is lost due to an abnormal OS operation of the general-purpose OS. Therefore, each time the general-purpose OS is restarted, the user needs time and effort such as displaying a desired screen from the initial screen.

上記課題を解決する、一実施形態にかかる発明は、複数の演算処理部と、記憶部と、複数のI/Oデバイスとを含むハードウェア資源を備え、VMM(Virtual Machine Monitor)により仮想的に複数のOS(Operating System)を並列に実行する情報処理装置であって、記憶部は、複数のOSそれぞれについてのハードウェア資源の割り当てを示す設定情報と、VMMとを記憶し、VMMは、設定情報に示される割り当てに基づいて各OSにハードウェア資源を割り当てて各OSの動作を管理し、OSに割り当てられた稼動メモリ領域へのOSからの所定のデータの書き込み要求に応答して、OSに未割り当ての予備メモリ領域へ並行して所定のデータを書き込む、情報処理装置である。   An invention according to an embodiment that solves the above-described problem includes a hardware resource including a plurality of arithmetic processing units, a storage unit, and a plurality of I / O devices, and is virtually installed by a VMM (Virtual Machine Monitor) An information processing apparatus that executes a plurality of OSs (Operating Systems) in parallel, and a storage unit stores setting information indicating allocation of hardware resources for each of the plurality of OSs and a VMM. Based on the allocation indicated in the information, hardware resources are allocated to each OS to manage the operation of each OS, and in response to a request for writing predetermined data from the OS to the operating memory area allocated to the OS, the OS Is an information processing apparatus that writes predetermined data in parallel to an unallocated spare memory area.

好ましくは、VMMは、複数のOSのいずれにも割り当てないメモリ領域を予備メモリ領域と設定することとしてもよい。   Preferably, the VMM may set a memory area not assigned to any of the plurality of OSs as a spare memory area.

好ましくは、OSは、所定のAPI(Application Programming Interface)により、OSで動作するアプリによるデータの書き込み要求を受け付けており、VMMは、OSが所定のAPIを通じて稼働メモリ領域へのデータの書き込み要求がある場合に、予備メモリ領域へ並行してデータを書き込むこととしてもよい。   Preferably, the OS accepts a data write request by an application operating on the OS through a predetermined API (Application Programming Interface), and the VMM issues a data write request to the operating memory area through the predetermined API. In some cases, data may be written to the spare memory area in parallel.

これにより、複数のOSを協働して動作させる場合に、データの保全性とユーザの利便性を向上させることができる。   As a result, data integrity and user convenience can be improved when operating a plurality of OSs in cooperation.

本発明を構成するPC100の機能ブロック図である。It is a functional block diagram of PC100 which comprises this invention. ハードウェア資源とソフトウェア資源との論理的な対応関係を示す図である。It is a figure which shows the logical correspondence of a hardware resource and a software resource. 設定ファイル77を示す図である。It is a figure which shows the setting file 77. FIG. 予備メモリ領域85を示す図である。5 is a diagram showing a spare memory area 85. FIG. VMM73がメモリ70にデータを書き込む動作を示すフローチャートである。5 is a flowchart showing an operation in which the VMM 73 writes data to the memory 70. VMM73により予備メモリ領域85からデータを読み出す動作を示すフローチャートである。10 is a flowchart showing an operation of reading data from a spare memory area 85 by the VMM 73. APIを通じた予備メモリ領域85への書き込み、読み出し動作を示す図である。It is a figure which shows the write-in and read-out operation | movement to the spare memory area | region 85 through API. APIを通じて書き込み、読み出しを行う場合の例を示す図である。It is a figure which shows the example in the case of performing writing and reading through API. GUI画面の例による動作例を示す図である。It is a figure which shows the operation example by the example of a GUI screen.

以下、本発明の情報処理装置について、図面を用いて説明する。
<1 構成>
本実施形態では、情報処理装置としてPCの例を説明する。このPCにおいて、VMMにより複数のOSを仮想的に並列に実行する。
The information processing apparatus of the present invention will be described below with reference to the drawings.
<1 configuration>
In this embodiment, an example of a PC as an information processing apparatus will be described. In this PC, a plurality of OSs are virtually executed in parallel by the VMM.

<1.1 PCの構成>
図1は、本発明を構成するPC100の機能ブロック図である。
<1.1 PC configuration>
FIG. 1 is a functional block diagram of a PC 100 constituting the present invention.

図1に示すように、PC100は、マルチコア10と、ハードディスクドライブ30と、I/O部50と、メモリ70とを含む。PC100は、I/O部50により外部の情報処理装置である外部機器200や外部機器300と接続している。外部機器200等の外部の情報処理装置は、例えば、モニタなどの映像表示装置である。これら外部の情報処理装置は、PC100による映像出力を受け付けて、所定のOSのGUI(Graphical User Interface)画面を表示する。また、外部の情報処理装置は、タッチパネル等により操作者による操作を受け付けてPC100へ出力する。   As shown in FIG. 1, the PC 100 includes a multi-core 10, a hard disk drive 30, an I / O unit 50, and a memory 70. The PC 100 is connected to an external device 200 or an external device 300 that is an external information processing apparatus by an I / O unit 50. An external information processing apparatus such as the external device 200 is a video display apparatus such as a monitor, for example. These external information processing apparatuses accept video output from the PC 100 and display a predetermined OS GUI (Graphical User Interface) screen. Further, the external information processing apparatus accepts an operation by the operator through a touch panel or the like and outputs it to the PC 100.

PC100は、複数の演算処理部を備えている。複数の演算処理部の機能は、本実施形態では、マルチコア10により発揮される。マルチコア10は、複数のプロセッサ・コア(第1のコア11、第2のコア12、・・)を備えており、プログラムに従って演算処理を並列に実行する。第1のコア11や第2のコア12は、マルチコア10に備わるそれぞれのプロセッサ・コアである。VMM73は、後述する設定ファイル77に従って、各プロセッサ・コアに対してOSを割り当てる。   The PC 100 includes a plurality of arithmetic processing units. The functions of the plurality of arithmetic processing units are exhibited by the multi-core 10 in the present embodiment. The multi-core 10 includes a plurality of processor cores (first core 11, second core 12,...), And executes arithmetic processing in parallel according to a program. The first core 11 and the second core 12 are respective processor cores provided in the multi-core 10. The VMM 73 assigns an OS to each processor core according to a setting file 77 described later.

ハードディスクドライブ30は、大容量の記憶容量を備える記憶装置であり、所定のプログラム(第1のOS71、第2のOS72、VMM73、アプリ75等)やデータを記憶している。   The hard disk drive 30 is a storage device having a large storage capacity, and stores predetermined programs (first OS 71, second OS 72, VMM 73, application 75, etc.) and data.

I/O部50は、PC100における入出力機能を発揮させるためのI/Oインタフェースを複数備える。図示するように、I/O部50は、複数のI/Oデバイス(I/Oデバイス51、I/Oデバイス52、・・)を備えている。I/Oデバイス51やI/Oデバイス52などのI/Oデバイスは、例えば映像出力のための出力ポートや、外部の情報処理装置と通信するための通信ポートなどである。   The I / O unit 50 includes a plurality of I / O interfaces for exhibiting input / output functions in the PC 100. As illustrated, the I / O unit 50 includes a plurality of I / O devices (I / O device 51, I / O device 52,...). The I / O devices such as the I / O device 51 and the I / O device 52 are, for example, an output port for video output and a communication port for communicating with an external information processing apparatus.

メモリ70は、プログラムを実行するために一時的に用いられる記憶領域である。メモリ70は、例えばSDRAM (Synchronous Dynamic Random Access Memory)などとして実現される。第1のOS71、第2のOS72、VMM73、アプリ75、後述する設定ファイル77等が読みだされてメモリ70において記憶されている。   The memory 70 is a storage area temporarily used for executing a program. The memory 70 is realized, for example, as SDRAM (Synchronous Dynamic Random Access Memory). The first OS 71, the second OS 72, the VMM 73, the application 75, a setting file 77 described later, and the like are read and stored in the memory 70.

マルチコア10の各コアは、複数のOSを仮想的に実行するために、ハードディスクドライブ30より各OSに対応したVMを読みだしてメモリ70に記憶させている(第1のOS71、第2のOS72)。本実施形態では、第1のOS71と第2のOS72は協働して並列に実行されるものとする。本実施形態では、第1のOS71は、GUI表示機能を備えた汎用的なOSを仮想的に実行するためのVMとする。第2のOS72は、例えば、RTOS(Real Time Operating System)を仮想的に実行するためのVMである。第2のOS72のRTOSで所定の処理を繰り返し実行し、第1のOS71のGUI機能により外部機器200等において表示する。例えば、RTOSは、主にFAシステム(Factory automation system)にかかる繰り返し処理を担い、演算結果を出力する。汎用OSは、主に、RTOSによる処理の結果をGUIにより表示する。   Each core of the multi-core 10 reads VMs corresponding to each OS from the hard disk drive 30 and stores them in the memory 70 in order to virtually execute a plurality of OSs (first OS 71, second OS 72). ). In the present embodiment, it is assumed that the first OS 71 and the second OS 72 are executed in parallel in cooperation. In the present embodiment, the first OS 71 is a VM for virtually executing a general-purpose OS having a GUI display function. The second OS 72 is a VM for virtually executing an RTOS (Real Time Operating System), for example. A predetermined process is repeatedly executed by the RTOS of the second OS 72 and displayed on the external device 200 or the like by the GUI function of the first OS 71. For example, the RTOS mainly performs repetitive processing related to a factory automation system (FA system) and outputs a calculation result. The general-purpose OS mainly displays the result of processing by the RTOS using a GUI.

VMM73は、上記の各OSを仮想的に実行するためのVMを制御する制御プログラムである。後述するように、VMM73は、上記の各OSに相当するVMに対してのハードウェア資源の割り当てを、後述する設定ファイル77を用いて実行する。VMM73は、各OSに対するハードウェア資源の割り当てや、各OSによるハードウェア資源へのアクセスを管理する。   The VMM 73 is a control program for controlling the VM for virtually executing each OS described above. As will be described later, the VMM 73 executes allocation of hardware resources to VMs corresponding to the respective OSs described above using a setting file 77 described later. The VMM 73 manages allocation of hardware resources to each OS and access to hardware resources by each OS.

設定アプリ74は、各OSに対するハードウェア資源の割り当てをユーザより受け付けるためのアプリである。また設定アプリ74は、各OSとハードウェア資源との割り当てを、GUIにより表示する。本実施形態では、設定アプリ74は、第1のOS71において動作するアプリである。   The setting application 74 is an application for accepting allocation of hardware resources to each OS from the user. In addition, the setting application 74 displays the assignment of each OS and hardware resources using a GUI. In the present embodiment, the setting application 74 is an application that operates on the first OS 71.

アプリ75は、各OSにおいて実行される、複数のアプリである。
<1.2 論理的な構成>
上記のような物理的なハードウェア資源により、PC100は複数のOSを仮想的に並列に実行する。
The application 75 is a plurality of applications that are executed in each OS.
<1.2 Logical configuration>
With the physical hardware resources as described above, the PC 100 virtually executes a plurality of OSs in parallel.

次に、各ソフトウェアが動作する論理的な構成について説明する。
図2は、ハードウェア資源とソフトウェア資源との論理的な対応関係を示す図である。
Next, a logical configuration in which each software operates will be described.
FIG. 2 is a diagram illustrating a logical correspondence between hardware resources and software resources.

<1.2.1 ソフトウェア資源>
VMM73は、後述する設定ファイル77に従って、起動時に各OSに対してハードウェア資源を割り当てる。図2に示すように、VMM73は、VMとして実行される各OS(第1のOS71、第2のOS72)と、ハードウェア資源とのアクセスのインタフェース機能を提供している。OSごとにハードウェア資源へのアクセス手順が異なっていても、VMM73により吸収される。これによりVMM73は、各OSとハードウェア資源とのアクセスを統括的に管理する。
<1.2.1 Software resources>
The VMM 73 allocates hardware resources to each OS at startup according to a setting file 77 described later. As illustrated in FIG. 2, the VMM 73 provides an interface function for accessing each OS (first OS 71 and second OS 72) executed as a VM and hardware resources. Even if the access procedure to the hardware resource is different for each OS, it is absorbed by the VMM 73. Thereby, the VMM 73 comprehensively manages access between each OS and hardware resources.

VMとして実行される各OS(第1のOS71、第2のOS72)では、各OS上で実行可能なアプリ(アプリ75a、アプリ75b)が動作している。   In each OS (first OS 71, second OS 72) executed as a VM, applications (application 75a, application 75b) that can be executed on each OS are operating.

<1.2.2 ハードウェア資源>
上記のように、マルチコア10の第1のコア11や第2のコア12にいずれのOSを割り当てるかはVMM73により管理されている。
<1.2.2 Hardware resources>
As described above, which OS is allocated to the first core 11 and the second core 12 of the multi-core 10 is managed by the VMM 73.

<1.2.3 メモリ70の割り当て>
VMM73は、メモリ70における記憶領域をパーティショニングすること等により各OSへ記憶領域を割り当てている。OS1用稼働メモリ領域82は、第1のOS71に割り当てられたメモリ領域を示す。OS2用稼働メモリ領域83は、第2のOS72に割り当てられたメモリ領域を示す。この割り当て、および、各OSによるメモリ70へのアクセスもVMM73により管理されている。
<1.2.3 Allocation of memory 70>
The VMM 73 allocates a storage area to each OS by partitioning the storage area in the memory 70 or the like. The OS1 working memory area 82 indicates a memory area allocated to the first OS 71. The OS2 working memory area 83 indicates a memory area allocated to the second OS 72. This allocation and access to the memory 70 by each OS is also managed by the VMM 73.

VMM73は、メモリ70において、各OSがそれぞれアクセス可能な共有メモリ領域84を割り当てている。これにより、それぞれのOSに割り当てられたコア(第1のコア11、第2のコア12)間において通信することができる仮想ネットワークが形成される。   The VMM 73 allocates a shared memory area 84 that can be accessed by each OS in the memory 70. Thereby, a virtual network that can communicate between the cores (the first core 11 and the second core 12) assigned to each OS is formed.

VMM73は、メモリ70において、各OSに割り当てられたメモリ領域とは別の領域である予備メモリ領域85を管理する。この予備メモリ領域85は、第1のOS71等において処理に用いられるデータを、各OSに割り当てられたOS1用稼働メモリ領域82やOS2用稼働メモリ領域83とは別の領域において保持するための、バックアップ用のメモリ領域である。詳しくは後述する。   The VMM 73 manages a spare memory area 85 which is an area different from the memory area allocated to each OS in the memory 70. The spare memory area 85 stores data used for processing in the first OS 71 and the like in an area different from the OS 1 operating memory area 82 and the OS 2 operating memory area 83 assigned to each OS. This is a memory area for backup. Details will be described later.

また、I/Oデバイス(I/Oデバイス51、I/Oデバイス52)により、各コア(第1のコア11、第2のコア12)へデータが入力される。各コアにおける演算処理の結果は、I/Oデバイス(I/Oデバイス51、I/Oデバイス52)により出力される。   In addition, data is input to each core (the first core 11 and the second core 12) by the I / O device (I / O device 51, I / O device 52). The result of the arithmetic processing in each core is output by the I / O device (I / O device 51, I / O device 52).

<2 データ>
次に、本実施形態におけるデータについて説明する。
<2 data>
Next, data in the present embodiment will be described.

図3は、設定ファイル77を示す図である。
設定ファイル77は、VMM73の起動時にVMM73に読みだされる。この設定ファイル77に従ってVMM73がPC100のハードウェア資源を各OSに割り当てる。図3では設定ファイル77の一部を示している。図示するように、例えば、設定ファイル77には、OS単位か、個々のハードウェア資源単位によりハードウェア資源の割り当てが示されている。
FIG. 3 is a diagram showing the setting file 77.
The setting file 77 is read by the VMM 73 when the VMM 73 is activated. In accordance with this setting file 77, the VMM 73 allocates the hardware resources of the PC 100 to each OS. FIG. 3 shows a part of the setting file 77. As shown in the figure, for example, the setting file 77 indicates the allocation of hardware resources in units of OS or in units of individual hardware resources.

設定ファイル77には、OS起動のためのOS1設定情報81aが含まれる。なお第1のOS71を、「OS1」として示している。OS1設定情報81aでは、OSに割り当てるコア、OSの名称、OSをブートさせる順位、OSに割り当てるメモリ領域などが設定されている。図示する例では、例えば、OS1に対し、複数あるプロセッサ・コアのうち#1のコアを割り当てることを示している。   The setting file 77 includes OS1 setting information 81a for starting the OS. The first OS 71 is shown as “OS1”. In the OS1 setting information 81a, the core assigned to the OS, the name of the OS, the order of booting the OS, the memory area assigned to the OS, and the like are set. In the example shown in the figure, for example, the # 1 core among a plurality of processor cores is assigned to the OS1.

CPU設定情報81bは、ハードウェア資源としてプロセッサ・コア単位でのOSの割り当てを示している。   The CPU setting information 81b indicates OS allocation in units of processor cores as hardware resources.

IRQ設定情報81cは、ハードウェア資源としてI/Oデバイス単位(図示する例では「IRQ(Interrupt ReQuest)」として示している)でのOSの割り当てを示している。   The IRQ setting information 81c indicates allocation of the OS in units of I / O devices (indicated as “IRQ (Interrupt ReQuest)” in the illustrated example) as hardware resources.

<2.2 予備メモリ領域85>
図4は、予備メモリ領域85を示す図である。
<2.2 Spare memory area 85>
FIG. 4 is a diagram showing the spare memory area 85.

予備メモリ領域85は、OS1用予備メモリ領域86と、OS2用予備メモリ領域87とからなる。OS1用予備メモリ領域86は、第1のOS71において用いられるデータを保持するためのメモリ領域である。OS2用予備メモリ領域87は、第2のOS72において用いられるデータを保持するためのメモリ領域である。   The spare memory area 85 includes an OS1 spare memory area 86 and an OS2 spare memory area 87. The OS1 spare memory area 86 is a memory area for holding data used in the first OS 71. The OS2 spare memory area 87 is a memory area for holding data used in the second OS72.

この予備メモリ領域85のメモリサイズ等は、設定ファイル77に示されている。VMM73は、起動時に設定ファイル77に従って予備メモリ領域85を確保する。   The memory size and the like of the spare memory area 85 are shown in the setting file 77. The VMM 73 reserves the spare memory area 85 according to the setting file 77 at the time of activation.

<3 動作>
次に、PC100における動作について説明する。本実施形態では、第1のOS71等に所定のAPI(Application Programming Interface)を用意している。APIは、データを各OSに割り当てられた領域とは別の予備メモリ領域85へも書き込むためのものである。アプリ75により、APIを通じて第1のOS71等の各OSに対して所定の書き込み要求がなされる。これにより、VMM73は、各OSに割り当てられたメモリ領域(OS1用稼働メモリ領域82、OS2用稼働メモリ領域83)への書き込みとともに予備メモリ領域85へもデータを書き込む。
<3 operation>
Next, the operation in the PC 100 will be described. In the present embodiment, a predetermined API (Application Programming Interface) is prepared for the first OS 71 and the like. The API is used to write data to a spare memory area 85 different from the area assigned to each OS. The application 75 makes a predetermined write request to each OS such as the first OS 71 through the API. As a result, the VMM 73 writes data to the spare memory area 85 as well as to the memory areas (OS1 working memory area 82 and OS2 working memory area 83) assigned to each OS.

<3.1 書き込み動作>
図5は、VMM73がメモリ70にデータを書き込む動作を示すフローチャートである。
<3.1 Write operation>
FIG. 5 is a flowchart showing an operation in which the VMM 73 writes data to the memory 70.

図5に示すように、OS(第1のOS71、第2のOS72)において、APIにより予備メモリ領域85への書き込みを伴う書込要求を受け付ける(S51)。各OSは、APIを通じた書き込み要求であることを受けて、それぞれに割り当てられたメモリ領域(OS1用稼働メモリ領域82、OS2用稼働メモリ領域83)のうち所定のアドレス範囲への書き込みを、VMM73を通じて行う。   As shown in FIG. 5, the OS (first OS 71, second OS 72) accepts a write request involving writing to the spare memory area 85 by the API (S51). Each OS receives a write request through the API, and writes to a predetermined address range in the memory area (OS1 operating memory area 82, OS2 operating memory area 83) allocated to each OS. Through.

VMM73は、各OSがAPIを通じて書き込み要求を受け付けることにより、それぞれに割り当てられたメモリ領域(OS1用稼働メモリ領域82、OS2用稼働メモリ領域83)のうち所定のアドレス範囲へデータを書き込む(S53)。   The VMM 73 writes data to a predetermined address range in the memory areas (the OS1 operating memory area 82 and the OS2 operating memory area 83) allocated to each OS when each OS receives a write request through the API (S53). .

VMM73は、上記のように所定のアドレス範囲へのデータの書き込みを検知することにより、予備メモリ領域85への書き込みを並行して行う(S55)。   The VMM 73 performs writing to the spare memory area 85 in parallel by detecting writing of data to a predetermined address range as described above (S55).

このようにして、APIを通じたアプリの要求に応じて予備メモリ領域85へのデータのバックアップを実現することによりデータの保全性を高める。また、APIを一般には非公開であるとすれば、予備メモリ領域85を用いたバックアップを利用するアプリの開発は、APIの存在を知っている開発者等に限られやすくなる。   In this manner, data integrity is improved by realizing data backup to the spare memory area 85 in response to an application request through the API. If the API is generally not disclosed, the development of an application using a backup using the spare memory area 85 is likely to be limited to a developer who knows the existence of the API.

<3.2 読み出し動作>
VMM73は、汎用OSのOS稼働異常等により、一部のOSを再起動させる。この場合に、アプリ75の読み出し要求に応じて、予備メモリ領域85の保持内容に基づきデータを復元する。この場合の読み出し動作について説明する。
<3.2 Read operation>
The VMM 73 restarts a part of the OS due to an OS operation abnormality of the general-purpose OS. In this case, the data is restored based on the contents held in the spare memory area 85 in response to the read request from the application 75. A read operation in this case will be described.

図6は、VMM73により予備メモリ領域85からデータを読み出す動作を示すフローチャートである。   FIG. 6 is a flowchart showing an operation of reading data from the spare memory area 85 by the VMM 73.

VMM73は、一のOSを再起動させる(S61)。
VMM73は、再起動させたOSのアプリ75が所定のAPIにより予備メモリ領域85からの読み出しを伴う読み出し要求を受け付ける(S63)。各OSは、APIを通じた読み出し要求であることを受けて、それぞれに割り当てられたメモリ領域(OS1用稼働メモリ領域82、OS2用稼働メモリ領域83)のうち所定のアドレス範囲からの読み出しを、VMM73を通じて行う(S63)。
The VMM 73 restarts one OS (S61).
The VMM 73 receives a read request accompanied by a read from the spare memory area 85 by the predetermined application API of the restarted OS application 75 (S63). Each OS receives a read request through the API, and reads from a predetermined address range in the memory area (OS1 operating memory area 82, OS2 operating memory area 83) allocated to each OS, by the VMM 73. (S63).

VMM73は、上記のように所定のアドレス範囲からのデータの読み出しを受け付けることにより、予備メモリ領域85よりデータを読み出す(S65)。   The VMM 73 reads the data from the spare memory area 85 by receiving the data read from the predetermined address range as described above (S65).

VMM73は、読み出したデータを、各OSに割り当てられたメモリ領域(OS1用稼働メモリ領域82、OS2用稼働メモリ領域83)へ書き込むことによりデータを復元する(S67)。   The VMM 73 restores the data by writing the read data to the memory areas (OS1 operating memory area 82, OS2 operating memory area 83) assigned to each OS (S67).

上記のように予備メモリ領域85への書き込み、読み出し動作を説明してきた。
図7は、APIを通じた予備メモリ領域85への書き込み、読み出し動作を示す図である。
As described above, the write and read operations to the spare memory area 85 have been described.
FIG. 7 is a diagram showing write and read operations to the spare memory area 85 through the API.

図示するように、アプリ75a、75bは、各OS(第1のOS71、第2のOS72)のAPI88、API89を通じて、予備メモリ領域85へのデータの書き込み、読み出しを行う。   As illustrated, the applications 75a and 75b write and read data to and from the spare memory area 85 through the API 88 and API 89 of each OS (first OS 71 and second OS 72).

図8は、APIを通じて書き込み、読み出しを行う場合の例を示す図である。
図示するように、”backup1”等のコマンドにより、APIを通じて予備メモリ領域85への書き込み対象のデータ名、変数が指定される。
FIG. 8 is a diagram illustrating an example of writing and reading through the API.
As shown in the figure, a data name and a variable to be written to the spare memory area 85 are specified through an API by a command such as “backup1”.

図9は、GUI画面の例による動作例を示す図である。
汎用OSである第1のOS71は、RTOSである第2のOS72の処理結果を表示するためや、ユーザによる操作を受け付けるための様々なHMI(Human machine interface)画面を有している。ユーザがどの表示画面を選択しているか、第1のOS71により保持されているとする。
FIG. 9 is a diagram illustrating an operation example based on an example of a GUI screen.
The first OS 71, which is a general-purpose OS, has various HMI (Human machine interface) screens for displaying the processing results of the second OS 72, which is an RTOS, and for accepting user operations. It is assumed that which display screen is selected by the user is held by the first OS 71.

図9(A)の例では、本実施形態のような予備メモリ領域85へのデータの並行した書き込み処理がない場合を示している。第1のOS71において、ユーザがどの表示画面を選択しているかの情報が、OSのOS稼働異常により失われる。図示する例では、オペレーション画面95が第1のOS71により表示されているが、第1のOS71の再起動により、初期画面96が表示される。   In the example of FIG. 9A, a case where there is no parallel writing process of data to the spare memory area 85 as in the present embodiment is shown. In the first OS 71, information indicating which display screen the user has selected is lost due to an OS operating abnormality of the OS. In the illustrated example, the operation screen 95 is displayed by the first OS 71, but the initial screen 96 is displayed when the first OS 71 is restarted.

図9(B)の例では、本実施形態のように、ユーザがどの画面を表示しているかについて、予備メモリ領域85へのデータの並行した書き込み処理を行っている(S55)。オペレーション画面95を表示している際に第1のOS71の再起動が必要になったとする。再起動後、ユーザが表示していた画面の情報について、予備メモリ領域85より読み出して復元する。これにより、第1のOS71が再起動したとしてもユーザは再び再起動前の画面である復元画面97を閲覧することができる。   In the example of FIG. 9B, as in the present embodiment, the parallel data writing process to the spare memory area 85 is performed for which screen the user is displaying (S55). Assume that it is necessary to restart the first OS 71 while the operation screen 95 is displayed. After the restart, the screen information displayed by the user is read from the spare memory area 85 and restored. Thereby, even if the first OS 71 is restarted, the user can browse the restoration screen 97 which is the screen before the restart again.

表示画面が多種類であると、ユーザが所望の表示画面を表示するまでに煩雑な操作を必要とする。これに対し、上記実施形態によると、このような煩雑な操作を不要とすることができ、ユーザの利便性を高めることができる。   If there are many types of display screens, a complicated operation is required until the user displays a desired display screen. On the other hand, according to the said embodiment, such a complicated operation can be made unnecessary and a user's convenience can be improved.

以上のように実施の形態について説明してきた。本発明は、上記実施の形態を組み合わせたものとしてもよい。   The embodiment has been described as described above. The present invention may be a combination of the above embodiments.

今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time must be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

この発明は、VMMにより複数のOSを仮想的に並列に実行する情報処理装置において用いることができる。   The present invention can be used in an information processing apparatus that virtually executes a plurality of OSs in parallel using a VMM.

10 マルチコア、11 第1のコア、12 第2のコア、30 ハードディスクドライブ、50 I/O部、51 I/Oデバイス、52 I/Oデバイス、70 メモリ、71 第1のOS、72 第2のOS、73 VMM、75 アプリ、77 設定ファイル、81a OS1設定情報、81b CPU設定情報、81c IRQ設定情報、82 OS1用稼働メモリ領域、83 OS2用稼働メモリ領域、84 共通メモリ領域、85 予備メモリ領域、86 OS1用予備メモリ領域、87 OS2用予備メモリ領域、95 オペレーション画面、96 初期画面、97 復元画面、100 PC、200 外部機器、300 外部機器。   10 multi-core, 11 first core, 12 second core, 30 hard disk drive, 50 I / O unit, 51 I / O device, 52 I / O device, 70 memory, 71 first OS, 72 second OS, 73 VMM, 75 application, 77 setting file, 81a OS1 setting information, 81b CPU setting information, 81c IRQ setting information, 82 OS1 operating memory area, 83 OS2 operating memory area, 84 common memory area, 85 spare memory area 86 OS1 spare memory area, 87 OS2 spare memory area, 95 operation screen, 96 initial screen, 97 restoration screen, 100 PC, 200 external device, 300 external device.

Claims (3)

複数の演算処理部と、記憶部と、複数のI/Oデバイスとを含むハードウェア資源を備え、VMM(Virtual Machine Monitor)により仮想的に複数のOS(Operating System)を並列に実行する情報処理装置であって、
前記記憶部は、
前記複数のOSそれぞれについてのハードウェア資源の割り当てを示す設定情報と、
前記VMMとを記憶し、
前記VMMは、前記設定情報に示される割り当てに基づいて各OSにハードウェア資源を割り当てて各OSの動作を管理し、
前記OSに割り当てられた稼動メモリ領域への当該OSからの所定のデータの書き込み要求に応答して、前記OSに未割り当ての予備メモリ領域へ並行して前記所定のデータを書き込む、
情報処理装置。
Information processing that includes hardware resources including a plurality of arithmetic processing units, a storage unit, and a plurality of I / O devices, and virtually executes a plurality of operating systems (OS) in parallel by a virtual machine monitor (VMM). A device,
The storage unit
Setting information indicating allocation of hardware resources for each of the plurality of OSs;
Storing the VMM;
The VMM allocates hardware resources to each OS based on the allocation indicated in the setting information and manages the operation of each OS.
In response to a request to write predetermined data from the OS to the operating memory area allocated to the OS, the predetermined data is written in parallel to a spare memory area not allocated to the OS.
Information processing device.
前記VMMは、前記複数のOSのいずれにも割り当てないメモリ領域を前記予備メモリ領域と設定する、
請求項1記載の情報処理装置。
The VMM sets a memory area not assigned to any of the plurality of OSs as the spare memory area.
The information processing apparatus according to claim 1.
前記OSは、所定のAPI(Application Programming Interface)により、前記OSで動作するアプリによるデータの書き込み要求を受け付けており、
前記VMMは、前記OSが前記所定のAPIを通じて前記稼働メモリ領域へのデータの書き込み要求がある場合に、前記予備メモリ領域へ並行して前記データを書き込む、
請求項1記載の情報処理装置。
The OS receives a data write request by an application operating on the OS by a predetermined API (Application Programming Interface),
The VMM writes the data in parallel to the spare memory area when the OS has a data write request to the working memory area through the predetermined API.
The information processing apparatus according to claim 1.
JP2012058506A 2012-03-15 2012-03-15 Information processing apparatus Pending JP2013191155A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012058506A JP2013191155A (en) 2012-03-15 2012-03-15 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012058506A JP2013191155A (en) 2012-03-15 2012-03-15 Information processing apparatus

Publications (1)

Publication Number Publication Date
JP2013191155A true JP2013191155A (en) 2013-09-26

Family

ID=49391283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012058506A Pending JP2013191155A (en) 2012-03-15 2012-03-15 Information processing apparatus

Country Status (1)

Country Link
JP (1) JP2013191155A (en)

Similar Documents

Publication Publication Date Title
US9798565B2 (en) Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor
US9058197B2 (en) Method for sharing memory of virtual machine and computer system using the same
US9454397B2 (en) Data processing systems
KR20070100367A (en) Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
TWI649695B (en) Method and device for combined operating system
CN101819538A (en) The requests of operating systems in virtual machine is carried out in management
KR101249735B1 (en) Device and method for executing Android applications on general purpose operating systems, and computer readable recording medium for the same
US11875145B2 (en) Virtual machine update while keeping devices attached to the virtual machine
CN113826072B (en) Code update in system management mode
US9361124B2 (en) Computer system and startup method
TWI662419B (en) A network system with local disks for pooled physical resources
JP2013191155A (en) Information processing apparatus
JP2022536681A (en) non-volatile storage identifier
TWI452468B (en) Method for sharing memory of virtual machine and computer system using the same
JP5699665B2 (en) Server apparatus, process execution method, and program
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
Russinovich Inside windows server 2008 kernel changes
JP5637934B2 (en) Virtualization device, virtualization device control method, virtualization device control program
JP5982903B2 (en) Information processing device
JP2013191153A (en) Information processing apparatus
JP2013191152A (en) Information processor
JP2013182461A (en) Information processing apparatus, resource control method in the same, and computer program