(57)【特許請求の範囲】
【請求項１】
第１ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、第２ＯＳとが動作するＯＳ動作装置において、
第１ＯＳに割り付けられた記憶装置である第１ＯＳ用記憶装置と、
第１ＯＳと、第２ＯＳとの両方に割り付けられた共有メモリ領域を有する共有メモリ部と、
第１ＯＳのもとで動作する、第１側ダンプファイル保存部及び第１側ダンプファイル復元部と、
第２ＯＳのもとで動作する、第２側制御データ保存部及び第２側制御データ復元部と
を備え、
前記第２側制御データ保存部は、
第１ＯＳと第２ＯＳとの動作中に、第１ＯＳに関するソフトウェア異常として予め設定された第１ＯＳソフトウェア異常を第１ＯＳが検知すると、第２ＯＳによって実行される第２ＯＳ系アプリケーションプログラムのうち第１ＯＳソフトウェア異常の検知の際に実行中の第２ＯＳ系アプリケーションプログラムの再開用のデータであって、第１ＯＳソフトウェア異常の検知の際における第２ＯＳ系アプリケーションプログラムの状態からこの第２ＯＳ系アプリケーションプログラムの実行を再開するためのデータである第２ＯＳ制御データを、前記共有メモリ部に保存し、
前記第１側ダンプファイル保存部は、
前記第２側制御データ保存部が前記共有メモリ部に第２ＯＳ制御データを保存した場合には、保存された第２ＯＳ制御データのダンプファイルを生成し、生成されたダンプファイルを前記第１ＯＳ用記憶装置に保存し、
前記第１側ダンプファイル復元部は、
第１ＯＳが再起動した場合には前記第１ＯＳ用記憶装置に第２ＯＳ制御データのダンプファイルが存在するかどうかを確認し、存在する場合には第２ＯＳ制御データのダンプファイルを、前記共有メモリ部に復元し、
前記第２側制御データ復元部は、
前記第１側ダンプファイル復元部によって第２ＯＳ制御データのダンプファイルが前記共有メモリ部に復元されると、第１ＯＳと共に第２ＯＳが再起動している場合には復元された第２ＯＳ制御データを解析し、第１ＯＳソフトウェア異常の検知の際に動作していた第２ＯＳ系アプリケーションプログラムの実行を、第１ＯＳソフトウェア異常の検知の際における状態から、第２ＯＳに再開させる再開処理を実行することを特徴とするＯＳ動作装置。
【請求項２】
第１ＯＳ用記憶装置は、
第２ＯＳによる第２ＯＳ系アプリケーションプログラムの実行に使用するデータである基本データを格納しており、
前記ＯＳ動作装置は、さらに、
第１ＯＳのもとで動作する第１側データ入出力部であって、第１ＯＳ用記憶装置と前記共有メモリ部との間でデータを入出力する第１側データ入出力部と、
第２ＯＳのもとで動作する第２側基本データ取得部と、
第２ＯＳのもとで動作する第２側判定部であって、第１ＯＳによって第１ＯＳソフトウェア異常の発生が検知された場合に、第２ＯＳにより実行中の第２ＯＳ系アプリケーションプログラムがある場合には、第２ＯＳ系アプリケーションプログラムが正常終了したかどうかを判定する第２側判定部と
を備え、
前記第２側制御データ保存部は、
前記第２側判定部が第２ＯＳ系アプリケーションプログラムを正常終了と判定した場合には、第１ＯＳが第１ＯＳソフトウェア異常を検知した場合であっても第２ＯＳ制御データを前記共有メモリ部に保存せず、
前記第２側制御データ復元部は、
第１ＯＳと共に第２ＯＳが再起動している場合であっても、再起動前に前記第２側判定部が第２ＯＳ系アプリケーションプログラムを正常終了と判定した場合には、第２ＯＳ系アプリケーションプログラムの前記再開処理を実行せず、
前記第２側基本データ取得部は、
第１ＯＳと共に第２ＯＳが前記第２側判定部による第２ＯＳ系アプリケーションプログラムの正常終了の判定後に再起動した場合には、前記第１側データ入出力部と連携して第１ＯＳ用記憶装置の基本データを前記共有メモリ部を介して読み込み、読み込んだ基本データによって第２ＯＳに第２ＯＳ系アプリケーションプログラムを実行させることを特徴とする請求項１記載のＯＳ動作装置。
【請求項３】
前記第２側制御データ保存部は、
第１ＯＳが第１ＯＳソフトウェア異常を検知した場合において、前記第２側判定部が第２ＯＳ系アプリケーションプログラムを正常終了ではないと判定した場合には、第２ＯＳ制御データを前記共有メモリ部に保存し、
前記第１側ダンプファイル保存部は、
前記第２側制御データ保存部が前記第２側判定部の正常終了ではないとの判定に従って前記共有メモリ部に第２ＯＳ制御データを保存した場合には、保存された第２ＯＳ制御データのダンプファイルを生成し、生成されたダンプファイルを前記第１ＯＳ用記憶装置に保存し、
前記第１側ダンプファイル復元部は、
第１ＯＳが前記第２側判定部による第２ＯＳ系アプリケーションプログラムの正常終了しないとの判定後に再起動すると、前記第１ＯＳ用記憶装置に第２ＯＳ制御データのダンプファイルが存在するかどうかを確認し、存在する場合には第２ＯＳ制御データのダンプファイルを、前記共有メモリ部に復元し、
前記第２側制御データ復元部は、
第１ＯＳと共に第２ＯＳが前記第２側判定部による第２ＯＳ系アプリケーションプログラムの正常終了しないとの判定後に再起動すると、前記第１側ダンプファイル復元部によって復元された第２ＯＳ制御データに基づいて、第２ＯＳ系アプリケーションプログラムの前記再開処理を実行することを特徴とする請求項２に記載のＯＳ動作装置。
【請求項４】
第１ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と第２ＯＳとが動作するＯＳ動作装置であって、第１ＯＳに割り付けられた記憶装置である第１ＯＳ用記憶装置と、第１ＯＳと第２ＯＳとの両方に割り付けられた共有メモリ領域を有する共有メモリ部とを備えたコンピュータであるＯＳ動作装置に対し、第１ＯＳと第２ＯＳとに以下の処理を実行させるＯＳ動作プログラム
（１）第２ＯＳによる処理であって、
第１ＯＳと第２ＯＳとの動作中に、第１ＯＳに関するソフトウェア異常として予め設定された第１ＯＳソフトウェア異常を第１ＯＳが検知すると、第２ＯＳによって実行される第２ＯＳ系アプリケーションプログラムのうち第１ＯＳソフトウェア異常の検知の際に実行中の第２ＯＳ系アプリケーションプログラムの再開用のデータであって、第１ＯＳソフトウェア異常の検知の際における第２ＯＳ系アプリケーションプログラムの状態からこの第２ＯＳ系アプリケーションプログラムの実行を再開するためのデータである第２ＯＳ制御データを、前記共有メモリ部に保存する処理
（２）第１ＯＳによる処理であって、
前記共有メモリ部に第２ＯＳ制御データを保存した場合には、保存された第２ＯＳ制御データのダンプファイルを生成し、生成されたダンプファイルを前記第１ＯＳ用記憶装置に保存する処理
（３）第１ＯＳによる処理であって、
第１ＯＳが再起動した場合には前記第１ＯＳ用記憶装置に第２ＯＳ制御データのダンプファイルが存在するかどうかを確認し、存在する場合には第２ＯＳ制御データのダンプファイルを、前記共有メモリ部に復元する処理
（４）第２ＯＳによる処理であって、
第２ＯＳ制御データのダンプファイルが前記共有メモリ部に復元されると、第１ＯＳと共に第２ＯＳが再起動している場合には復元された第２ＯＳ制御データを解析し、第１ＯＳソフトウェア異常の検知の際に動作していた第２ＯＳ系アプリケーションプログラムの実行を、第１ＯＳソフトウェア異常の検知の際における状態から、再開する再開処理。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のＯＳが並列（同時）に動作するＯＳ動作装置及びＯＳ動作プログラムに関する。例えば、第１ＯＳのみが二次記憶装置に割り付けられており、第２ＯＳが二次記憶装置に割り付けられていない構成において、第２ＯＳ上で実行中のプログラムが中断した場合に、このプログラムを再開する技術に関する。
【背景技術】
【０００２】
ハイブリッドＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とは、複数のＯＳを１つのコンピュータアーキテクチャ上で同時動作させるものである。ハイブリッドＯＳは、例えば、制御プログラムを動作させるリアルタイムＯＳ（ＲＴＯＳ：ＲｅａｌＴｉｍｅＯＳ）と、多機能で豊富なソフトウェア資源を持つようなＯＳ（情報系ＯＳ）とを同時動作させる。従来のハイブリッドＯＳの環境において、片方のＯＳで障害が発生したとき、もう片方のＯＳも中断されてしまうことがある。その際、安全にシステムを再開させるためには、障害発生時に制御データ（制御プログラム名、実行ライン番号、制御ステータス（ローカル変数の値）、制御命令パラメータなど）を二次記憶装置に保存しておき、再起動後に二次記憶装置から読み込む必要がある。その際、それぞれのＯＳに二次記憶装置を割り付けておくことにより、各ＯＳのデータを保存することができるが、二次記憶装置を複数用意するのは、その分コストがかかる。
【０００３】
従来、二次記憶装置の削減には、特許文献１や特許文献２の技術が用いられてきた。特許文献１では、二次記憶装置が割り当てられていないＯＳにて障害が発生した場合、メモリダンプを行い、共有メモリにダンプファイルを保存し、二次記憶装置が割り当てられており正常に動作しているＯＳがダンプファイルを二次記憶装置に保存することにより、障害発生時にデータを保存する方法を用いる。
【０００４】
また、特許文献２では、保存したデータを使用したシステムの再開には、任意の動作状態から休止状態へ移行する場合、休止状態から前記任意の動作状態に復帰させるために必要な情報を保存し、その情報に基づいて休止状態から任意の動作状態に復帰させるという方法である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３３４４０３号公報
【特許文献２】特開２００５−３１６８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＲＴＯＳと情報系ＯＳとが動作するようなハイブリッドＯＳでは、情報系ＯＳにてソフトウェア異常が発生した時に、情報系ＯＳに割り付けられている二次記憶装置を用いて、安全にシステムを再開させることを目的とした場合、以下の必要がある。つまり、システムの再開には、システムがどこで中断されたのかという情報と、そのときに所持しているデータとを、ダンプファイルとして保存し、このダンプファイルを使用して、システムを再開させる必要がある。
【０００７】
しかし特許文献１では、再起動時にダンプファイルを復元する技術が示されていないので、障害発生時に保存したデータの復元方法の開示がない。また、特許文献２では、システムの再起動後、終了時の状態に復元することが開示されているが、必要な部分だけ復旧させ安全にシステムを再開させたい場合、その技術ついては開示されていない。
【０００８】
本発明は、情報系ＯＳ（第１ＯＳ）でソフトウェア障害が発生した場合に、障害発生時のＲＴＯＳ（第２ＯＳ）上のデータをダンプファイルとして保存し、情報系ＯＳ及びＲＴＯＳの再起動後、ダンプファイルから復元したデータにより、システムの再開方法を変えることにより、システムの再開に必要なデータだけ復旧させ、安全にシステムを再開させることを目的とする。
【課題を解決するための手段】
【０００９】
この発明のＯＳ動作装置は、
第１ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、第２ＯＳとが動作するＯＳ動作装置において、
第１ＯＳに割り付けられた記憶装置である第１ＯＳ用記憶装置と、
第１ＯＳと、第２ＯＳとの両方に割り付けられた共有メモリ領域を有する共有メモリ部と、
第１ＯＳのもとで動作する、第１側ダンプファイル保存部及び第１側ダンプファイル復元部と、
第２ＯＳのもとで動作する、第２側制御データ保存部及び第２側制御データ復元部と
を備え、
前記第２側制御データ保存部は、
第１ＯＳと第２ＯＳとの動作中に、第１ＯＳに関するソフトウェア異常として予め設定された第１ＯＳソフトウェア異常を第１ＯＳが検知すると、第２ＯＳによって実行される第２ＯＳ系アプリケーションプログラムのうち第１ＯＳソフトウェア異常の検知の際に実行中の第２ＯＳ系アプリケーションプログラムの再開用のデータであって、第１ＯＳソフトウェア異常の検知の際における第２ＯＳ系アプリケーションプログラムの状態からこの第２ＯＳ系アプリケーションプログラムの実行を再開するためのデータである第２ＯＳ制御データを、前記共有メモリ部に保存し、
前記第１側ダンプファイル保存部は、
前記第２側制御データ保存部が前記共有メモリ部に第２ＯＳ制御データを保存した場合には、保存された第２ＯＳ制御データのダンプファイルを生成し、生成されたダンプファイルを前記第１ＯＳ用記憶装置に保存し、
前記第１側ダンプファイル復元部は、
第１ＯＳが再起動した場合には前記第１ＯＳ用記憶装置に第２ＯＳ制御データのダンプファイルが存在するかどうかを確認し、存在する場合には第２ＯＳ制御データのダンプファイルを、前記共有メモリ部に復元し、
前記第２側制御データ復元部は、
前記第１側ダンプファイル復元部によって第２ＯＳ制御データのダンプファイルが前記共有メモリ部に復元されると、第１ＯＳと共に第２ＯＳが再起動している場合には復元された第２ＯＳ制御データを解析し、第１ＯＳソフトウェア異常の検知の際に動作していた第２ＯＳ系アプリケーションプログラムの実行を、第１ＯＳソフトウェア異常の検知の際における状態から、第２ＯＳに再開させる再開処理を実行することを特徴とする。
【発明の効果】
【００１０】
この発明により、第１ＯＳのみに割り付けられた第１ＯＳ用記憶装置を有し第１ＯＳと第２ＯＳとが動作するＯＳ動作装置において、第１ＯＳにてソフトウェア障害が発生すると、この発生の際に第２ＯＳ上で動作していた第２ＯＳプログラムを、両ＯＳの再起動後、中断の時点から、再開させることができる。第２ＯＳに割り付けるて二次記憶装置は不要になる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１のＯＳ再開装置１００１のブロック図。
【図２】実施の形態１のＯＳ再開装置１００１の動作を示すフローチャート。
【図３】図２のフローチャートに続くフローチャート。
【図４】実施の形態１の制御データ出力部２４２の動作を示すフローチャート。
【図５】実施の形態１の制御データ復元部２４３の動作を示すフローチャート。
【図６】実施の形態１の制御データ示す図。
【図７】実施の形態２のＯＳ再開装置１００２のブロック図。
【図８】実施の形態２のＯＳ再開装置１００２の動作を示すフローチャート。
【図９】図８のフローチャートに続くフローチャート。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１〜図６を参照して実施の形態１のＯＳ再開装置１００１（ＯＳ動作装置）を説明する。
図１は、実施の形態１におけるＯＳ再開装置１００１の構成図である。図１では、ソフトウェア（以下、Ｓ／Ｗとも表記する）の構成としてＳ／Ｗ２００と、ハードウェア（以下、Ｈ／Ｗとも表記する）の構成としてＨ／Ｗ１００とを示した。図１において、破線１より上はＳ／Ｗ２００の構成図を示し、下はＨ／Ｗ１００の構成図を示す。実線１８０に接続しているＨ／Ｗは、情報系ＯＳ２１０（第１ＯＳの一例）に割り付けられているＨ／Ｗを示す。破線１９０に接続しているＨ／Ｗは、ＲＴＯＳ２２０（第２ＯＳの一例）に割り付けられているＨ／Ｗを示す。図１に示すように、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１２０は、情報系ＯＳ２１０にのみ割り付けられている。共有メモリ１１１（共有メモリ部）は、情報系ＯＳ２１０とＲＴＯＳ２２０との両方に割り付けられている。共有メモリ１１１は情報系ＯＳ２１０とＲＴＯＳ２２０との両方に割り付けられた共有メモリ領域を有する。ＨＤＤ１２０は揮発性メモリ１１０に対する二次記憶装置の一例であり、ＨＤＤ以外に、不揮発のメモリ装置、例えば、フラッシュメモリや、ＤＶＤ記録装置等でも構わないし、揮発性メモリ１１０と別の揮発性メモリでもよい。
【００１３】
（ＯＳ再開装置１００１の動作の概要）
ＯＳ再開装置１００１は、情報系ＯＳ２１０のみに割り付けられたＨＤＤ１２０（第１ＯＳ用記憶装置）を有し、情報系ＯＳ２１０とＲＴＯＳ２２０とが動作する装置（コンピュータ）である。ＯＳ再開装置１００１は、情報系ＯＳ２１０にてソフトウェア障害が発生すると、ソフトウェア異常発生の際にＲＴＯＳ２２０上で動作していた「ＲＴ系プログラムｐ」（後述する）を、両ＯＳの再起動後、以下の手順（概略である）で再開させる。「ＲＴ系プログラムｐ」とは、後述するが、情報系ＯＳ２１０におけるソフトウェア異常発生の際に、ＲＴＯＳ２２０上で動作していたＲＴＯＳ２２０のアプリケーションプログラムである。
【００１４】
まず、制御データ出力部２４２は、情報系ＯＳ２１０によりソフトウェア異常が検知されると、「制御データＤ２」（後述するが、ＲＴ系プログラムｐの再開用データ）を共有メモリ１１１に保存する。メモリダンプ機能部２１１は、保存された制御データＤ２のダンプファイルを生成し、ＨＤＤ１２０に保存する。ダンプファイル復元部２３２は、情報系ＯＳ２１０とＲＴＯＳ２２０とが再起動すると、制御データを含むダンプファイルを共有メモリ１１１に復元する。制御データ復元部２４３は、情報系ＯＳ２１０とＲＴＯＳ２２０との再起動後にダンプファイルが共有メモリ１１１に復元されると、復元された制御データＤ２に基づいて、ＲＴ系プログラムｐをソフトウェア異常検知の際における状態から再開する。これにより、ＨＤＤが割り付けられていないＲＴＯＳ２２０に関して、ＲＴＯＳ２２０上で動作していたＲＴ系プログラムｐを、情報系ＯＳ２１０、ＲＴＯＳ２２０の再起動後に、再開することができる。以下に詳細を説明する。
【００１５】
（Ｈ／Ｗ１００）
まず、Ｈ／Ｗ１００の構成を説明する。ＯＳ再開装置１００１は、揮発性メモリ１１０、ＨＤＤ１２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３０、独自Ｉ／Ｏ１４０、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１５０、ディスプレイ１６０、入力装置であるキーボードあるいはマウスのキーボード／マウス１７０等を備えるコンピュータである。
（１）揮発性メモリ１１０は、情報系ＯＳ２１０，ＲＴＯＳ２２０の両方のＯＳが使用できる共有メモリ１１１、ＲＴＯＳ２２０のみが使用できるＲＴＯＳ用メモリ１１２、情報系ＯＳ２１０のみが使用できる情報系ＯＳ用メモリ１１３の３つで構成されている。共有メモリ１１１のダンプフラグＦ１は、ダンプファイル１２２がＨＤＤ１２０内にあるかどうか判断するためのものであり、ダンプファイル復元部２３２が立てる（図２のＳ１０２）。
（２）ＨＤＤ１２０は、情報系ＯＳ２１０に割り付けられており、基本データＤ１と、ダンプファイル１２２を格納している。
「基本データＤ１」とは、ＲＴＯＳ２２０上で動作するプログラムや必要なデータ等からなる。「基本データＤ１」とは、ＲＴＯＳ２２０によるＲＴＯＳ２２０上で動作する後述の複数のＲＴ系プログラム１〜ＲＴ系プログラムｎをＲＴＯＳ２２０が実行するために必要な、ＲＴ系プログラム１等のプログラム自体を含む実行に必要なデータである。
「ダンプファイル１２２」は、情報系ＯＳ２１０のメモリダンプ機能部２１１によって生成されたものでる。ダンプファイル１２２内には、「制御データＤ２」が格納されている。「制御データＤ２」（第２ＯＳ制御データ）は、例えば、ソフトウェア異常発生時の変数の値やＲＴ系アプリケーションプログラム２４０がどこで中断されたかの情報などからなる。「制御データＤ２」については、図３のＳ１２０でさらに後述する。
（３）ＣＰＵ１３０は、情報系ＯＳ２１０とＲＴＯＳ２２０との両方に割り付けられている。これは、２つのＯＳがＣＰＵ１３０上で切り替わり動作するためである。
（４）独自Ｉ／Ｏ１４０は、ＲＴＯＳ２２０ないし「ＲＴ系プログラム１〜ｎ」により使用される制御用の独自デバイスである。
（５）なお、Ｓ／Ｗ２００における情報系アプリケーションプログラム２３０（以下、情報系アプリケーション２３０という）及び情報系ＯＳ２１０は、揮発性メモリ１１０の情報系ＯＳ用メモリ１１３に格納される。また、Ｓ／Ｗ２００におけるＲＴ系アプリケーションプログラム２４０（以下、ＲＴ系アプリケーション２４０という）及びＲＴＯＳ２２０は、ＲＴＯＳ用メモリ１１２に格納される。共有メモリ１１１には処理に応じたデータが、情報系ＯＳ２１０、ＲＴＯＳ２２０によって、書き込み／読み出しされる。
【００１６】
（Ｓ／Ｗ２００）
次にＳ／Ｗ２００の構成を説明する。
（１）情報系アプリケーションプログラム２３０は、情報系ＯＳ２１０上で動作するアプリケーションである。
（２）ＲＴ系アプリケーションプログラム２４０（以下、ＲＴ系アプリケーション２４０という）は、ＲＴＯＳ２２０上で動作するアプリケーションである。
【００１７】
（情報系アプリケーション２３０）
図１に示すように、情報系アプリケーション２３０として、データ入出力部２３１（第１側データ入出力部）、ダンプファイル復元部２３２（第１側ダンプファイル復元部）、連携アプリケーションＡ（２３３）がある。また、これらの「〜部」、連携アプリケーションＡ（２３３）の他に、複数のアプリケーションプログラム１〜ｋが存在する。これらのアプリケーション１〜ｋは、以下、「情報系プログラム１〜ｋ」と呼ぶ。
【００１８】
（１）情報系ＯＳ２１０内にあるメモリダンプ機能部２１１（第１側ダンプファイル保存部）は、共有メモリ１１１と情報系ＯＳ用メモリ１１３とをメモリダンプして、ＨＤＤ１２０に保存する機能である。なお、メモリダンプ機能部２１１は、情報系ＯＳ２１０が有する機能としているが一例である。メモリダンプ機能部２１１は、情報系アプリケーション２３０が有する機能としてもよい。
（２）データ入出力部２３１は、ＨＤＤ１２０と共有メモリ１１１との間で、データを入出力する手段である。
（３）ダンプファイル復元部２３２は、ＨＤＤ１２０に保存されているダンプファイル１２２内の制御データＤ２を共有メモリ１１１に復元する手段である。
（４）連携アプリケーションプログラムＡ（２３３）は、ＲＴＯＳ２２０上のＲＴ系アプリケーションプログラム２４０内にある連携アプリケーションＢ（２４４）との間で、情報系ＯＳ２１０とＲＴＯＳ２２０間のデータの送受信を行うアプリケーションである。
【００１９】
（ＲＴ系アプリケーション２４０）
図１に示すように、ＲＴ系アプリケーション２４０として、基本データ入出力部２４１（第２側基本データ取得部）、制御データ出力部２４２（第２側制御データ保存部）、制御データ復元部２４３（第２側制御データ復元部）、連携アプリケーションＢ（２４４）がある。また、これらの「〜部」、連携アプリケーションＢ（２４４）の他に、複数のアプリケーションプログラム１〜アプリケーションプログラムｎがＲＴ系アプリケーション２４０に存在する。これらのアプリケーション１〜ｎは、以下、「ＲＴ系プログラム１〜ｎ」（第２ＯＳ系アプリケーションプログラム）と呼ぶ。
【００２０】
（１）基本データ入出力部２４１は、共有メモリ１１１を経由しＲＴＯＳ２２０の基本データＤ１を保存・ロードしたりする手段である。
（２）制御データ出力部２４２は、情報系ＯＳ２１０でソフトウェア異常が発生した場合に、ＲＴＯＳ２２０の制御データＤ２（ＲＴＯＳ用メモリ１１２に存在）を、共有メモリ１１１に保存する手段である。
（３）制御データ復元部２４３は、ダンプファイル復元部２３２によってＨＤＤ１２０のダンプファイル１２２から共有メモリ１１１に復元された制御データＤ２から、システムの再開に必要なデータをロードして、システムを再開させるための手段である。
（４）連携アプリケーションＢ（２４４）は、前述のように、情報系ＯＳ２１０上の情報系アプリケーションプログラム２３０内にある連携アプリケーションＡ（２３３）との間で、情報系ＯＳ２１０とＲＴＯＳ２２０とのデータの送受信を行うアプリケーションプログラムである。
【００２１】
次にＯＳ再開装置１００１の起動および終了の動作について説明する。
図２、図３は、ＯＳ再開装置１００１の動作のフローチャートである。情報系ＯＳ２１０、ＲＴＯＳ２２０は、図２、図３の動作をするように、プログラミングされている。
【００２２】
（１）まずステップ１００（以下、Ｓ１００等と記載する）において、情報系ＯＳ２１０が起動する。
（２）次にＳ１０１において、ダンプファイル復元部２３２は、ＨＤＤ１２０にダンプファイル１２２があるかどうかを確認する。ダンプファイル１２２は、前回の動作中に情報系ＯＳ２１０が「ソフトウェア異常」の発生を検知した場合に、メモリダンプ機能部２１１によって生成されるものである（後述のＳ１２３）。現時点では、ＨＤＤ１２０にダンプファイル１２２がないものとする。よって処理がＳ１０３に進む。ダンプファイル１２２がある場合についての処理は、再起動後の処理説明で述べる。
（３）次にＳ１０３において、情報系ＯＳ２１０の連携アプリケーションＡ（２３３）が起動する。
（４）そしてＳ１０４において、ＲＴＯＳ２２０を起動する。
（５）次にＳ１０５において、ＲＴＯＳ２２０の連携アプリケーションも起動する。
【００２３】
（６）次にＳ１０６において、ＲＴＯＳ２２０（例えば制御データ復元部２４３）は、共有メモリ１１１にダンプフラグＦ１が立っているかの判断を行う。この場合、ダンプフラグＦ１はダンプファイル１２２がある場合にダンプファイル復元部２３２が立てる（Ｓ１０２）ものであるため、現時点では立っていない。ダンプフラグＦ１が立っている場合の処理についても、再起動後に説明する。
【００２４】
（７）次に、Ｓ１０７において、データ入出力部２３１、基本データ入出力部２４１は、ＨＤＤ１２０から、情報系ＯＳ２１０、共有メモリ１１１を介して、ＲＴＯＳ２２０に「基本データＤ１」を読み込む。
【００２５】
具体的には次の様である。基本データ入出力部２４１は、ＨＤＤ１２０から基本データＤ１を読み込むのであるが、ＲＴＯＳ２２０にはＨＤＤ１２０が割り付けられていないため、直接にはＨＤＤ１２０から読み込めない。このため、基本データ入出力部２４１は情報系ＯＳ２１０側のデータ入出力部２３１と連携して、データ入出力部２３１にＨＤＤ１２０の基本データＤ１を共有メモリ１１１に読み込ませ、共有メモリ１１１の基本データＤ１をＲＴＯＳ用メモリ１１２の所定のメモリ領域へ転送する。なお、データ入出力部２３１と基本データ入出力部２４１との連携は、連携アプリケーションＡ（２３３）と連携アプリケーションＢ（２４４）との間の通信による。また、情報系アプリケーション２３０の「〜部」と、ＲＴ系アプリケーション２４０の「〜部」との連携は、データ入出力部２３１、基本データ入出力部２４１の連携と同様に、連携アプリケーションＡ（２３３）と連携アプリケーションＢ（２４４）とを介して行われる。
【００２６】
（８）そして、Ｓ１１１において、各ＯＳ（情報系ＯＳ２１０及びＲＴＯＳ２２０、以下同じ）にて、該当する各アプリケーションを実行する。
（９）次にＳ１１２（図３）において、各ＯＳがアプリケーションを実行に、情報系ＯＳ２１０にて実行中のアプリケーションにおけるソフトウェア異常発生を情報系ＯＳ２１０が検知したかしないかにより処理が分れる。「ソフトウェア異常」（第１ＯＳソフトウェア異常）とは、情報系ＯＳ２１０に関するソフトウェア異常として予め設定されたソフトウェア異常である。ソフトウェア異常が発生しなければ、Ｓ１１２において、各ＯＳはアプリケーションが終了するまで、アプリケーションを継続して実行する。
（１０）そしてＳ１１４にて、各ＯＳでのアプリケーション（情報系プログラム１〜ｋ及びＲＴ系プログラム１〜ｎの中の動作中プログラム）が正常に終了する。
（１１）次に、Ｓ１１５において、基本データ入出力部２４１はデータ入出力部２３１と連携して、ＲＴＯＳ２２０の「基本データＤ１」を、情報系ＯＳ２１０と共有メモリ１１１を介して、ＨＤＤ１２０に保存する。具体的にはＳ１０７の逆のデータの流れである。基本データ入出力部２４１は情報系ＯＳ２１０側のデータ入出力部２３１と連携するが、ＲＴＯＳ用メモリ１１２の所定の領域の基本データＤ１を共有メモリ１１１に送る。データ入出力部２３１は、共有メモリ１１１に送られた基本データＤ１をＨＤＤ１２０に保存する。この場合もデータ入出力部２３１と基本データ入出力部２４１との連携は、連携アプリケーションＡ（２３３）と連携アプリケーションＢ（２４４）との間の通信による。
（１２）その後Ｓ１１６において、ＲＴＯＳ２２０を終了させる。
（１３）次に、Ｓ１１７において、情報系ＯＳ２１０へＯＳ切替えを行う。
（１４）そして、Ｓ１２４において、情報系ＯＳ２１０も終了させる。
【００２７】
（Ｓ１１２でソフトウェア異常の場合）
次に、Ｓ１１２にて、「ソフトウェア異常」が発生した場合について説明する。情報系ＯＳ２１０が「ソフトウェア異常」の発生を検知した場合、処理はＳ１１２からＳ１１８に進む。情報系ＯＳ２１０による「ソフトウェア異常」の検出情報は、連携アプリケーションＡ（２３３）と連携アプリケーションＢ（２４４）との連携により、情報系ＯＳ２１０から、ＲＴＯＳ２２０に通知される。
（１）まずＳ１１８において、ＲＴＯＳ２２０にＯＳを切替え、実行を移す。
（２）次にＳ１１９において、ＲＴＯＳ２２０にて制御処理を行う。
（３）そしてＳ１２０において、制御データ出力部２４２は、ＲＴＯＳ２２０の「制御データＤ２」を共有メモリ１１１に保存する。共有メモリ１１１に保存される「制御データＤ２」は、ＲＴ系プログラムｐの再開用データであるが、ＲＴＯＳ２２０は、制御データ出力部２４２による「制御データＤ２」の出力前に、実行中のＲＴ系プログラムｐを中断する。これは実施の形態２（Ｓ３２３）でも同様である。「制御データＤ２」の元となるデータは、ＲＴＯＳ用メモリ１１２に格納されている。「制御データＤ２」とは、ＲＴＯＳ２２０によって実行されるＲＴ系プログラム１〜ｎのうち情報系ＯＳ２１０による「ソフトウェア異常検知」の際の実行中プログラムである「ＲＴ系プログラムｐ」（単数とは限らないず、複数でもよい）の再開用のデータであって、前記「ソフトウェア異常」の検知の際におけるＲＴ系プログラムｐの状態からこの「ＲＴ系プログラムｐ」の実行再開のためのデータである。
【００２８】
（４）制御データ出力部２４２によって「制御データＤ２」が共有メモリ１１１に保存されると、Ｓ１２１において、ＲＴＯＳ２２０を終了する。
（５）その後、Ｓ１２２において、情報系ＯＳ２１０へＯＳを切替え、実行を移す。
【００２９】
（ダンプファイル１２２の生成）
（６）次に、Ｓ１２３において、情報系ＯＳ２１０のメモリダンプ機能部２１１は、Ｓ１２０で制御データ出力部２４２によって共有メモリ１１１に制御データＤ２が保存された場合には、共有メモリ１１１と、情報系ＯＳ用メモリ１１３とをメモリダンプし、ＨＤＤ１２０に、ダンプファイル１２２を保存する。ここで情報系ＯＳ用メモリ１１３もダンプしているが、例えば、Ｓ１０１、Ｓ１０８のダンプファイル復元部２３２による処理の際に、情報系ＯＳ用メモリ１１３のデータを使用することを想定したためである。ダンプファイル復元部２３２は情報系ＯＳ用メモリ１１３のデータを使用しない構成でもよい。すなわち、メモリダンプ機能部２１１による情報系ＯＳ用メモリ１１３のダンプは必須ではない。またメモリダンプ機能部２１１は、連携アプリケーションＡ（２３３）と、連携アプリケーションＢ（２４４）との連携により、制御データ出力部２４２が共有メモリ１１１に制御データＤ２を出力したことを知ることができる。このように、メモリダンプ機能部２１１は、ＲＴＯＳ２２０の「制御データＤ２」をＨＤＤ１２０にダンプファイル１２２内の制御データＤ２として保存する。
（７）Ｓ１２４において、情報系ＯＳ２１０が終了する。
【００３０】
（再起動後の処理）
次に、再起動後の処理について説明する。ここで「再起動」とは、図２、図３のフローチャートにおいて、Ｓ１１２でＹＥＳ（異常検出）の経路に進み、その後に図２のＳＴＡＲＴに戻り、Ｓ１００，Ｓ１０４で各ＯＳが起動する場合を意味する。図２、図３からなるフローチャートでは、図２のＳＴＡＲＴに戻る。
【００３１】
（１）まず、Ｓ１００において、情報系ＯＳ２１０が起動する。
（２）次にＳ１０１において、ダンプファイル復元部２３２は、ＨＤＤ１２０にダンプファイル１２２が存在するかどうかを確認する。この例では終了前のＳ１２３においてダンプファイル１２２が生成されているので、ダンプファイル１２２がＨＤＤ１２０に存在する。
（３）このため、Ｓ１０２において、ダンプファイル復元部２３２は、共有メモリ１１１にダンプフラグＦ１を立てる。
（４）次にＳ１０３において、情報系ＯＳ２１０の連携アプリケーションＡ（２３３）を起動する。
（５）そしてＳ１０４において、ＲＴＯＳ２２０を起動する。次にＳ１０５において、ＲＴＯＳ２２０の連携アプリケーションＢ（２４４）も起動する。
（６）その後Ｓ１０６において、ＲＴＯＳ２２０側の制御データ復元部２４３は、ダンプフラグＦ１の状態を確認する。ダンプファイル１２２のあることが制御データ復元部２４３によって確認されると、制御データ復元部２４３は、ダンプファイル復元部２３２と連携して「制御データＤ２」の取得処理を行う。
（７）Ｓ１０８において、制御データ復元部２４３は、ダンプファイル復元部２３２に、制御データＤ２を含むダンプファイル１２２（制御データＤ２）を、共有メモリ１１１に復元させる。つまりダンプファイル復元部２３２は、情報系ＯＳ２１０が再起動した場合（Ｓ１００）には、ＨＤＤ１２０に制御データＤ２のダンプファイルが存在するかどうかを確認し（Ｓ１０１）、存在する場合には制御データＤ２のダンプファイルを、共有メモリ１１１部に復元（Ｓ１０６、Ｓ１０８）する。
（８）次にＳ１０９において、制御データ復元部２４３は、共有メモリ１１１に復元された制御データＤ２を解析することにより、ＲＴＯＳ２２０（ＲＴＯＳ用メモリ１１２）に、共有メモリ１１１に復元された制御データＤ２のうちＲＴ系プログラムｐの再開に必要なデータをロードし、ＲＴＯＳ２２０にＲＴ系プログラムｐを再開させる（再開処理）。つまり制御データ復元部２４３は、ダンプファイル復元部２３２によって制御データＤ２のダンプファイルが共有メモリ１１１に復元されると、復元された制御データＤ２に基づいて、ソフトウェア異常の検知の際に動作していたＲＴ系プログラムｐの実行を、ソフトウェア異常の検知の際における状態から、ＲＴＯＳ２２０に再開させる再開処理を実行する。
（９）その後、Ｓ１１０において、制御データ復元部２４３は、必要のなくなったダンプファイル１２２をＨＤＤ１２０から削除する。この削除は、制御データ復元部２４３が連携アプリケーションＢ（２４４）を介して、情報系ＯＳ２１０に削除させる。
（１０）以上の処理により、Ｓ１１１において、ＲＴ系プログラムｐを再開できる。
【００３２】
（制御データ出力部２４２の動作フロー）
図４は、ＲＴＯＳ２２０側の制御データ出力部２４２のＳ１２０におけるフローチャートを示す。
（１）まず、Ｓ１３０において、制御データ出力部２４２は、ＲＴ系アプリケーション２４０（ＲＴ系プログラムｐ）の中断時点での、ＲＴ系プログラムｐ内で使用していた変数の値を共有メモリ１１１に保存する。なおＲＴＯＳ２２０が、制御データ出力部２４２による「制御データＤ２」の出力前に、実行中のＲＴ系プログラムｐを中断する。
（２）次にＳ１３１において、制御データ出力部２４２は、ＲＴ系プログラムｐがどこで中断されたかの情報である中断位置情報を、共有メモリ１１１に保存する。これらのデータ（変数値、中断位置情報）は、ＲＴＯＳ２２０の再起動後、ＲＴ系アプリケーション２４０（ＲＴ系プログラムｐ）の再開に必要となる。
【００３３】
（制御データ復元部２４３の動作フロー）
図５は、制御データ復元部２４３の動作を示すフローチャートである。
（１）まずＳ１４０において、制御データ復元部２４３は、「制御データＤ２」のうち、ＲＴ系プログラムｐがどこで中断されたのかを示す中断位置情報を、共有メモリ１１１からＲＴＯＳ２２０（ＲＴＯＳ用メモリ１１２）に読み込む。
（２）次にＳ１４１において、中断位置情報から、安全に再開するためにはどこから再開すればいいかを計算する。
図６は、「制御データＤ２」を構成するデータの一例である。制御データ復元部２４３は、制御プログラム名５１と実行ライン番号５２とから、「ソフトウェア異常」の発生時に、ＲＴ系プログラム１〜ｎのうちどのアプリケーションプログラムの、どこで中断されたかを判断する。そして、制御データ復元部２４３は、ソフトウェア異常発生時に中断されたアプリケーションプログラムの持っていた制御命令パラメータ５３の値と、ローカル変数のような制御ステータス５４を得る。
（３）そしてＳ１４２において、制御データ復元部２４３は、これらの「制御データＤ２」（図６のデータ５１〜５４等）を共有メモリ１１１からＲＴＯＳ２２０（ＲＴＯＳ用メモリ１１２）へ読み込む。
【００３４】
このように、情報系ＯＳ２１０での「ソフトウェア異常」の発生時に、情報系ＯＳ２１０のメモリダンプ機能部２１１によって、異常の発生していない側のＲＴＯＳ２２０の「制御データＤ２」をダンプファイル１２２として情報系ＯＳ２１０に割り付けられているＨＤＤに保存する。そして、ダンプファイル１２２から、ＲＴＯＳ２２０における動作が中断されたＲＴ系プログラムｐの再開に必要なデータを復元することにより、システム（ＲＴ系プログラム１〜ｎ）を安全に停止・再開できる。以上の制御データＤ２の保存、復元により、ＲＴＯＳ２２０に割り付けるＨＤＤ（二次記憶装置）が不要となる。
【００３５】
実施の形態２．
次に図７〜図９を参照して、実施の形態２のＯＳ再開装置１００２を説明する。実施の形態２は、ＲＴＯＳ２２０側が正常終了判定部２４５（第２側判定部）を備えることにより、ＯＳ再開までの時間を短縮できるようにしたものである。
【００３６】
図７は、ＯＳ再開装置１００２の構成図である。図７において、実施の形態１と同様の構成については説明を割愛する。ＯＳ再開装置１００２は、実施の形態１のＯＳ再開装置１００１に対して、ＲＴＯＳ２２０のもとで動作する正常終了判定部２４５を備えた点と、正常終了判定部２４５によって共有メモリ１１１に生成される「正常終了フラグＦ２」が、ＨＤＤ１２０に保存されるダンプファイル１２２に、「制御データＤ２」と共に保存される点が異なる。
正常終了判定部２４５は、情報系ＯＳ２１０にて「ソフトウェア異常」が発生した場合に、ＲＴＯＳ２２０上の動作中であったＲＴ系プログラムｐが、正常に終了したかどうかを監視し、判定する手段である。
ダンプファイル１２２内に格納される「正常終了フラグＦ２」は、情報系ＯＳ２１０にてソフトウェア異常が発生した場合に、ＲＴＯＳ２２０上で動作中のＲＴ系プログラムｐが正常に終了したかどうかを記録しておくためのフラグ（正常終了記録情報）であり、正常終了判定部２４５による正常終了の判定結果に応じて変更される。
【００３７】
次に、ＯＳ再開装置１００２の起動および終了の動作について説明する。
図８、図９は、ＯＳ再開装置１００２の動作のフローチャートである。図８、図９からなるフローチャートは、図２、図３からなる実施の形態１のフローチャートに対応する。以下では図２、図３からなるフローチャートを実施の形態１のフローチャートと呼び、図８、図９からなるフローチャートを実施の形態２のフローチャートと呼ぶ。実施の形態２のフローチャートが実施の形態１と相違するのは、太線の枠として示したＳ３０８、Ｓ３０９、Ｓ３２２、Ｓ３２４の追加である。実施の形態１のフローチャートと同じ処理のステップには、そのステップ番号を「かっこ書き」で付した。
【００３８】
以下では、まず、「ソフトウェア異常」が発生しない、正常処理の場合を説明する。すなわち実施の形態２のフローチャートの左側の処理であるが、これは実施の形態１のフローチャートの左側の処理と同じである。
【００３９】
（１）Ｓ３００において、情報系ＯＳ２１０が起動する。
（２）次にＳ３０１において、ダンプファイル復元部２３２は、ＨＤＤ１２０にダンプファイル１２２があるかどうかを確認する。Ｓ１０１の場合と同様に、現在はＨＤＤ１２０にダンプファイル１２２はないとする。
（３）次にＳ３０３において、情報系ＯＳ２１０の連携アプリケーションＡ（２３３）を起動する。
（４）そしてＳ３０４において、ＲＴＯＳ２２０を起動する。
（５）次にＳ３０５において、ＲＴＯＳ２２０の連携アプリケーションＢ（２４４）も起動する。
（６）次にＳ３０６において、Ｓ１０６と同様に、制御データ復元部２４３は、ダンプフラグＦ１が立っているかの判断を行うが、上述のように、現時点では立っていない。
（７）次にＳ３１０において、データ入出力部２３１、基本データ入出力部２４１は、ＨＤＤ１２０から、情報系ＯＳ２１０、共有メモリ１１１を介して、ＲＴＯＳ２２０に基本データＤ１を読み込む。Ｓ３１０はＳ１０７と同じ処理である。
（８）そしてＳ３１３において、各ＯＳにてアプリケーションを実行する。
【００４０】
（９）次に、図９のＳ３１４において、Ｓ１１２と同様に、情報系ＯＳ２１０にて「ソフトウェア異常」が発生したかしていないかにより処理が分かれる。「ソフトウェア異常」が発生しなければ、Ｓ３１５において、各ＯＳは、アプリケーションが終了するまで、アプリケーションを継続して実行する。
（１０）そしてＳ３１６において、各ＯＳにてアプリケーションが正常に終了する。
（１１）その後Ｓ３１７において、データ入出力部２３１と基本データ入出力部２４１とは、ＲＴＯＳ２２０の基本データＤ１を情報系ＯＳ２１０と共有メモリ１１１を介して、ＨＤＤ１２０に保存する。Ｓ３１７は、Ｓ１１５と同じ処理である。
（１２）その後Ｓ３１８において、ＲＴＯＳ２２０を終了させる。
（１３）次にＳ３１９において、情報系ＯＳ２１０へＯＳ切替えを行う。
（１４）そしてＳ３２８において、情報系ＯＳ２１０も終了させる。
【００４１】
次に、Ｓ３１４にて、ソフトウェア異常が発生した場合について説明する。「ソフトウェア異常」が発生した場合の処理が、実施の形態１のフローチャートと異なる。
（１）まずＳ３２０において、ＲＴＯＳ２２０にＯＳを切替え、実行を移す。
（２）次にＳ３２１において、ＲＴＯＳ２２０にて制御処理を行う。
【００４２】
（３）次に、Ｓ３２２において、正常終了判定部２７は、ＲＴＯＳ２２０上のＲＴ系プログラムｐが正常終了したかどうかを判定する。実施の形態２では、このステップが、追加された。
【００４３】
（正常終了しないと判定）
（４）正常終了判定部２４５が、正常終了しないと判定した場合は、処理はＳ３２３に進む。Ｓ３２３において、Ｓ１２０と同様に、制御データ出力部２４２は、ＲＴＯＳ２２０の「制御データＤ２」を、共有メモリ１１１に保存する。このように制御データ出力部２４２は、正常終了判定部２４５がＲＴ系プログラムｐを正常終了ではないと判定した場合には、「ソフトウェア異常」が検知されている場合、「制御データＤ２」を共有メモリ１１１に保存する。
【００４４】
（正常終了と判定）
（５）正常終了したと正常終了判定部２４５が判定した場合は、処理はＳ３２４に進む。Ｓ３２４において、正常終了判定部２４５は、正常終了フラグＦ２を共有メモリ１１１上に立てる。正常に終了しない場合は、正常終了フラグＦ２は立てない。正常終了フラグＦ２が立てられた場合、Ｓ３２３の処理は迂回される。つまり、制御データ出力部２４２は、正常終了判定部２４５がＲＴ系プログラムｐを正常終了と判定した場合には、情報系ＯＳ２１０が「ソフトウェア異常」を検知した場合であっても、制御データＤ２を共有メモリには保存しない。
【００４５】
これらＳ３２３あるいはＳ３２４の処理の後におけるＳ３２５〜Ｓ３２８は、実施の形態１のフローチャートのＳ１２１〜Ｓ１２４に同じである。
【００４６】
（１）Ｓ３２５において、ＲＴＯＳ２２０を終了する。
（２）そしてＳ３２６において、情報系ＯＳ２１０へＯＳを切替え、実行を移す。
【００４７】
（３）この後、Ｓ３２７において、情報系ＯＳ２１０にて、メモリダンプ機能部２１１は、共有メモリ１１１と情報系ＯＳ用メモリ１１３とをメモリダンプし、ＨＤＤ１２０にダンプファイル１２２が生成される。
【００４８】
（４）このようにＲＴＯＳ２２０の「制御データＤ２」をＨＤＤ１２０に保存し、Ｓ３２８において情報系ＯＳ２１０を終了させる。
【００４９】
次に再起動の処理を説明する。
（１）まずＳ３００において、情報系ＯＳ２１０が起動する。
（２）次にＳ３０１において、ダンプファイル復元部２３２は、ＨＤＤ１２０にダンプファイル１２２が存在するかどうかを確認する。終了前（Ｓ３２７）にダンプファイル１２２が生成されているので、ダンプファイル１２２がＨＤＤ１２０にある。このため、Ｓ３０２において、ダンプファイル復元部２３２は、共有メモリ１１１にダンプフラグＦ１を立てる。
（３）次にＳ３０３において、情報系ＯＳ２１０の連携アプリケーションＡ（２３３）を起動する。
（４）そしてＳ３０４において、ＲＴＯＳ２２０を起動する。
（５）その後Ｓ３０５において、ＲＴＯＳ２２０の連携アプリケーションＢ（２４４）も起動する。
（６）その後Ｓ３０６において、Ｓ１０６と同様に、制御データ復元部２４３は、ダンプフラグＦ１の状態を確認する。
【００５０】
（７）ダンプファイル１２２があるので、Ｓ３０７において、ダンプファイル復元部２３２は、ダンプファイル１２２から共有メモリ１１１にダンプファイル１２２に基づき制御データＤ２を復元する。ダンプファイル復元部２３２は、情報系ＯＳ２１０が正常終了判定部２４５による「正常終了しない」との判定後に再起動すると、ＨＤＤ１２０に制御データＤ２のダンプファイルが存在するかどうかを確認し（Ｓ３０１）、存在する場合には制御データＤ２のダンプファイルを、共有メモリ１１１に復元する（Ｓ３０７）。
【００５１】
（正常終了フラグＦ２が立っている場合）
（１）次にＳ３０８において、正常終了判定部２４５は、共有メモリ１１１に復元された制御データＤ２の「正常終了フラグＦ２」の状態を確認する。正常終了フラグＦ２が立っている場合は、処理はＳ３０９に進む。
（２）Ｓ３０９において、正常終了の際は基本データＤ１が読み込まれるため、正常終了判定部２４５は、制御データＤ２をＨＤＤ１２０から削除する。正常終了フラグＦ２が立てられている場合は、Ｓ３１１の処理は迂回される。つまり制御データ復元部２４３は、情報系ＯＳ２１０とＲＴＯＳ２２０とが正常終了判定部２４５によるＲＴ系プログラムｐの正常終了の判定後に再起動（Ｓ３００，Ｓ３０４）した場合には、再開の必要はないのでＲＴ系プログラムｐの再開処理を実行しない。
【００５２】
（３）その後、Ｓ３１０において、データ入出力部２３１、基本データ入出力部２４１の連携により、ＨＤＤ１２０から情報系ＯＳ２１０、共有メモリ１１１を介して、ＲＴＯＳ２２０に基本データＤ１を読み込む。
（４）このように、基本データ入出力部２４１は、情報系ＯＳ２１０とＲＴＯＳ２２０とが正常終了判定部２４５によるＲＴ系プログラムｐの正常終了の判定後に再起動した場合には、データ入出力部２３１部と連携して、ＨＤＤ１２０の基本データＤ１を共有メモリ１１１を介して読み込み、読み込んだ基本データＤ１によってＲＴＯＳ２２０にＲＴ系プログラムを実行させる。
【００５３】
（正常終了フラグＦ２が立っていない場合）
（１）正常終了フラグＦ２が立っていない場合は、処理はＳ３１１に進む。正常終了フラグＦ２が立っていない場合は、処理はＳ３０８からＳ３１１、Ｓ３１２、Ｓ３１３と進むが、この流れは実施の形態１のフローチャートと同じである。すなわち、Ｓ３１１において、制御データ復元部２４３は、共有メモリ１１１からＲＴＯＳ２２０にアプリケーションの再開に必要なデータをロードする。このように、制御データ復元部２４３は、情報系ＯＳ２１０とＲＴＯＳ２２０とが正常終了判定部２４５によるＲＴ系プログラムｐが「正常終了しないとの判定後」に再起動（Ｓ３００，Ｓ３０４）すると、ダンプファイル復元部２３２によって復元（Ｓ３０７、Ｓ３２３）された制御データＤ２に基づいて、ＲＴ系プログラムｐの再開処理を実行する。
（２）その後Ｓ３１２において、制御データ復元部２４３は必要のなくなったダンプファイル１２２をＨＤＤ１２０から削除する。このように処理することにより、Ｓ３１３において、アプリケーション（ＲＴ系プログラムｐ）が再開できる。
【００５４】
このように、実施の形態２では、情報系ＯＳ２１０にて「ソフトウェア異常」が発生した場合には、ＲＴＯＳ２２０で動作していたＲＴ系プログラムｐが正常に終了したかしないかを示す正常終了フラグＦ２を用いて、システムの再開方法が判断される。ＲＴＯＳ２２０で動作していたアプリケーションが正常終了した場合は、制御データ解析が不要（Ｓ３１１の制御データ復元部２４３の処理が不要）となり、再開までの時間が短縮される。
【００５５】
なお、以上の実施の形態１，２では、ＣＰＵはシングルコアで記載しているが、マルチコアであっても良い。また、ＨＤＤはＳＳＤなどの他の二次記憶装置であっても良い。更に、ＯＳの組み合わせは、情報系ＯＳ（第１ＯＳ）とＲＴＯＳ（第２ＯＳ）とを例に説明したが、ＲＴＯＳとＲＴＯＳのように他の組み合わせでも良い。また、情報系ＯＳ及びＲＴＯＳ以外の異なる種別のＯＳどうしの組合せ、あるいは同じ種別のＯＳどうしの組み合わせでも構わない。
【００５６】
以上の実施の形態１，２で述べたＯＳ再開装置１００１、１００２の各「〜部」の動作を、コンピュータに実行させる処理と把握することで、ＯＳ再開装置１００１、１００２の動作を、ＯＳ再開プログラム（ＯＳ動作方法）と把握することもできる。また、同様にＯＳ再開装置１００１、１００２の各「〜部」の動作を、各ステップと把握することで、ＯＳ再開装置１００１、１００２の動作をＯＳ再開方法と把握することもできる。
【００５７】
以上の実施の形態では、ＨＤＤと共有メモリとの間で、基本データ、制御データ等のデータを入出力するデータ入出力部２３１と、ダンプファイルをＨＤＤから共有メモリに復元するダンプファイル復元部２３２と、共有メモリとＲＴＯＳとの基本データを入出力する基本データ入出力部２４１と、ＲＴＯＳから共有メモリへ制御データを出力する制御データ出力部２４２と、共有メモリからＲＴＯＳへ制御データを復元する制御データ復元部２４３とを備えるＯＳ再開装置を説明した。
【００５８】
以上の実施の形態では、情報系ＯＳ２１０にてソフトウェア異常が発生した際に、ＲＴＯＳ上で実行されていたアプリケーションが「正常終了した／していない」の別により、保存するデータとデータの復元方法とを変える正常終了判定部２４５を備えたＯＳ再開装置を説明した。
【符号の説明】
【００５９】
Ｄ１  基本データ、Ｄ２  制御データ、Ｆ１  ダンプフラグ、Ｆ２  正常終了フラグ、１００  Ｈ／Ｗ、１１０  揮発性メモリ、１１１  共有メモリ、１１２  ＲＴＯＳ用メモリ、１１３  情報系ＯＳ用メモリ、１２０  ＨＤＤ、１２２  ダンプファイル、１３０  ＣＰＵ、１４０  独自Ｉ／Ｏ、１５０  ＮＩＣ、１６０  ディスプレイ、１７０  キーボード／マウス、１８０  実線、１９０  破線、２００  Ｓ／Ｗ、２１０  情報系ＯＳ、２１１  メモリダンプ機能部、２２０  ＲＴＯＳ、２３０  情報系アプリケーション、２３１  データ入出力部、２３２  ダンプファイル復元部、２３３  連携アプリケーションＡ、２４０  ＲＴ系アプリケーション、２４１  基本データ入出力部、２４２  制御データ出力部、２４３  制御データ復元部、２４４  連携アプリケーションＢ、２４５  正常終了判定部、１００１，１００２  ＯＳ再開装置。
【図１】
0005791524.tif 000002
【図２】
0005791524.tif 000003
【図３】
0005791524.tif 000004
【図４】
0005791524.tif 000005
【図５】
0005791524.tif 000006
【図６】
0005791524.tif 000007
【図７】
0005791524.tif 000008
【図８】
0005791524.tif 000009
【図９】
0005791524.tif 000010