(57)【特許請求の範囲】
【請求項１】
複数の演算処理部と、記憶部と、複数のＩ／Ｏデバイスとを含むハードウェア資源を備え、ＶＭＭ（Virtual Machine Monitor）により仮想的に複数のＯＳ（Operating System）を並列に実行する情報処理装置であって、
前記ハードウェア資源は、ＯＳの再起動開始のユーザ操作を受け付けるスイッチを含み、
前記記憶部は、
前記複数のＯＳそれぞれについてのハードウェア資源の割り当てを示す設定情報と、
前記ＶＭＭとを記憶し、
前記ＶＭＭは、前記設定情報に示される割り当てに基づいて各ＯＳにハードウェア資源を割り当てて各ＯＳの動作を管理し、
前記スイッチにより再起動開始のユーザ操作を受け付けることにより、前記設定情報に基づいて、前記スイッチにより指定されたＯＳの再起動を開始するとともに前記スイッチに未指定のＯＳの稼働を維持し、
前記スイッチは、
ＯＳを指定するためのＯＳ指定スイッチと、
再起動を開始する操作を受け付けるためのリセット実行ボタンとを含み、
前記リセット実行ボタンは、押下操作がなされることにより、割り込み信号を発生させ、
前記ＶＭＭは、前記割り込み信号を受けて、前記ＯＳ指定スイッチに指定されるＯＳの再起動を開始する、
情報処理装置。
【請求項２】
前記記憶部は、前記ＯＳ指定スイッチにより指定されるＯＳを示すＯＳ指定情報を記憶しており、
前記ＶＭＭは、前記割り込み信号を受けて、前記ＯＳ指定情報を読み出し、読みだしたＯＳ指定情報に示されるＯＳの再起動を開始する、
請求項１記載の情報処理装置。
【請求項３】
いずれかの前記ＯＳは、表示画像を生成して表示部により表示させており、
前記ＶＭＭは、
前記スイッチの操作方法を示すガイド画像を生成して前記表示画像にオーバーレイ表示させる、
請求項１記載の情報処理装置。
【請求項４】
前記ＶＭＭは、前記設定情報に基づいて、各ＯＳにより使用されるメモリ領域を管理しており、
稼働状態を監視するＯＳについて割り当てられたメモリ領域へのデータ書き換え状況に応じて当該監視にかかるＯＳの稼働状態を判定し、前記判定結果に応じて、当該ＯＳがＯＳ稼働異常となっているか報知する、
請求項１記載の情報処理装置。
【請求項５】
前記ハードウェア資源は、ＯＳの稼働状態を表示する状態表示部を含み、
前記ＶＭＭは、ＯＳがＯＳ稼働異常となっているかの前記報知を、前記状態表示部により行う、
請求項４記載の情報処理装置。
【請求項６】
いずれかの前記ＯＳは、表示画像を生成して表示部により表示させており、
前記ＶＭＭは、
当該監視にかかるＯＳの稼働状態の前記判定結果に応じて、当該ＯＳの稼働状態を示す画像を生成して前記表示画像にオーバーレイ表示させる、
請求項４記載の情報処理装置。
【請求項７】
複数の演算処理部と、記憶部と、複数のＩ／Ｏデバイスとを含むハードウェア資源を備え、ＶＭＭにより仮想的に複数のＯＳを並列に実行する情報処理装置であって、
前記ハードウェア資源は、ＯＳの再起動開始のユーザ操作を受け付けるスイッチを含み、
前記記憶部は、
前記複数のＯＳそれぞれについてのハードウェア資源の割り当てを示す設定情報と、
前記ＶＭＭとを記憶し、
前記ＶＭＭは、前記設定情報に示される割り当てに基づいて各ＯＳにハードウェア資源を割り当てて各ＯＳの動作を管理し、
前記スイッチにより再起動開始のユーザ操作を受け付けることにより、前記設定情報に基づいて、前記スイッチにより指定されたＯＳの再起動を開始するとともに前記スイッチに未指定のＯＳの稼働を維持し、
いずれかの前記ＯＳは、表示画像を生成して表示部により表示させており、
前記ＶＭＭは、
前記スイッチの操作方法を示すガイド画像を生成して前記表示画像にオーバーレイ表示させ、
前記ハードウェア資源は、ＯＳの稼働状態を表示する状態表示部を含み、
前記ＶＭＭは、ＯＳがＯＳ稼働異常となっているかの報知を、前記状態表示部により行う、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理部を備えてＶＭＭ（Virtual  Machine  Monitor）により仮想的に複数のＯＳ（Operating  System）を並列に実行する情報処理装置に関するものであり、特に、リセット操作の利便性を向上させる技術に関する。
【背景技術】
【０００２】
ＯＳが動作するコンピュータをソフトウェアにより仮想的に実現する仮想化技術が用いられている（特許文献１参照）。ＶＭ（Virtual  Machine）とは、あるＯＳが動作するコンピュータをソフトウェアにより仮想的に実現したものである。ＶＭＭとは、コンピュータを仮想化し、それぞれのＯＳに対応したＶＭを動作させることで、複数の異なるＯＳを並列に実行できるようにするソフトウェアである。ソフトウェアにより仮想的なコンピュータを実現し、ＶＭ上で様々なアプリが実行される。
【０００３】
近年では、マルチコアシステムなど複数の演算処理部を備えたシステムが一般的になってきている（下記の特許文献等参照）。マルチコアシステムにおいても、ＶＭＭにより仮想的に複数のＯＳを動作させている。ＶＭＭは、どのＯＳにどのコアを割り当てるかといった、ＰＣ（Personal  Computer）のハードウェア資源の割り当てを管理している。
【０００４】
この割り当ては、例えば、テキストデータで記述された設定ファイルに基づいて、ＶＭＭの起動時になされる。ＶＭＭは、設定ファイルに従って、ＣＰＵ（Central  Processing  Unit）やＩ／Ｏ（Input/Output）デバイスなどのハードウェア資源を、それぞれのＯＳに割り当てる。
【０００５】
ハードウェア資源の競合がＯＳ間で発生することを避けるために、ＶＭＭによりハードウェア資源の管理をしている。また、ＶＭＭは、例えば、各ＯＳがアクセス可能な共有メモリ領域を確保してこの領域へのアクセスを管理することにより、各ＯＳにハードウェア資源を共有させることもできる。これにより、ＯＳ間でデータの受け渡し等が可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１０１０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数のＯＳを動作させる場合として、１つの情報処理装置において、ＧＵＩ（Graphical  User  Interface）を備えた汎用ＯＳと、ＲＴＯＳ（Real  Time  Operating  System）とを仮想的に並列に動作させるとする。汎用ＯＳは、ＧＵＩによりユーザの操作を受け付ける。また、汎用ＯＳは、主にＲＴＯＳによる処理の結果を、ユーザに対してＧＵＩにより表示する機能を担うとする。ＲＴＯＳの動作は比較的安定している。一方、汎用ＯＳの動作は比較的不安定であるとすると、汎用ＯＳがＯＳ稼働異常となった際にリセットが必要となる。ＯＳ稼働異常であるとは、例えば、以下の状態をいい、ＯＳからの応答がない状態、ＵＩ（User  Interface）からユーザが操作不能な状態、ＯＳの異常を通知する画面が表示された状態などをいう。
【０００８】
ユーザによるリセット操作をＰＣにより受け付ける方法は様々ある。特開２００１−１０１０３４号公報（特許文献１）は、複数のＯＳが動作する環境において、一のＯＳが他のＯＳを監視及び再起動させる技術を開示している。しかし、ＰＣにおいて複数のＯＳを仮想的に動作させている場合、これらのＯＳのリセットがユーザにとって煩雑なものとなるおそれがある。例えば、ＰＣの外部にリセットボタンが設置されていることがあり、リセットボタンの押下をユーザより受け付ける。また、ユーザによる電源ボタンの長押し等によりリセット操作を受け付ける。
【０００９】
通常、これらハードウェアによる操作方法はＰＣ全体のリセットを想定している。そのため、安定しているＯＳを動作させたまま、より不安定なＯＳについてユーザがリセットを希望するにもかかわらず、ＰＣの記憶領域の全体を対象としたリセットとなることがある。本来、再起動が不要なＯＳについてもリセットされ、再起動に要する時間が長くなりうる。
【００１０】
他にもソフトウェアによりリセット操作を受け付けることもできる。例えば、ユーザの操作として、マウスやキーボードなどＰＣにおいて標準的に用いられる入力デバイスを用いてＧＵＩ画面を介してリセット操作を受け付けることができる。しかし、ＧＵＩ画面を表示するための汎用ＯＳがＯＳ稼働異常となっていると、ユーザによるリセット操作が困難となる。
【００１１】
このように、複数の演算処理部を備えるＰＣにおいて複数のＯＳを仮想的に動作させる場合に、ユーザがより容易にＯＳがＯＳ稼働異常となっているか否かを把握できることや、ＯＳごとのリセットを容易にする技術が必要となっている。
【課題を解決するための手段】
【００１２】
上記課題を解決する、一実施形態にかかる発明は、複数の演算処理部と、記憶部と、複数のＩ／Ｏデバイスとを含むハードウェア資源を備え、ＶＭＭ（Virtual  Machine  Monitor）により仮想的に複数のＯＳ（Operating  System）を並列に実行する情報処理装置であって、ハードウェア資源は、ＯＳの再起動開始のユーザ操作を受け付けるスイッチを含み、記憶部は、複数のＯＳそれぞれについてのハードウェア資源の割り当てを示す設定情報と、ＶＭＭとを記憶し、ＶＭＭは、設定情報に示される割り当てに基づいて各ＯＳにハードウェア資源を割り当てて各ＯＳの動作を管理し、スイッチにより再起動開始のユーザ操作を受け付けることにより、設定情報に基づいて、スイッチにより指定されたＯＳの再起動を開始するとともにスイッチに未指定のＯＳの稼働を維持する。
【００１３】
好ましくは、スイッチは、ＯＳを指定するためのＯＳ指定スイッチと、再起動を開始する操作を受け付けるためのリセット実行ボタンとを含み、リセット実行ボタンは、押下操作がなされることにより、割り込み信号を発生させ、ＶＭＭは、割り込み信号を受けて、ＯＳ指定スイッチに指定されるＯＳの再起動を開始することとしてもよい。
【００１４】
好ましくは、記憶部は、ＯＳ指定スイッチにより指定されるＯＳを示すＯＳ指定情報を記憶しており、ＶＭＭは、割り込み信号を受けて、ＯＳ指定情報を読み出し、読みだしたＯＳ指定情報に示されるＯＳの再起動を開始することとしてもよい。
【００１５】
好ましくは、いずれかのＯＳは、表示画像を生成して表示部により表示させており、ＶＭＭは、スイッチの操作方法を示すガイド画像を生成して表示画像にオーバーレイ表示させることとしてもよい。
【００１６】
好ましくは、ＶＭＭは、設定情報に基づいて、各ＯＳにより使用されるメモリ領域を管理しており、稼働状態を監視するＯＳについて割り当てられたメモリ領域へのデータ書き換え状況に応じて監視にかかるＯＳの稼働状態を判定し、判定結果に応じて、ＯＳがＯＳ稼働異常となっているか報知することとしてもよい。
【００１７】
好ましくは、ハードウェア資源は、ＯＳの稼働状態を表示する状態表示部を含み、ＶＭＭは、ＯＳがＯＳ稼働異常となっているかの報知を、状態表示部により行うこととしてもよい。
【００１８】
好ましくは、いずれかのＯＳは、表示画像を生成して表示部により表示させており、ＶＭＭは、監視にかかるＯＳの稼働状態の判定結果に応じて、ＯＳの稼働状態を示す画像を生成して表示画像にオーバーレイ表示させることとしてもよい。
【発明の効果】
【００１９】
これにより、ユーザは、容易にＯＳ単位でリセットを実行することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明を構成するＰＣ１００の機能ブロック図である。
【図２】ハードウェア資源とソフトウェア資源との論理的な対応関係を示す図である。
【図３】設定ファイル７７を示す図である。
【図４】スイッチ５１の外観を示す図である。
【図５】ＯＳ指定部６１の外観を示す図である。
【図６】ロータリースイッチとユーザ指定との対応関係を示す図である。
【図７】リセット処理を示すフローチャートである。
【図８】ＯＳ稼働異常判定とオーバーレイ処理を示すフローチャートである。
【図９】ＯＳの実行状態と操作ガイドをオーバーレイ表示するＧＵＩ画面を示す図である。
【図１０】変形例にかかるスイッチ５１ａの外観を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の情報処理装置について、図面を用いて説明する。
＜１  構成＞
本実施形態では、情報処理装置としてＰＣの例を説明する。このＰＣにおいて、ＶＭＭにより複数のＯＳを仮想的に並列に実行する。
【００２２】
＜１．１  ＰＣの構成＞
図１は、本発明を構成するＰＣ１００の機能ブロック図である。
【００２３】
図１に示すように、ＰＣ１００は、マルチコア１０と、ハードディスクドライブ３０と、Ｉ／Ｏ部５０と、メモリ７０とを含む。ＰＣ１００は、Ｉ／Ｏ部５０により外部の情報処理装置である外部機器２００や外部機器３００と接続している。外部機器２００等の外部の情報処理装置は、例えば、モニタなどの映像表示装置である。これら外部の情報処理装置は、ＰＣ１００による映像出力を受け付けて、所定のＯＳのＧＵＩ（Graphical  User  Interface）画面を表示する。また、外部の情報処理装置は、タッチパネル等により操作者による操作を受け付けてＰＣ１００へ出力する。
【００２４】
ＰＣ１００は、複数の演算処理部を備えている。複数の演算処理部の機能は、本実施形態では、マルチコア１０により発揮される。マルチコア１０は、複数のプロセッサ・コア（第１のコア１１、第２のコア１２、・・）を備えており、プログラムに従って演算処理を並列に実行する。第１のコア１１や第２のコア１２は、マルチコア１０に備わるそれぞれのプロセッサ・コアである。ＶＭＭ７３は、後述する設定ファイル７７に従って、各プロセッサ・コアに対してＯＳを割り当てる。
【００２５】
ハードディスクドライブ３０は、大容量の記憶容量を備える記憶装置であり、所定のプログラムやデータを記憶している。
【００２６】
Ｉ／Ｏ部５０は、ＰＣ１００における入出力機能を発揮させるためのＩ／Ｏインタフェースを複数備える。図示するように、Ｉ／Ｏ部５０は、複数のＩ／Ｏデバイス（スイッチ５１、Ｉ／Ｏデバイス５２、・・）を備えている。スイッチ５１は、リセット処理に関してユーザから操作を受け付けるハードウェア資源である。詳しくは後述する。Ｉ／Ｏデバイス５２などのＩ／Ｏデバイスは、例えば映像出力のための出力ポートや、外部の情報処理装置と通信するための通信ポートなどである。
【００２７】
メモリ７０は、プログラムを実行するために一時的に用いられる記憶領域である。メモリ７０は、例えばSDRAM(Synchronous  Dynamic  Random  Access  Memory)などとして実現される。第１のＯＳ７１、第２のＯＳ７２、ＶＭＭ７３、アプリ７５が読みだされてメモリ７０において記憶されている。
【００２８】
マルチコア１０の各コアは、複数のＯＳを仮想的に実行するために、ハードディスクドライブ３０より各ＯＳに対応したＶＭを読みだしてメモリ７０に記憶させている（第１のＯＳ７１、第２のＯＳ７２）。本実施形態では、第１のＯＳ７１と第２のＯＳ７２は協働して並列に実行されるものとする。本実施形態では、第１のＯＳ７１は、ＧＵＩ表示機能を備えた汎用的なＯＳを仮想的に実行するためのＶＭとする。第２のＯＳ７２は、例えば、ＲＴＯＳ（Real  Time  Operating  System）を仮想的に実行するためのＶＭである。第２のＯＳ７２のＲＴＯＳで所定の処理を繰り返し実行し、第１のＯＳ７１のＧＵＩ機能により外部機器２００等において表示する。例えば、ＲＴＯＳは、主にＦＡシステム（Factory  automation  system）にかかる繰り返し処理を担い、演算結果を出力する。汎用ＯＳは、主に、ＲＴＯＳによる処理の結果をＧＵＩにより表示する。
【００２９】
ＶＭＭ７３は、上記の各ＯＳを仮想的に実行するためのＶＭを制御する制御プログラムである。後述するように、ＶＭＭ７３は、上記の各ＯＳに相当するＶＭに対してのハードウェア資源の割り当てを、後述する設定ファイル７７を用いて実行する。ＶＭＭ７３は、各ＯＳに対するハードウェア資源の割り当てや、各ＯＳによるハードウェア資源へのアクセスを管理する。
【００３０】
アプリ７５は、各ＯＳにおいて実行される、複数のアプリである。
＜１．２  論理的な構成＞
上記のような物理的なハードウェア資源により、ＰＣ１００は複数のＯＳを仮想的に並列に実行する。
【００３１】
次に、各ソフトウェアが動作する論理的な構成について説明する。
図２は、ハードウェア資源とソフトウェア資源との論理的な対応関係を示す図である。
【００３２】
＜１．２．１  ソフトウェア資源＞
ＶＭＭ７３は、後述する設定ファイル７７に従って、起動時に各ＯＳに対してハードウェア資源を割り当てる。図２に示すように、ＶＭＭ７３は、ＶＭとして実行される各ＯＳ（第１のＯＳ７１、第２のＯＳ７２）と、ハードウェア資源とのアクセスのインタフェース機能を提供している。ＯＳごとにハードウェア資源へのアクセス手順が異なっていても、ＶＭＭ７３により吸収される。これによりＶＭＭ７３は、各ＯＳとハードウェア資源とのアクセスを統括的に管理する。
【００３３】
ＶＭとして実行される各ＯＳ（第１のＯＳ７１、第２のＯＳ７２）では、各ＯＳ上で実行可能なアプリ（アプリ７５ａ、アプリ７５ｂ）が動作している。
【００３４】
＜１．２．２  ハードウェア資源＞
上記のように、マルチコア１０の第１のコア１１や第２のコア１２にいずれのＯＳを割り当てるかはＶＭＭ７３により管理されている。またメモリ７０における記憶領域をパーティショニングすること等により各ＯＳへ記憶領域が割り当てられる。この割り当て、および、各ＯＳによるメモリ７０へのアクセスもＶＭＭ７３により管理されている。
【００３５】
ＶＭＭ７３は、メモリ７０において、各ＯＳがそれぞれアクセス可能な共有メモリを割り当てている。これにより、それぞれのＯＳに割り当てられたコア（第１のコア１１、第２のコア１２）間において通信することができる仮想ネットワーク７８が形成される。
【００３６】
ＰＣ１００では、スイッチ５１に対するユーザ操作によりハードウェア割り込みがなされ、リセットの実行、または、オーバーレイ処理の切替がなされる。ＶＭＭ７３の再起動実行アプリ７４は、このリセット処理を実行する。ＶＭＭ７３の報知アプリ７６は、上記のオーバーレイ処理を実行する。これらの処理については後述する。
【００３７】
また、Ｉ／Ｏデバイス（Ｉ／Ｏデバイス５２）により、各コア（第１のコア１１、第２のコア１２）へデータが入力される。各コアにおける演算処理の結果は、Ｉ／Ｏデバイス（Ｉ／Ｏデバイス５２）により出力される。
【００３８】
＜２  データ＞
次に、本実施形態におけるデータについて説明する。
【００３９】
＜２．１  設定ファイル＞
図３は、設定ファイル７７を示す図である。
【００４０】
設定ファイル７７は、ＶＭＭ７３の起動時にＶＭＭ７３に読みだされる。この設定ファイル７７に従ってＶＭＭ７３がＰＣ１００のハードウェア資源を各ＯＳに割り当てる。図３では設定ファイル７７の一部を示している。図示するように、例えば、設定ファイル７７には、ＯＳ単位か、個々のハードウェア資源単位によりハードウェア資源の割り当てが示されている。
【００４１】
設定ファイル７７には、ＯＳ起動のためのＯＳ１設定情報８１ａが含まれる。なお第１のＯＳ７１を、「ＯＳ１」として示している。ＯＳ１設定情報８１ａでは、ＯＳに割り当てるコア、ＯＳの名称、ＯＳをブートさせる順位、ＯＳに割り当てるメモリ領域などが設定されている。図示する例では、例えば、ＯＳ１に対し、複数あるプロセッサ・コアのうち＃１のコアを割り当てることを示している。
【００４２】
ＣＰＵ設定情報８１ｂは、ハードウェア資源としてプロセッサ・コア単位でのＯＳの割り当てを示している。
【００４３】
ＩＲＱ設定情報８１ｃは、ハードウェア資源としてＩ／Ｏデバイス単位（図示する例では「ＩＲＱ（Interrupt  ReQuest）」として示している）でのＯＳの割り当てを示している。
【００４４】
＜３  スイッチ５１の詳細＞
ここで、上記のスイッチ５１を詳細に説明する。
【００４５】
図４は、スイッチ５１の外観を示す図である。
図４（ｂ）はスイッチ５１の詳細を示している。スイッチ５１は、ＯＳ指定部６１と、開始ボタン６２と、ＬＥＤ表示部６３とを含んでいる。図４（ａ）に示すように、スイッチ５１は、ＰＣ１００の外部に配置されている。スイッチ５１はＰＣ１００の基板と接続されている。スイッチ５１に対して所定のユーザ操作がなされることにより、ハードウェア割り込み処理がなされる。ハードウェア割り込みは、例えば割り込みコントローラを経由してマルチコア１０に伝えられる。マルチコア１０では、受け取った信号に応じた処理を行う。
【００４６】
本実施形態では、リセット処理のために再起動実行アプリ７４が動作する。また、本実施形態では、ＯＳ１の稼働状態を表示するためにオーバーレイ表示する。また、ユーザに対するスイッチ５１の操作ガイドを表示するためにオーバーレイ表示する。これら情報のオーバーレイ表示のために報知アプリ７６が動作する。
【００４７】
図５は、ＯＳ指定部６１の外観を示す図である。
図５に示すように、ＯＳ指定部６１は、ロータリースイッチを備えており、ロータリースイッチの操作軸６５をユーザが回転操作することにより、リセットの対象となるＯＳの指定をユーザより受け付ける。またオーバーレイ表示のオン・オフを切り替えるかをユーザより受け付ける。
【００４８】
図６は、ロータリースイッチとユーザ指定との対応関係を示す図である。
図示する例では、ロータリースイッチの操作軸６５は「０」から「７」の８方向に設定可能である。そのうちの３方向（「０」「２」「４」）を用いて、リセット対象として（ｉ）各ＯＳのいずれが指定されているか、または両方のＯＳが指定されているかをユーザより受け付ける。また方向「６」を用いて、（ｉｉ）後述するオーバーレイ表示のオン・オフ切替の操作をすることをユーザより受け付ける。オーバーレイ表示では、ＯＳの稼働状態（所定のＯＳがＯＳ稼働異常となっているか否か）、および、スイッチ５１の操作ガイドを画面上に表示する。
【００４９】
これらの指定を伴わない方向では、スイッチ５１によりリセット等を行わないことの指定を受け付けているとする。これにより、リセットの契機となる開始ボタン６２をユーザが誤って押下したとしても、ユーザが意図しないリセット等を防ぐことができる。
【００５０】
ＯＳ指定部６１は、いずれのＯＳについてリセットを行うかの指定をユーザより受け付ける。図示する例では、「ＯＳ１」や「ＯＳ２」は各ＯＳを示している（ＯＳ２は第２のＯＳ７２と対応している）。「Ｒｅｓｅｔ」は、ユーザよりリセットを指定されていることを示す。「Ｏｖｅｒｌａｙ」は、ユーザによりオーバーレイ表示のオン・オフ操作を切り替えることを指定されていることを示す。例えば「ＯＳ１  Ｒｅｓｅｔ」は、ＯＳ１の指定を受け付けていることを示す。「ＯＳ１・２  Ｒｅｓｅｔ」は、ＯＳ１およびＯＳ２をともにリセットさせる指定を受け付けていることを示す。ＯＳ指定部６１においてユーザにいずれのＯＳが指定されているかは、メモリ７０にＯＳ指定情報として記憶されている。例えばロータリースイッチの操作軸６５の方向に示される値をメモリ７０に記憶している。
【００５１】
図４に戻り説明を続ける。開始ボタン６２は、押下可能な押し込み部材を備え、ユーザによる押下を受け付ける。押下があると、開始ボタン６２は、ＯＳ指定部６１に示されるユーザの指定に従ってハードウェア割り込みを開始させるための信号を出力する。
【００５２】
ＬＥＤ表示部６３は、ＬＥＤ（Light  Emitting  Diode）を備え、ＯＳ１とＯＳ２のそれぞれについてＯＳ稼働異常となっているかをＬＥＤ発光（例えば、点滅）により示す。またリセット処理が実行されていることをＬＥＤ発光により示す。各ＯＳがＯＳ稼働異常となっていることの判定は後述する。
【００５３】
ＬＥＤ表示部６３は、ＯＳ１稼働状態表示部６７とＯＳ２稼働状態表示部６８を含んでいる。ＯＳ１稼働状態表示部６７は、ＰＣ１００においてＯＳ１がＯＳ稼働異常となっていること、またはＯＳ１のリセット処理が行われていることをＬＥＤ発光によりユーザに表示する。ＯＳ２稼働状態表示部６８は、ＰＣ１００においてＯＳ２がＯＳ稼働異常となっていること、またはＯＳ２のリセット処理が行われていることをＬＥＤ発光によりユーザに表示する。
【００５４】
上記のスイッチ５１に対し、ユーザは、ＯＳ指定部６１により、リセット対象として各ＯＳのいずれかまたは両方を指定する。この状態でユーザは開始ボタン６２を押下することにより、上記指定の動作をＰＣ１００に開始させることができる。
【００５５】
＜３  動作＞
次に、スイッチ５１の押下に基づくＰＣ１００におけるリセットの動作について説明する。
【００５６】
本実施形態では、ユーザによりＯＳが指定されて開始ボタン６２が押下されることにより、ＶＭＭ７３により再起動実行アプリ７４が実行されてリセットの処理が開始される。
【００５７】
＜３．１  リセット処理の概要＞
図７は、リセット処理を示すフローチャートである。
【００５８】
図７に示すように、ＶＭＭ７３は、ハードウェア割り込みにより、ユーザによるリセット開始操作（開始ボタン６２の押下）を検出する（Ｓ６１）。この検出により、ＶＭＭ７３は、メモリ７０に記憶されるＯＳ指定情報を読み出して、ユーザに指定されているＯＳを特定する。ＶＭＭ７３は、再起動実行アプリ７４および報知アプリ７６を起動する。再起動実行アプリ７４は、設定ファイル７７を参照して、ＯＳ指定部６１により指定されたＯＳに割り当てられた記憶領域（ハードディスクドライブ３０、メモリ７０の領域）を特定する（Ｓ６３）。
【００５９】
再起動実行アプリ７４は、ＯＳ指定部６１により指定されたＯＳをシャットダウンする（Ｓ６５）。
【００６０】
報知アプリ７６は、ＯＳ１稼働状態表示部６７を発光により点滅表示させ、ＯＳ１を再起動していることを表示する（Ｓ６７）。
【００６１】
再起動実行アプリ７４は、ＯＳ指定部６１により指定されたＯＳについて、ステップＳ６３で特定された記憶領域の割り当てに従ってリブートを開始する。
【００６２】
＜３．２  ＯＳ稼働異常判定処理の概要＞
図８は、ＯＳ稼働異常判定とオーバーレイ処理を示すフローチャートである。
【００６３】
なお、図示する例では、ＯＳ２は安定に動作するものとし、よりＯＳ稼働異常となりやすいＯＳ１について稼働状態（ＯＳ稼働異常となっているか否か）を判定するものとする。
【００６４】
図８に示すように、ＶＭＭ７３は、設定ファイル７７に基づいて、第１のＯＳ７１に割り当てられたメモリアドレスの範囲を取得する（Ｓ８１）。
【００６５】
ＶＭＭ７３は、第１のＯＳ７１によるハードウェアリソースへのアクセス部分の処理を担っている。上記のメモリアドレスの範囲において、直近のアクセス時点から所定時間内に第１のＯＳ７１によるアクセスがあるか判定する（Ｓ８２）。例えば最終アクセス時点と現時点との差分が所定時間以上であるか、またはアクセスがあった時点からカウントを開始するカウンタの値を参照する等により上記判定を行う。
【００６６】
ステップＳ８２において、所定時間内にメモリへのアクセスがないと判定されると（Ｓ８２：ＮＯ）、ＶＭＭ７３は、第１のＯＳ７１がＯＳ稼働異常となっていると判定する（Ｓ８３）。ＶＭＭ７３は、第１のＯＳ７１がＯＳ稼働異常となっていることを報知アプリ７６によりＧＵＩ画面にオーバーレイ表示する（Ｓ８４）。また報知アプリ７６は、ＯＳ１がＯＳ稼働異常となっていることをユーザに示すために、ＯＳ１稼働状態表示部６７を例えば点滅などさせる。
【００６７】
ステップＳ８２において、直近のアクセス時点から所定時間内に第１のＯＳ７１によるアクセスがある場合（Ｓ８２:ＹＥＳ），ＶＭＭ７３は、第１のＯＳ７１はＯＳ稼働異常となっているしていないと判定する（Ｓ８５）。ＶＭＭ７３は、オーバーレイ表示の設定に従って、第１のＯＳ７１の稼働状態（この場合はＯＳ１が正常に稼働している）をオーバーレイ表示する（Ｓ８６）。このとき報知アプリ７６は、ＯＳ１が正常に動作していることを、ＯＳ１稼働状態表示部６７を常時点灯させる、正常動作を示す色による発光等により表示する。
【００６８】
図９は、ＯＳの実行状態と操作ガイドをオーバーレイ表示するＧＵＩ画面を示す図である。
【００６９】
ＧＵＩ画面１５１は、Ｉ／Ｏデバイス５２によりディスプレイ等へ出力されているＧＵＩ画面を示している。
【００７０】
このＧＵＩ画面１５１において、ＶＭＭ７３は、オーバーレイ表示によりＯＳ１実行状態１５２を表示する。ＯＳ１実行状態１５２は、ＯＳ１がＯＳ稼働異常となっているか否かをオーバーレイにより表示する。図示する例では、「ＯＳ１  ＣＲＵＳＨ」となっており、ＯＳ１がＯＳ稼働異常となっていることが示されている。またＯＳ１がＯＳ稼働異常となっている場合は、この表示を点滅させる、エラーが発生していることを示す色で表示する等により、ユーザに注意を促すものとしてもよい。
【００７１】
操作ガイド１５３は、スイッチ５１のＯＳ指定部６１に対応している。ロータリースイッチをいずれの方向にセットすればどのような操作が指定されているかをオーバーレイにより表示する。
【００７２】
なおオーバーレイ表示のオン・オフは、ＯＳ指定部６１においてユーザが「Ｏｖｅｒｌａｙ  ＯＮ・ＯＦＦ」に操作軸６５をセットして、開始ボタン６２を押下することにより切り替えられる。この場合、開始ボタン６２の押下によりハードウェア割り込みが発生し、報知アプリ７６は、オーバーレイ表示のオン・オフを切り替える。
【００７３】
＜４  変形例＞
上記のように一実施形態について説明した。すなわち、ユーザによるリセットまたはオーバーレイ設定切替操作をハードウェア資源により受け付けることにより、ユーザは、リセットをＯＳ単位で容易に実行することができる。
【００７４】
ここで、リセットまたはオーバーレイ操作を受け付けるハードウェア資源は、上記のようなロータリースイッチを用いる場合の他にも様々なものを用いることができる。
【００７５】
図１０は、変形例にかかるスイッチ５１ａの外観を示す図である。
図１０（ｂ）はスイッチ５１ａの詳細を示している。図１０（ｂ）に示すように、スイッチ５１ａは、ＯＳ指定部６１と、開始ボタン６２と、リセット／稼働状態表示部６９とを含んでいる。
【００７６】
上記と同様に、図１０（ａ）に示すように、スイッチ５１ａは、ＰＣ１００の外部に配置されている。スイッチ５１ａはＰＣ１００の基板と接続されている。スイッチ５１ａに対して所定のユーザ操作がなされることにより、ハードウェア割り込み処理がなされる。ハードウェア割り込みは、例えば割り込みコントローラを経由してマルチコア１０に伝えられる。マルチコア１０では、受け取った信号に応じた処理を行う。
【００７７】
変形例では、ＯＳ指定部６１は、トグルスイッチ６６を備えている。トグルスイッチ６６をユーザが操作することにより、リセットを行うか否かをユーザより受け付ける。
【００７８】
なお、変形例では、ＯＳ２は安定して動作するため、ＯＳ１についてのみリセットをスイッチ５１ａにより受け付けることとしている。
【００７９】
開始ボタン６２は、押下可能な押し込み部材を備え、ユーザによる押下を受け付ける。押下があると、開始ボタン６２は、ＯＳ指定部６１に示されるユーザの指定に従ってハードウェア割り込みを開始させるための信号を出力する。
【００８０】
リセット／稼働状態表示部６９は、ＬＥＤを備え、ＯＳ１についてリセットが実行されていること、またはＯＳ１がＯＳ稼働異常となっていることをＬＥＤ発光により示す。
【００８１】
以上のように実施の形態について説明してきた。本発明は、上記実施の形態を組み合わせたものとしてもよい。
【００８２】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【００８３】
この発明は、ＶＭＭにより複数のＯＳを仮想的に並列に実行する情報処理装置において用いることができる。
【符号の説明】
【００８４】
１０  マルチコア、１１  第１のコア、１２  第２のコア、３０  ハードディスクドライブ、５０  Ｉ／Ｏ部、５１  スイッチ、５２  Ｉ／Ｏデバイス、６１  ＯＳ指定部、６２  開始ボタン、６３  ＬＥＤ表示部、６５  操作軸、６６  トグルスイッチ、６７  ＯＳ１稼働状態表示部、６８  ＯＳ２稼働状態表示部、６９  リセット／稼働状態表示部、７０  メモリ、７１  第１のＯＳ、７２  第２のＯＳ、７３  ＶＭＭ、７４  再起動実行アプリ、７５  アプリ、７６  報知アプリ、７７  設定ファイル、７８  仮想ネットワーク、１００  ＰＣ、１２０  メニュー画面、２００  外部機器、３００  外部機器。
【図１】
0005982903.tif 000002
【図２】
0005982903.tif 000003
【図３】
0005982903.tif 000004
【図４】
0005982903.tif 000005
【図５】
0005982903.tif 000006
【図６】
0005982903.tif 000007
【図７】
0005982903.tif 000008
【図８】
0005982903.tif 000009
【図９】
0005982903.tif 000010
【図１０】
0005982903.tif 000011