JP2012181737A - 計算機システム - Google Patents
計算機システム Download PDFInfo
- Publication number
- JP2012181737A JP2012181737A JP2011045020A JP2011045020A JP2012181737A JP 2012181737 A JP2012181737 A JP 2012181737A JP 2011045020 A JP2011045020 A JP 2011045020A JP 2011045020 A JP2011045020 A JP 2011045020A JP 2012181737 A JP2012181737 A JP 2012181737A
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- test
- execution
- test execution
- snapshot
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】メインCPU上で動作するOS及びアプリケーションの試験を安定に間違いなく行うことができるようにすることを目的とする。
【解決手段】メインCPU2には、第1及び第2のOS10,11を管理し第1のOS10をメインCPU2上、第2のOS11をサブCPU3上で動作させ、第1及び第2のOS10,11間の通信を行うマルチOS管理処理部9、第1のOS10及びアプリケーション12の試験実行をする試験実行処理部13が設けられ、サブCPU3には、第2のOS11上で動作し、第1のOS10の、管理内容、メインCPU2に対するレジスタ情報及び管理するデバイスの情報についてのスナップショットを保存するスナップショット保存処理部、スナップショットを復元するスナップショット復元処理部、試験実行処理部13に対して試験実行を指示する試験実行指示処理部16を備える構成とする。
【選択図】図1
【解決手段】メインCPU2には、第1及び第2のOS10,11を管理し第1のOS10をメインCPU2上、第2のOS11をサブCPU3上で動作させ、第1及び第2のOS10,11間の通信を行うマルチOS管理処理部9、第1のOS10及びアプリケーション12の試験実行をする試験実行処理部13が設けられ、サブCPU3には、第2のOS11上で動作し、第1のOS10の、管理内容、メインCPU2に対するレジスタ情報及び管理するデバイスの情報についてのスナップショットを保存するスナップショット保存処理部、スナップショットを復元するスナップショット復元処理部、試験実行処理部13に対して試験実行を指示する試験実行指示処理部16を備える構成とする。
【選択図】図1
Description
この発明は、CPU上のOS及びアプリケーションの試験に対して、過去に実施した試験の影響を受けず、安定した間違いのない試験ができるようにした計算機システムに関するものである。
従来の計算機システムでは、OSの試験は、プログラムで連続的に実行した場合、OSの管理する資源の状態や、先に実行された試験の影響により、試験結果が同一にならないことがあるため、試験開始状態を安定化するために、システムの再起動から実施するなど試験効率が悪いという問題があった。
一方、例えば、特許文献1に示されるプログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体では、OSシミュレータ上で試験対象プログラムを動作させ、プログラムのコンテキストとOSシミュレータのコンテキストを保存、復元し試験を実行することで前の試験の影響を受けないようにしている。
上記特許文献1では、OS上で動作するプログラムのみを対象としており、OS自体の試験は考慮されておらず、また、OSシミュレータを容易に作成することができないなどの問題があった。
この発明は上記のような問題を解決するためになされたものであり、CPU上で動作するOS及びアプリケーションの試験が過去に行った試験に影響されず、安定した間違いなのない試験ができるようにした計算機システムを得ることを目的とする。
この発明に係る計算機システムは、第1のOSが動作するメインCPU及び第2のOSが動作するサブCPUを備えたマルチコアCPUモジュールと記憶装置とが搭載され、上記第1のOSでアプリケーションソフトウェアが動作する計算機システムであって、
上記メインCPUは、上記第1のOS及び第2のOSを管理し上記第1のOSを上記メインCPU上で動作させ、上記第2のOSを上記サブCPU上で動作させるとともに、上記第1のOSと上記第2のOSとの間の通信を行うマルチOS管理処理部と、上記第1のOS及びアプリケーションソフトウェアの試験実行をする試験実行処理部とを備え、
上記サブCPUは、上記第2のOS上で動作し、上記マルチOS管理処理部を介して上記試験実行処理部に試験実行を指示する試験実行指示処理部と、上記第1のOSが管理する内容、上記メインCPU上の上記第1のOSレジスタ情報及び上記第1のOSによって管理されるデバイスの情報についてのスナップショットを収集し、上記記憶装置に保存するスナップショット保存処理部と、上記記憶装置に保存したスナップショットを上記記憶装置の所定の位置に復元するスナップショット復元処理部とを備え、
上記試験実行指示処理部は、1つの試験実行に先だって、上記マルチOS管理処理部に指示して、上記第1のOSを停止し、上記スナップショット保存処理部により上記スナップショットを収集保存し、上記第1のOSを再起動させ、上記再起動の後、上記試験実行処理部に上記1つの試験実行を行わせ、上記1つの試験実行の完了後、上記第1のOSの動作を上記マルチOS管理処理部を介して停止し、上記記憶装置に保存されたスナップショットを上記スナップショット復元処理部により上記記憶装置の所定位置に復元処理し、上記復元処理の後、上記第1のOSを上記マルチOS管理処理部を介して再起動させ、該再起動の後、上記試験実行処理部に次の試験実行を行わせるものである。
上記メインCPUは、上記第1のOS及び第2のOSを管理し上記第1のOSを上記メインCPU上で動作させ、上記第2のOSを上記サブCPU上で動作させるとともに、上記第1のOSと上記第2のOSとの間の通信を行うマルチOS管理処理部と、上記第1のOS及びアプリケーションソフトウェアの試験実行をする試験実行処理部とを備え、
上記サブCPUは、上記第2のOS上で動作し、上記マルチOS管理処理部を介して上記試験実行処理部に試験実行を指示する試験実行指示処理部と、上記第1のOSが管理する内容、上記メインCPU上の上記第1のOSレジスタ情報及び上記第1のOSによって管理されるデバイスの情報についてのスナップショットを収集し、上記記憶装置に保存するスナップショット保存処理部と、上記記憶装置に保存したスナップショットを上記記憶装置の所定の位置に復元するスナップショット復元処理部とを備え、
上記試験実行指示処理部は、1つの試験実行に先だって、上記マルチOS管理処理部に指示して、上記第1のOSを停止し、上記スナップショット保存処理部により上記スナップショットを収集保存し、上記第1のOSを再起動させ、上記再起動の後、上記試験実行処理部に上記1つの試験実行を行わせ、上記1つの試験実行の完了後、上記第1のOSの動作を上記マルチOS管理処理部を介して停止し、上記記憶装置に保存されたスナップショットを上記スナップショット復元処理部により上記記憶装置の所定位置に復元処理し、上記復元処理の後、上記第1のOSを上記マルチOS管理処理部を介して再起動させ、該再起動の後、上記試験実行処理部に次の試験実行を行わせるものである。
この発明に係る計算機システムによれば、第1のOSが動作するメインCPU及び第2のOSが動作するサブCPUを備えたマルチコアCPUモジュールと記憶装置とが搭載され、上記第1のOSでアプリケーションソフトウェアが動作する計算機システムであって、
上記メインCPUは、上記第1のOS及び第2のOSを管理し上記第1のOSを上記メインCPU上で動作させ、上記第2のOSを上記サブCPU上で動作させるとともに、上記第1のOSと上記第2のOSとの間の通信を行うマルチOS管理処理部と、上記第1のOS及びアプリケーションソフトウェアの試験実行をする試験実行処理部とを備え、
上記サブCPUは、上記第2のOS上で動作し、上記マルチOS管理処理部を介して上記試験実行処理部に試験実行を指示する試験実行指示処理部と、上記第1のOSが管理する内容、上記メインCPU上の上記第1のOSレジスタ情報及び上記第1のOSによって管理されるデバイスの情報についてのスナップショットを収集し、上記記憶装置に保存するスナップショット保存処理部と、上記記憶装置に保存したスナップショットを上記記憶装置の所定の位置に復元するスナップショット復元処理部とを備え、
上記試験実行指示処理部は、1つの試験実行に先だって、上記マルチOS管理処理部に指示して、上記第1のOSを停止し、上記スナップショット保存処理部により上記スナップショットを収集保存し、上記第1のOSを再起動させ、上記再起動の後、上記試験実行処理部に上記1つの試験実行を行わせ、上記1つの試験実行の完了後、上記第1のOSの動作を上記マルチOS管理処理部を介して停止し、上記記憶装置に保存されたスナップショットを上記スナップショット復元処理部により上記記憶装置の所定位置に復元処理し、上記復元処理の後、上記第1のOSを上記マルチOS管理処理部を介して再起動させ、該再起動の後、上記試験実行処理部に次の試験実行を行わせるものであるので、過去の試験に影響されず、常に一定の条件で安定した間違いのない試験を行うことができる。
上記メインCPUは、上記第1のOS及び第2のOSを管理し上記第1のOSを上記メインCPU上で動作させ、上記第2のOSを上記サブCPU上で動作させるとともに、上記第1のOSと上記第2のOSとの間の通信を行うマルチOS管理処理部と、上記第1のOS及びアプリケーションソフトウェアの試験実行をする試験実行処理部とを備え、
上記サブCPUは、上記第2のOS上で動作し、上記マルチOS管理処理部を介して上記試験実行処理部に試験実行を指示する試験実行指示処理部と、上記第1のOSが管理する内容、上記メインCPU上の上記第1のOSレジスタ情報及び上記第1のOSによって管理されるデバイスの情報についてのスナップショットを収集し、上記記憶装置に保存するスナップショット保存処理部と、上記記憶装置に保存したスナップショットを上記記憶装置の所定の位置に復元するスナップショット復元処理部とを備え、
上記試験実行指示処理部は、1つの試験実行に先だって、上記マルチOS管理処理部に指示して、上記第1のOSを停止し、上記スナップショット保存処理部により上記スナップショットを収集保存し、上記第1のOSを再起動させ、上記再起動の後、上記試験実行処理部に上記1つの試験実行を行わせ、上記1つの試験実行の完了後、上記第1のOSの動作を上記マルチOS管理処理部を介して停止し、上記記憶装置に保存されたスナップショットを上記スナップショット復元処理部により上記記憶装置の所定位置に復元処理し、上記復元処理の後、上記第1のOSを上記マルチOS管理処理部を介して再起動させ、該再起動の後、上記試験実行処理部に次の試験実行を行わせるものであるので、過去の試験に影響されず、常に一定の条件で安定した間違いのない試験を行うことができる。
以下、この発明の実施の形態を図に基づいて説明する。
実施の形態1.
図1は、この発明に係る計算機システムの実施の形態1を示すブロック図である。
図1において、計算機システム1は、ワークステーション、パーソナルコンピュータ、あるいはその他の計算機からなるものである。計算機システム1は、第1のOS10が動作するメインCPU2及び第2のOS11が動作するサブCPU3を有するマルチコアCPUモジュール4、メモリ制御を行うメモリ制御部と割り込み制御を行う割り込み制御部とシステムバス制御を行うシステムバス制御部とを持つシステムバスブリッジ6、システムバスブリッジ6を介してマルチコアCPUモジュール4に接続された主記憶部であるメモリ5、複数の周辺装置インタフェース8、周辺装置インタフェース8に接続された外部記憶装置17、周辺装置インタフェース8とシステムバスブリッジ6とを接続するシステムバス7を備えている。
なお、図1では、マルチコアCPUモジュール4のメインCPU2及びサブCPU3とメモリ5の接続に、システムバスブリッジ6を用いているが、計算機システムの構成はこの構成にかぎられない。例えば、メインCPU2及びサブCPU3がシステムバスブリッジ6に相当する機能を備えている場合には、システムバスブリッジ6は不要である。
実施の形態1.
図1は、この発明に係る計算機システムの実施の形態1を示すブロック図である。
図1において、計算機システム1は、ワークステーション、パーソナルコンピュータ、あるいはその他の計算機からなるものである。計算機システム1は、第1のOS10が動作するメインCPU2及び第2のOS11が動作するサブCPU3を有するマルチコアCPUモジュール4、メモリ制御を行うメモリ制御部と割り込み制御を行う割り込み制御部とシステムバス制御を行うシステムバス制御部とを持つシステムバスブリッジ6、システムバスブリッジ6を介してマルチコアCPUモジュール4に接続された主記憶部であるメモリ5、複数の周辺装置インタフェース8、周辺装置インタフェース8に接続された外部記憶装置17、周辺装置インタフェース8とシステムバスブリッジ6とを接続するシステムバス7を備えている。
なお、図1では、マルチコアCPUモジュール4のメインCPU2及びサブCPU3とメモリ5の接続に、システムバスブリッジ6を用いているが、計算機システムの構成はこの構成にかぎられない。例えば、メインCPU2及びサブCPU3がシステムバスブリッジ6に相当する機能を備えている場合には、システムバスブリッジ6は不要である。
メインCPU2は、アプリケーション12と、アプリケーション12が動作する第1のOS10、メインCPU2の第1のOS10とサブCPU3の第2のOS11との通信を行うとともに第1のOS10及び第2のOS11をそれぞれ独立に動作させるマルチOS管理処理部(ハイパーバイザ)9と、第1のOS10及びアプリケーション12の試験を実行する試験実行処理部13とを備えている。
また、サブCPU3は、第2のOS11と、第2のOS11上で動作し、マルチOS管理処理部9を介して第1のOS10の動作を管理するとともに試験実行処理部13に試験実行を指示する試験実行指示処理部16と、第1のOS10が管理する内容、メインCPU2のレジスタ情報及び第1のOS10が管理するデバイスの情報についてのスナップショットを収集しメモリ5あるいは外部記憶装置17といった記憶装置に保存するスナップショット保存処理部14と、保存されたスナップショットをメモリ5あるいは外部記憶装置17といった記憶装置上の所定の位置へ復元するスナップショット復元処理部15とを備えている。
次に、本来のアプリケーション12の動作処理中に第1のOS10に係る1つの試験を実行する場合の動作について説明する。
例えば、外部記憶装置17にあるOSのブートローダはメインCPU2上で動作し、第1のOS10、第2のOS11及びマルチOS管理処理部9が、メモリ5または外部記憶装置17といった記憶装置にロードされ、第1のOS10が起動される。このとき、メモリ5または外部記憶装置17といった記憶装置に対するロードは、第1のOS10、第2のOS11及びマルチOS管理処理部9に対してロードの配置及び範囲を決めて割り付けられる。
第1のOS10は、起動後、マルチOS管理処理部9を介して第2のOS11をサブCPU3に割り付けて、第2のOS11を起動する。
例えば、外部記憶装置17にあるOSのブートローダはメインCPU2上で動作し、第1のOS10、第2のOS11及びマルチOS管理処理部9が、メモリ5または外部記憶装置17といった記憶装置にロードされ、第1のOS10が起動される。このとき、メモリ5または外部記憶装置17といった記憶装置に対するロードは、第1のOS10、第2のOS11及びマルチOS管理処理部9に対してロードの配置及び範囲を決めて割り付けられる。
第1のOS10は、起動後、マルチOS管理処理部9を介して第2のOS11をサブCPU3に割り付けて、第2のOS11を起動する。
第2のOS11は、起動後、試験実行指示処理部16を起動する。試験実行指示処理部16は、試験員からの指示待ち状態となる。試験員は、第1のOS10上で、試験実行処理部13を起動し、試験指示待ち状態とする。試験員が、この状態でスナップショットの保存を試験実行指示処理部16に指示すると、試験実行指示処理部16は、マルチOS管理処理部9に対して、スナップショットの保存準備を指示する。この指示により、マルチOS管理処理部9は、第1のOS10に動作停止を指示し、第1のOS10の動作停止、実行中のIO処理の完了待ちを行う。マルチOS管理処理部9は、IO処理の完了後、IO停止処理を行い、第1のOS10のメインCPU2に対するレジスタ情報を退避し、試験実行指示処理部16に対してスナップショット保存準備完了通知を行う。試験実行指示処理部16は、スナップショット保存準備完了通知を受けると、スナップショット保存処理部14によって、メモリ5または外部記憶装置17上にある第1のOS10が管理する内容、第1のOS10のメインCPU2に対するレジスタ情報及び第1のOS10によって管理されるデバイスの情報についてのスナップショットが、システムバスブリッジ6を介して、または、システムバスブリッジ6及びシステムバス7を介してメモリ5または外部記憶装置17に保存される。スナップショット保存処理が完了すると、試験実行指示処理部16は、マルチOS管理処理部9に対して、第1のOS10の動作再開を指示する。マルチOS管理処理部9は、第1のOS10のメインCPU2に対する退避していたレジスタ情報を元へ戻し、第1のOS10を再起動し、IO処理を再開する。試験員は、試験実行指示処理部16からマルチOS管理処理部9を介して試験実行処理部13に対して上記1つの試験実行を指示する。
上記1つの試験実行が完了した後、試験実行指示処理部16は、マルチOS管理処理部9に対して、スナップショット復元準備を指示する。この指示により、マルチOS管理処理部9は、第1のOS10に動作停止を指示する。第1のOS10は、実行中のIO処理の完了待ち及び停止処理を行い、マルチOS管理処理部9に対して割り込みによってIO処理の完了及び停止の通知を行う。マルチOS管理処理部9は、試験実行指示処理部16に対してスナップショット復元準備完了を通知する。試験実行指示処理部16は、スナップショット復元準備完了通知を受けると、スナップショット復元処理部15により、メモリ5または外部記憶装置17に保存されたスナップショットをメモリ5または外部記憶装置17上の所定の位置へ復元する。スナップショット復元処理が完了すると、試験実行指示処理部16は、マルチOS管理処理部9に対して、第1のOS10の動作再開を指示する。マルチOS管理処理部9は、第1のOS10のメインCPU2に対する退避していたレジスタ情報を元へ戻し、第1のOS10を再起動し、IO処理を再開する。試験員は、試験実行指示処理部16からマルチOS管理処理部9を介して試験実行処理部13に対して次の試験実行を指示する。
この実施の形態1によれば、1つの試験実行に際して、第1のOS10が管理する内容、メインCPU2のレジスタ情報及び第1のOS10が管理するデバイスの情報についてのスナップショットを保存し、試験実行完了後、試験実行に先立って保存したスナップショットをメモリ5または外部記憶装置17といった記憶装置上の所定の位置へ復元するようにしたので、過去の試験に影響されず、常に一定の条件で安定した間違いのない試験を行うことができる。
実施の形態2.
図2は、この発明に係る計算機システムの実施の形態2を示すブロック図である。
上記実施の形態1では、試験員の指示により、サブCPU3上で試験実行指示、スナップショットの保存及び復元を行い、メインCPU2上で動作する第1のOS10及びアプリケーション12の試験を、常に一定の条件で安定した間違いのないものとすることができる計算機システム1について説明した。
図2は、この発明に係る計算機システムの実施の形態2を示すブロック図である。
上記実施の形態1では、試験員の指示により、サブCPU3上で試験実行指示、スナップショットの保存及び復元を行い、メインCPU2上で動作する第1のOS10及びアプリケーション12の試験を、常に一定の条件で安定した間違いのないものとすることができる計算機システム1について説明した。
この実施の形態2では、図2に示したように、試験実行指示処理部16に試験実行の手順があらかじめ記述された実行シナリオ18aを登録する実行シナリオ登録部18を設け、実行シナリオ18aを実行するようにして、試験実行を自動化し、試験効率を高めるようにしたものである。
図2に示された計算機システム1において、試験員は、例えば、上記実施の形態1において試験員が指示した試験実行の手順を含む実行シナリオ18aを実行シナリオ登録部18に登録しておく。試験実行指示処理部16は、実行シナリオ18aの手順に従って、マルチOS管理処理部9を介して試験実行処理部13に対して試験実行を指示する。
この実施の形態2によれば、試験員が試験実行の手順を含む実行シナリオ18aをあらかじめ実行シナリオ登録部18に登録しておくことによって、試験実行時に試験員が手作業で行っていた試験実行が自動的に実行シナリオ18aにしたがって実行されるので、試験効率が高くなる。
実施の形態3.
図3は、この発明に係る計算機システムの実施の形態3を示すブロック図である。
上記実施の形態2では、試験実行指示処理部16に試験実行指示があらかじめ記述された実行シナリオ18aを登録する実行シナリオ登録部18を設け、実行シナリオ18aの実行を指示することにより、試験を自動化し、試験効率を高めるようにした。
図3は、この発明に係る計算機システムの実施の形態3を示すブロック図である。
上記実施の形態2では、試験実行指示処理部16に試験実行指示があらかじめ記述された実行シナリオ18aを登録する実行シナリオ登録部18を設け、実行シナリオ18aの実行を指示することにより、試験を自動化し、試験効率を高めるようにした。
この実施の形態3では、図3に示したように、試験実行処理部13に試験実行結果通知処理部19を設け、試験実行指示処理部16に試験実行結果受信処理部20を設け、実行シナリオ登録部18の実行シナリオ18aには複数の試験項目が記載され、各試験項目の試験結果を要求する試験実行結果判定処理部21が設けられ、さらに、試験結果に応じて次に選択可能な試験項目が記載されている。
次に、図3を用いて、この実施の形態3の動作について説明する。
図3に示された計算機システム1において、試験実行処理部13は、試験実行結果としてOKまたはNGの判定結果を試験実行結果通知処理部19により、マルチOS管理処理部9を介して、試験実行指示処理部16の試験実行結果受信処理部20に通知する。試験実行結果受信処理部20は、試験項目の試験結果を随時メモリ5上の、OKあるいはNGを表す変数格納部に格納する。実行シナリオ18aに設けられた試験実行結果判定処理部21による試験結果を要求に対して、各試験実行指示処理部16は、実行シナリオ登録部18に登録された実行シナリオ18aに従って、各試験項目に対する試験結果が格納されたメモリ5上の変数格納部に格納された変数を参照し、OKまたはNGそれぞれに応じて次に選択可能な試験項目の試験実行を選択することで、試験実行の指示動作を制御する。
図3に示された計算機システム1において、試験実行処理部13は、試験実行結果としてOKまたはNGの判定結果を試験実行結果通知処理部19により、マルチOS管理処理部9を介して、試験実行指示処理部16の試験実行結果受信処理部20に通知する。試験実行結果受信処理部20は、試験項目の試験結果を随時メモリ5上の、OKあるいはNGを表す変数格納部に格納する。実行シナリオ18aに設けられた試験実行結果判定処理部21による試験結果を要求に対して、各試験実行指示処理部16は、実行シナリオ登録部18に登録された実行シナリオ18aに従って、各試験項目に対する試験結果が格納されたメモリ5上の変数格納部に格納された変数を参照し、OKまたはNGそれぞれに応じて次に選択可能な試験項目の試験実行を選択することで、試験実行の指示動作を制御する。
この実施の形態3によれば、試験実行の途中の各試験項目の試験結果に応じて試験項目を選択的に決定して実行シナリオ18aを実行することができ、試験効率をより高めることができる。
実施の形態4.
図4は、この発明に係る計算機システムの実施の形態4を示すブロック図である。
上記実施の形態3では、サブCPU3上で、試験実行の途中の各試験項目の試験結果を参照することで、試験結果に応じて試験項目を選択的に決定して実行シナリオ18aを実行することにより、試験効率を高めることができた。
図4は、この発明に係る計算機システムの実施の形態4を示すブロック図である。
上記実施の形態3では、サブCPU3上で、試験実行の途中の各試験項目の試験結果を参照することで、試験結果に応じて試験項目を選択的に決定して実行シナリオ18aを実行することにより、試験効率を高めることができた。
この実施の形態4では、図4に示したように、実行シナリオ18aに第1のOS10が管理する内容または第1のOS10のメインCPU2上でのレジスタを、種々の設定内容に変更する設定変更内容が記載された第1のOS資源設定処理部22を設け試験実行処理部13によって試験実行を行い、設定変更内容により第1のOS10に異常が発生するかどうかをチェックすることができる。
次に、図4を用いて、この実施の形態4の動作について説明する。
図4に示された計算機システムでは、上記実施の形態1及び実施の形態2に記載された試験実行を中断し、マルチOS管理処理部9が、メモリ5または外部記憶装置17上の第1のOS10が管理する内容、アドレス情報及びデバイス情報を参照して、第1のOS資源設定処理部22から設定変更内容を取得し、第1のOS10の管理する内容及びメインCPU2上でのレジスタを第1のOS資源設定処理部22から取得した設定変更内容に設定して、上記設定変更内容を反映した試験実行を行う。この試験実行の後、中断していた試験実行を再開する。
設定のタイミングは、実行シナリオ18aの手順によって決定される。その他の動作は、上記実施の形態1〜3と同じである。
図4に示された計算機システムでは、上記実施の形態1及び実施の形態2に記載された試験実行を中断し、マルチOS管理処理部9が、メモリ5または外部記憶装置17上の第1のOS10が管理する内容、アドレス情報及びデバイス情報を参照して、第1のOS資源設定処理部22から設定変更内容を取得し、第1のOS10の管理する内容及びメインCPU2上でのレジスタを第1のOS資源設定処理部22から取得した設定変更内容に設定して、上記設定変更内容を反映した試験実行を行う。この試験実行の後、中断していた試験実行を再開する。
設定のタイミングは、実行シナリオ18aの手順によって決定される。その他の動作は、上記実施の形態1〜3と同じである。
この実施の形態4によれば、設定変更内容が記載された第1のOS資源設定処理部22を設け試験実行処理部13によって試験実行を行うことにより、設定変更内容により第1のOS10に異常が発生するかどうかをチェックすることができる。
実施の形態5.
図5は、この発明に係る計算機システムの実施の形態5を示すブロック図である。
上記実施の形態4では、設定変更内容が記載された第1のOS資源設定処理部22を設け試験実行処理部13によって試験実行を行うことにより、設定変更内容により第1のOS10に異常が発生するかどうかをチェックすることができた。
図5は、この発明に係る計算機システムの実施の形態5を示すブロック図である。
上記実施の形態4では、設定変更内容が記載された第1のOS資源設定処理部22を設け試験実行処理部13によって試験実行を行うことにより、設定変更内容により第1のOS10に異常が発生するかどうかをチェックすることができた。
この実施の形態5では、図5に示したように、マルチOS管理処理部9に、ハードウェア故障を模擬する模擬故障発生処理部24を設け、実行シナリオ18aに、擬似的なハードウェア故障の発生を指示する模擬故障設定処理部23を設ける。
次に、図5を用いて、この実施の形態5の動作について説明する。この実施の形態5は上記実施の形態1及び実施の形態2に記載された試験実行の途中において実行する試験に関するものである。
図5に示された計算機システム1では、第1のOS10によるメインCPU2のレジスタへのアクセスで、故障模擬発生処理部24が起動されるように設定する。模擬故障設定処理部23にはメインCPU2に擬似的なハードウェア故障の故障割り込みを発生させるように故障模擬発生処理部24に対して指示する記載がなされており、故障模擬発生処理部24は、第1のOS10に故障割り込みを発生させる。第1のOS10は、故障割り込みの種別に応じて、メインCPU2及びシステムバスブリッジ6のレジスタを参照しようとする。模擬故障設定処理部23は、実行シナリオ18aに記載されたハードウェアのレジスタ値を第1のOS10に送るよう故障模擬発生処理部24に指示する。故障模擬発生処理部24は、第1のOS10のメインCPU2に対する参照に対して、第1のOS10に送るよう指示されたレジスタ値を第1のOS10に送る。第1のOS10は、送られたハードウェアのレジスタ値を基に、ハードウェア故障要因を解析し特定する。必要に応じて、このレジスタ参照動作を繰り返してハードウェア故障発生時の動作を模擬することによって、ハードウェアの故障時における第1のOS10及びアプリケーション12の動作を試験する。この動作試験の後は、中断した試験実行を再開する。第1のOS10及びアプリケーション12が正常に動作しない場合には、正常に動作しない原因を究明し、第1のOS10及びアプリケーション12の修正を行うことに役立つ。試験により第1のOS10が停止した場合も、サブCPU3で動作する第2のOS11上の試験実行指示処理部16は動作を継続しているため、スナップショット復元処理部15によって第1のOS10のスナップショットを復元することで、試験の継続が可能となる。その他の動作は、上記実施の形態2〜4と同様である。
図5に示された計算機システム1では、第1のOS10によるメインCPU2のレジスタへのアクセスで、故障模擬発生処理部24が起動されるように設定する。模擬故障設定処理部23にはメインCPU2に擬似的なハードウェア故障の故障割り込みを発生させるように故障模擬発生処理部24に対して指示する記載がなされており、故障模擬発生処理部24は、第1のOS10に故障割り込みを発生させる。第1のOS10は、故障割り込みの種別に応じて、メインCPU2及びシステムバスブリッジ6のレジスタを参照しようとする。模擬故障設定処理部23は、実行シナリオ18aに記載されたハードウェアのレジスタ値を第1のOS10に送るよう故障模擬発生処理部24に指示する。故障模擬発生処理部24は、第1のOS10のメインCPU2に対する参照に対して、第1のOS10に送るよう指示されたレジスタ値を第1のOS10に送る。第1のOS10は、送られたハードウェアのレジスタ値を基に、ハードウェア故障要因を解析し特定する。必要に応じて、このレジスタ参照動作を繰り返してハードウェア故障発生時の動作を模擬することによって、ハードウェアの故障時における第1のOS10及びアプリケーション12の動作を試験する。この動作試験の後は、中断した試験実行を再開する。第1のOS10及びアプリケーション12が正常に動作しない場合には、正常に動作しない原因を究明し、第1のOS10及びアプリケーション12の修正を行うことに役立つ。試験により第1のOS10が停止した場合も、サブCPU3で動作する第2のOS11上の試験実行指示処理部16は動作を継続しているため、スナップショット復元処理部15によって第1のOS10のスナップショットを復元することで、試験の継続が可能となる。その他の動作は、上記実施の形態2〜4と同様である。
この実施の形態5によれば、マルチOS管理処理部9に、ハードウェア故障を模擬する模擬故障発生処理部24を備え、実行シナリオ18aに、模擬故障発生処理部24に対して第1のOS10に故障割り込みの発生を指示する模擬故障設定処理部23を備え、模擬故障発生処理部24は模擬故障設定処理部23の指示に従って実行シナリオ18aに記載されたレジスタ値を第1のOS10に送る動作を必要に応じて繰り返すことによって、ハードウェア故障を模擬した第1のOS10及びアプリケーションソフトウェア12の動作試験ができる。
この発明に係る計算機システムは、OS及びアプリケーションソフトウェアの試験を性格、かつ、確実に実行できる計算機として有効に活用できる。
1 計算機システム、2 メインCPU、3 サブCPU、
4 マルチコアCPUモジュール、5 メモリ、6 システムバスブリッジ、
7 システムバス、8 周辺装置インターフェース、
9 マルチOS管理処理部(ハイパーバイザ)、10 第1のOS、11 第2のOS、12 アプリケーションソフト、13 試験実行処理部、
14 スナップショット保存処理部、15 スナップショット復元処理部、
16 試験実行指示処理部、17 外部記憶装置、18 シナリオ登録部、
18a 実行シナリオ、19 試験実行結果通知処理部、
20 試験実行結果受信処理部、21 試験実行結果判定処理、
22 第1のOS資源設定処理、23 模擬故障設定処理、24 模擬故障発生処理部。
4 マルチコアCPUモジュール、5 メモリ、6 システムバスブリッジ、
7 システムバス、8 周辺装置インターフェース、
9 マルチOS管理処理部(ハイパーバイザ)、10 第1のOS、11 第2のOS、12 アプリケーションソフト、13 試験実行処理部、
14 スナップショット保存処理部、15 スナップショット復元処理部、
16 試験実行指示処理部、17 外部記憶装置、18 シナリオ登録部、
18a 実行シナリオ、19 試験実行結果通知処理部、
20 試験実行結果受信処理部、21 試験実行結果判定処理、
22 第1のOS資源設定処理、23 模擬故障設定処理、24 模擬故障発生処理部。
Claims (5)
- 第1のOSが動作するメインCPU及び第2のOSが動作するサブCPUを備えたマルチコアCPUモジュールと記憶装置とが搭載され、上記第1のOSでアプリケーションソフトウェアが動作する計算機システムであって、
上記メインCPUは、上記第1のOS及び第2のOSを管理し上記第1のOSを上記メインCPU上で動作させ、上記第2のOSを上記サブCPU上で動作させるとともに、上記第1のOSと上記第2のOSとの間の通信を行うマルチOS管理処理部と、上記第1のOS及びアプリケーションソフトウェアの試験実行をする試験実行処理部とを備え、
上記サブCPUは、上記第2のOS上で動作し、上記マルチOS管理処理部を介して上記試験実行処理部に試験実行を指示する試験実行指示処理部と、上記第1のOSが管理する内容、上記メインCPU上の上記第1のOSレジスタ情報及び上記第1のOSによって管理されるデバイスの情報についてのスナップショットを収集し、上記記憶装置に保存するスナップショット保存処理部と、上記記憶装置に保存したスナップショットを上記記憶装置の所定の位置に復元するスナップショット復元処理部とを備え、
上記試験実行指示処理部は、1つの試験実行に先だって、上記マルチOS管理処理部に指示して、上記第1のOSを停止し、上記スナップショット保存処理部により上記スナップショットを収集保存し、上記第1のOSを再起動させ、上記再起動の後、上記試験実行処理部に上記1つの試験実行を行わせ、上記1つの試験実行の完了後、上記第1のOSの動作を上記マルチOS管理処理部を介して停止し、上記記憶装置に保存されたスナップショットを上記スナップショット復元処理部により上記記憶装置の所定位置に復元処理し、上記復元処理の後、上記第1のOSを上記マルチOS管理処理部を介して再起動させ、該再起動の後、上記試験実行処理部に次の試験実行を行わせることを特徴とする計算機システム。 - 上記第2のOS上で動作する上記試験実行指示処理部は、上記試験実行の手順を記述した実行ナリオを登録する実行シナリオ登録部を有し、上記試験実行指示処理部は上記実行ナリオに従って、上記スナップショットの保存、復元及び試験実行の指示を行うことを特徴とする請求項1に記載の計算機システム。
- 上記実行シナリオには複数の試験項目と各試験項目の試験結果に応じて次に選択可能な試験項目が記載されており、上記試験実行処理部は、上記複数の試験項目の試験結果を随時、上記試験実行指示処理部に通知する試験実行結果通知処理部を備え、上記試験実行指示処理部は上記試験実行結果通知処理部から通知される試験結果を受ける試験実行結果受信処理部を備え、上記実行シナリオに上記各試験項目の試験結果を要求する試験実行結果判定処理部を設け、上記試験実行結果受信処理部は取得した上記試験結果を随時上記記憶装置に保存し、上記試験実行指示処理部は、上記試験実行結果判定処理部の試験結果の要求に従い、上記記憶装置に保存された上記試験結果を参照して上記実行シナリオに記載された上記試験結果に応じて次に選択可能な試験項目を選択することを特徴とする請求項2に記載の計算機システム。
- 上記実行シナリオに上記第1のOSの管理内容、上記第1のOSの上記メインCPUに対するレジスタ情報及び上記第1のOSで管理されるデバイスの情報を種々の内容及び値に設定する設定変更内容を記述した第1のOS資源設定処理部を設け、上記1つの試験実行を中断し、上記マルチOS管理処理部が、上記記憶装置上にある上記第1のOSが管理するアドレス情報を参照して上記設定変更内容を上記第1のOS資源設定処理部から取得し、上記記憶装置上にある第1のOSのメインCPU上でのレジスタを上記第1のOS資源設定処理部から取得した上記設定変更内容に設定して試験を指示し、該試験が終了した後は上記1つの試験実行を再開することを特徴とする請求項2または請求項3に記載の計算機システム。
- 上記マルチOS管理処理部に、ハードウェアの故障を模擬する模擬故障発生処理部を備え、上記実行シナリオに、上記模擬故障発生処理部に対して、上記第1のOSに故障割り込みの発生を指示する模擬故障設定処理部を備え、上記実行シナリオには上記ハードウェアのレジスタ値が記載され、上記模擬故障発生処理部は、上記1つの試験実行を中断し、上記模擬故障設定処理部の指示に従って上記第1のOSに故障割り込みを発生させ、上記実行シナリオに記載されたハードウェアのレジスタ値を上記第1のOSに送ることによって上記ハードウェアの故障時における第1のOS及びアプリケーションソフトウェアの動作を試験し、該試験が終了した後は上記1つの試験実行を再開することを特徴とする請求項2〜請求項4のいずれか1項に記載の計算機システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011045020A JP2012181737A (ja) | 2011-03-02 | 2011-03-02 | 計算機システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011045020A JP2012181737A (ja) | 2011-03-02 | 2011-03-02 | 計算機システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012181737A true JP2012181737A (ja) | 2012-09-20 |
Family
ID=47012871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011045020A Withdrawn JP2012181737A (ja) | 2011-03-02 | 2011-03-02 | 計算機システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012181737A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015046081A (ja) * | 2013-08-29 | 2015-03-12 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像処理装置 |
| JP2015130170A (ja) * | 2014-01-06 | 2015-07-16 | 富士通株式会社 | ハードウェア故障を実行アプリケーションに注入する方法を可能にする方法及びコンピューティングシステム |
| US10268621B2 (en) | 2014-10-16 | 2019-04-23 | Samsung Electronics Co., Ltd. | Application processor and semiconductor system including the same |
-
2011
- 2011-03-02 JP JP2011045020A patent/JP2012181737A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015046081A (ja) * | 2013-08-29 | 2015-03-12 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像処理装置 |
| JP2015130170A (ja) * | 2014-01-06 | 2015-07-16 | 富士通株式会社 | ハードウェア故障を実行アプリケーションに注入する方法を可能にする方法及びコンピューティングシステム |
| US10268621B2 (en) | 2014-10-16 | 2019-04-23 | Samsung Electronics Co., Ltd. | Application processor and semiconductor system including the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Banzai et al. | D-cloud: Design of a software testing environment for reliable distributed systems using cloud computing technology | |
| US8776028B1 (en) | Virtual execution environment for software delivery and feedback | |
| CN105683919B (zh) | 用于安全关键软件应用的多核处理器故障检测 | |
| US9183093B2 (en) | Virtual machine crash management | |
| US9720808B2 (en) | Offline debugging using a replicated operating environment | |
| CN102354298A (zh) | 基于staf的高端容错机故障注入自动化测试平台及方法 | |
| CN104737134A (zh) | 用于操作系统无关的硬件验证的系统和方法 | |
| US12493519B2 (en) | Hardware memory error tolerant software system | |
| US12164395B2 (en) | Uncorrectable memory error recovery for virtual machine hosts | |
| CN106155883A (zh) | 一种虚拟机可靠性测试方法及装置 | |
| US20200034284A1 (en) | Automatic bug reproduction using replication and cpu lockstep | |
| CN119396619B (zh) | 数据处理方法和装置、存储介质及电子设备 | |
| US20160259578A1 (en) | Apparatus and method for detecting performance deterioration in a virtualization system | |
| Cerveira et al. | Recovery for virtualized environments | |
| JP2012181737A (ja) | 計算機システム | |
| CN116627702A (zh) | 虚拟机的宕机重启方法及装置 | |
| Le et al. | Applying microreboot to system software | |
| JP5452336B2 (ja) | 周辺機器障害模擬システム、周辺機器障害模擬方法および周辺機器障害模擬プログラム | |
| CN119132380A (zh) | 中断源的处理方法及装置、存储介质、电子设备 | |
| Graça et al. | Fault injection acceleration using failure models on a virtualized fault-tolerant system | |
| JP7762475B2 (ja) | クラッシュしたアプリケーションを修復するためのコンピュータ実装方法、コンピュータプログラム製品、およびリモートコンピュータサーバ(クラッシュしたプロセスのリモート修復) | |
| US20240061765A1 (en) | Distributed debugging environment for a continuous integration pipeline | |
| Cunha et al. | Assessing containerized rest services performance in the presence of operator faults | |
| CN117389799A (zh) | 虚拟机备份方法及装置、存储介质及电子设备 | |
| Jann et al. | An os-hypervisor infrastructure for automated os crash diagnosis and recovery in a virtualized environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |