(57)【要約】【課題】高い安全性を確保しつつグリッド処理を実行可能なシステムを提供する。【解決手段】一つの計算機で稼動する第１のオペレーティングシステム３０および第２のオペレーティングシステム２０を制御するマルチオペレーティングシステム１であって、第１のオペレーティングシステム３０は、通信回線２００を介して、他の装置との共同処理を行う第１の処理手段と、第１の管理者を認証する第１の認証手段と、第１の認証手段が認証に成功した場合に、第１の処理手段による共同処理の実行を許可する第１の処理制御手段とを有し、第２のオペレーティングシステム２０は、当該システム１内における単独処理を行う第２の処理手段と、第２の管理者を認証する第２の認証手段と、第２の認証手段が認証に成功した場合に、第２の処理手段による単独処理の実行を許可する第２の処理制御手段とを有する。【選択図】      図１
2004252629.tif 000002
【特許請求の範囲】
【請求項１】
一つの計算機で稼動する、少なくとも第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステムであって、
前記第１のオペレーティングシステムは、
ネットワークを介して外部と通信する通信手段と、
第１の管理者を認証する第１の認証手段と、
前記第１の認証手段が認証に成功した場合に、前記通信手段を介して他のコンピュータと仮想的に一体となって共同処理を行う第１の処理手段と
を有し、
前記第２のオペレーティングシステムは、
第２の管理者を認証する第２の認証手段と、
前記第２の認証手段が認証に成功した場合に、当該システム内における単独処理を行う第２の処理手段と、
を有することを特徴とするマルチオペレーティングシステム。
【請求項２】
前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムのいずれか一方の処理の実行を許可する実行管理手段をさらに備え、
前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムのうち前記実行管理手段に許可された一方のみが処理を実行することを特徴とする請求項１に記載のマルチオペレーティングシステム。
【請求項３】
前記実行管理手段は、前記通信手段が通信を開始すると、前記第１のオペレーティングシステムの処理の実行を許可し、
前記第１のオペレーティングシステムの前記第１の処理手段は、前記実行管理手段から実行を許可された場合に、前記共同処理を実行することを特徴とする請求項１に記載のマルチオペレーティングシステム。
【請求項４】
前記実行管理手段は、前記通信手段が前記共同処理を統括する統括サーバから実行指示を取得した場合に、前記第１のオペレーティングシステムの処理の実行を許可することを特徴とする請求項３に記載のマルチオペレーティングシステム。
【請求項５】
利用者からの指示を受け付けるユーザインターフェースをさらに備え、
前記実行管理手段は、前記ユーザインターフェースが指示を受け付けない状態で、予め定められた時間が経過した場合に、前記第１のオペレーティングシステムの処理の実行を許可することを特徴とする請求項２から４のいずれか一項に記載のマルチオペレーティングシステム。
【請求項６】
前記実行管理手段は、前記第２のオペレーティングシステムの処理の実行が許可されており、かつ前記第２の処理手段が処理を実行しない状態で、予め定められた時間が経過した場合に、前記第１のオペレーティングシステムの処理を許可することを特徴とする請求項２から５のいずれか一項に記載のマルチオペレーティングシステム。
【請求項７】
利用者からの指示を受け付けるユーザインターフェースをさらに備え、
前記実行管理手段は、前記ユーザインターフェースが利用者からの指示を受け付けると、前記第２のオペレーティングシステムに実行権を与えることを特徴とする請求項２から６のいずれか一項に記載のマルチオペレーティングシステム。
【請求項８】
前記第１のオペレーティングシステムの前記第１の処理手段の実行が開始すると、時間計測を開始する時間計測手段をさらに備え、
前記実行管理手段は、前記時間計測手段が予め定められた時間を計測すると、前記第２のオペレーティングシステムの実行を許可することを特徴とする請求項２から７のいずれか一項に記載のマルチオペレーティングシステム。
【請求項９】
前記第１のオペレーティングシステムは、第１のメモリをさらに有し、
前記第２のオペレーティングシステムは、前記第１のメモリと物理的に異なる領域に割り当てられた第２のメモリをさらに有することを特徴とする請求項１から８のいずれか一項に記載のマルチオペレーティングシステム。
【請求項１０】
前記第１のオペレーティングシステムの前記第１のメモリは、予め定められた大きさの領域を有することを特徴とする請求項９に記載のマルチオペレーティングシステム。
【請求項１１】
前記第１のメモリおよび前記第２のメモリの一方は、前記第１のオペレーティングシステムと前記第２のオペレーティングシステムとを切り替える切り替え命令を処理順番Ｎに対応付けて格納し、
前記第１のメモリおよび前記第２のメモリの他方は、切り替え先のオペレーティングシステムにおける処理の命令を処理順番（Ｎ＋１）に対応付けて格納し、
前記実行管理手段は、前記処理順番に沿って、前記切り替え命令および前記処理の命令を実行することにより前記第１のオペレーティングシステムと前記第２のオペレーティングシステムとを切り替えることを特徴とする請求項９または１０に記載のマルチオペレーティングシステム。
【請求項１２】
前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムは、それぞれ第１のファイルシステムおよび第２のファイルシステムを有し、
前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムは、それぞれ前記第２のファイルシステムおよび前記第１のファイルシステムへのアクセスが禁止されていることを特徴とする請求項１から１１のいずれか一項に記載のマルチオペレーティングシステム。
【請求項１３】
一つの計算機で稼動する第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステム方法であって、
前記第１のオペレーティングシステムが、ネットワークを介して外部と通信する通信ステップと、
前記第１のオペレーティングシステムが、第１の管理者を認証する第１の認証ステップと、
前記第１の認証ステップにおいて認証に成功した場合に、前記第１のオペレーティングシステムが、前記通信手段を介して他の装置との共同処理を行う第１の処理ステップと、
前記第２のオペレーティングシステムが、第２の管理者を認証する第２の認証ステップと、
前記第２の認証ステップにおいて認証に成功した場合に、当該システム内における単独処理を行う第２の処理ステップと、
を有することを特徴とするマルチオペレーティングシステム制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、１つの計算機で２つのオペレーティングシステムが稼動するマルチオペレーティングシステム、およびマルチオペレーティングシステム制御方法に関する。
【０００２】
【従来の技術】
通常の計算機では、一つのオペレーティングシステムのみが動作する。そして、オペレーティングシステムが計算機のプロセッサ、メモリ、二次記憶装置等の計算機資源を管理し、計算機が効率良く動作できるように資源スケジュールを実施している。オペレーティングシステムとしては、バッチ処理に優れるものや、ＴＳＳ（Ｔｉｍｅ  Ｓｈａｒｉｎｇ  Ｓｙｓｔｅｍ）に優れるもの、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）に優れているものなど多種のものが知られている。
【０００３】
複数のオペレーティングシステムを一台の計算機で同時に実行するいわゆるマルチオペレーティングシステムも開発されている。例えば、一台の計算機に、実際の業務に伴うオンライン処理を実行するオペレーティングシステムと、開発用のオペレーティングシステムとを搭載し、各オペレーティングシステムを実行するシステムが知られている。
【０００４】
さらに、マルチオペレーティングシステムにおける不正アクセスを防止する技術も開示されている（例えば、特許文献１，特許文献２参照）。
【０００５】
一方、ネットワークを介して複数の  ＨＹＰＥＲＬＩＮＫ  ”ｈｔｔｐ：／／ｅ−ｗｏｒｄｓ．ｊｐ／ｗ／Ｅ３８２Ｂ３Ｅ３８３Ｂ３Ｅ３８３９４Ｅ３８３Ａ５Ｅ３８３ＢＣＥ３８２ＢＦ．ｈｔｍｌ”  コンピュータを結ぶことで仮想的に高性能コンピュータをつくり、複数のコンピュータに並列処理を行わせる、いわゆるグリッドコンピューティングが知られている。グリッドコンピューティングによれば、一台一台のコンピュータの性能は低くとも、全体として高速に大量の処理を実行できる。近年では、ビジネス利用や学術研究など、グリッドコンピューテリングの利用の機会が検討されている。
【０００６】
【特許文献１】
特開２００２−３１８７１９号公報
【特許文献２】
特開２００２−２５１３２６号公報
【０００７】
【発明が解決しようとする課題】
グリッドコンピューティングを制御するグリッドサーバから悪意で、不正なアプリケーションが送り込まれる恐れがある。これにより、個人のコンピュータからの情報が盗まれる、または情報が破壊されるという問題が生じる。
【０００８】
逆に、個人のコンピュータのユーザが誤操作や悪意などによりグリッドサーバから送られたアプリケーションを改ざんする恐れもある。アプリケーションが改ざんされた場合には、正しい結果がグリッドサーバに返送されないという問題が生じる。
【０００９】
この発明は上記に鑑みてなされたもので、高い安全性を確保しつつグリッド処理を実行可能なシステムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、一つの計算機で稼動する、少なくとも第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステムであって、前記第１のオペレーティングシステムは、ネットワークを介して外部と通信する通信手段と、第１の管理者を認証する第１の認証手段と、前記第１の認証手段が認証に成功した場合に、前記通信手段を介して、他のコンピュータと仮想的に一体となって共同処理を行う第１の処理手段とを有し、前記第２のオペレーティングシステムは、第２の管理者を認証する第２の認証手段と、前記第２の認証手段が認証に成功した場合に、当該システム内における単独処理を行う第２の処理手段とを有することを特徴とする。
【００１１】
この請求項１の発明によれば、第１のオペレーティングシステムと第２のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができる。
【００１２】
また、請求項２にかかる発明は、請求項１に記載のマルチオペレーティングシステムであって、前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムのいずれか一方の処理の実行を許可する実行管理手段をさらに備え、前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムのうち前記実行管理手段に許可された一方のみが処理を実行することを特徴とする。
【００１３】
この請求項２の発明によれば、切り替え制御手段は、第１のオペレーティングシステムおよび第２のオペレーティングシステムのいずれか一方にのみ実行権を与えるので、これにより、２つのオペレーティングシステムは、１つのハードウェア資源を時分割して有効に活用することができる。
【００１４】
また、請求項３にかかる発明は、請求項１に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記通信手段が通信を開始すると、第１のオペレーティングシステムの処理の実行を許可し、前記第１のオペレーティングシステムの前記第１の処理手段は、実行管理手段から実行を許可された場合に、前記共同処理を実行することを特徴とする。
【００１５】
この請求項３の発明によれば、通信手段は、グリッド処理などの共同処理を実行するオペレーティングシステム側にのみ割り当てられているので、外部から不正アクセスがあった場合であっても、その被害が第２のオペレーティングシステムに及ぶのを防ぐことができる。
【００１６】
また、請求項４にかかる発明は、請求項３に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記通信手段が前記共同処理を統括する統括サーバから実行指示を取得した場合に、前記第１のオペレーティングシステムの処理の実行を許可することを特徴とする。
【００１７】
この請求項４の発明によれば、グリッドサーバからの指示を取得したことを条件として第１のオペレーティングシステムに実行権を与えることができる。このように、所定のイベントによりオペレーティングシステムを切り替えることにより、不正アクセスなど一方のオペレーティングシステムにおける悪影響が他方に及ぶのを避けることができる。
【００１８】
また、請求項５にかかる発明は、請求項２から４のいずれか一項に記載のマルチオペレーティングシステムであって、利用者からの指示を受け付けるユーザインターフェースをさらに備え、前記実行管理手段は、前記ユーザインターフェースが指示を受け付けない状態で、予め定められた時間が経過した場合に、前記第１のオペレーティングシステムの処理の実行を許可することを特徴とする。
【００１９】
この請求項５の発明によれば、利用者から指示を受け付けない状態で、所定の時間が経過した場合に、第１のオペレーティングシステムに切り替えることができる。これにより、ユーザによる誤操作の影響が第１のオペレーティングシステムに及ぶのを避けることができる。
【００２０】
また、請求項６にかかる発明は、請求項２から５のいずれか一項に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記第２のオペレーティングシステムの処理の実行が許可されており、かつ前記第２の処理手段が処理を実行しない状態で、予め定められた時間が経過した場合に、前記第１のオペレーティングシステムの処理を許可することを特徴とする。
【００２１】
この請求項６の発明によれば、第２のオペレーティングシステムにおける処理がアイドル状態になった場合に、第１のオペレーティングシステムに切り替えることができる。これにより、ハードウェア資源を有効に活用することができる。
【００２２】
また、請求項７にかかる発明は、請求項２から６のいずれか一項に記載のマルチオペレーティングシステムであって、利用者からの指示を受け付けるユーザインターフェースをさらに備え、前記実行管理手段は、前記ユーザインターフェースが利用者からの指示を受け付けると、前記第２のオペレーティングシステムに実行権を与えることを特徴とする。
【００２３】
この請求項７の発明によれば、利用者からの指示を受け付けた場合に、第２のオペレーティングシステムに切り替えることができるので、ユーザの利便性を保つことができる。
【００２４】
また、請求項８にかかる発明は、請求項２から７のいずれか一項に記載のマルチオペレーティングシステムであって、前記第１のオペレーティングシステムの前記第１の処理手段の実行が開始すると、時間計測を開始する時間計測手段をさらに備え、前記実行管理手段は、前記時間計測手段が予め定められた時間を計測すると、前記第２のオペレーティングシステムの実行を許可することを特徴とする。
【００２５】
この請求項８の発明によれば、第１のオペレーティングシステムが所定の時間実行されると、第２のオペレーティングシステムに切り替えることができる。これにより、第１のオペレーティングシステムは、ハードウェア資源を時間単位で占有することができる。このように時間単位の実行を可能とすることにより、ひいては、時間チャージでのハードウェア資源のレンタルなども可能である。
【００２６】
また、請求項９にかかる発明は、請求項１から８のいずれか一項に記載のマルチオペレーティングシステムであって、前記第１のオペレーティングシステムは、第１のメモリをさらに有し、前記第２のオペレーティングシステムは、前記第１のメモリと物理的に異なる領域に割り当てられた第２のメモリをさらに有することを特徴とする。
【００２７】
この請求項９の発明によれば、第１のオペレーティングシステムおよび第２のオペレーティングシステムには、それぞれ物理的に異なるメモリが割り当てられている。したがって、一方に不正アクセスがあった場合でも、他方のメモリにその影響が及ぶのを避けることができる。
【００２８】
また、請求項１０にかかる発明は、請求項９に記載のマルチオペレーティングシステムであって、前記第１のオペレーティングシステムの前記第１のメモリは、予め定められた大きさの領域を有することを特徴とする。
【００２９】
この請求項１０の発明によれば、第１のオペレーティングシステムの第１のメモリは、予め定められた大きさの領域を有しているので、第２のオペレーティングシステムが大きな容量のメモリを必要とする場合であっても、第２のオペレーティングシステムに対して一定のメモリ容量が確保されているので、オペレーティングシステムが併存することにより、第２のオペレーティングシステムの処理効率が低下するのを避けることができる。
【００３０】
また、請求項１１にかかる発明は、請求項９または１０に記載のマルチオペレーティングシステムであって、前記第１のメモリおよび前記第２のメモリの一方は、前記第１のオペレーティングシステムと前記第２のオペレーティングシステムとを切り替える切り替え命令を処理順番Ｎに対応付けて格納し、前記第１のメモリおよび前記第２のメモリの他方は、切り替え先のオペレーティングシステムにおける処理の命令を処理順番（Ｎ＋１）に対応付けて格納し、前記実行管理手段は、前記処理順番に沿って、前記切り替え命令および前記処理の命令を実行することにより前記第１のオペレーティングシステムと前記第２のオペレーティングシステムとを切り替えることを特徴とする。
【００３１】
この請求項１１の発明によれば、切り替え処理命令と、切り替え先のオペレーティングシステムにおける処理とが連続して実行されるべく格納されているので、処理順番に沿って命令が実行されることにより、自動的にオペレーティングシステムを切り替えることができる。
【００３２】
また、請求項１２にかかる発明は、請求項１から１１のいずれか一項に記載のマルチオペレーティングシステムであって、前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムは、それぞれ前記第１のファイルシステムおよび前記第２のファイルシステムを有し、前記第１のオペレーティングシステムおよび前記第２のオペレーティングシステムは、それぞれ前記第２のファイルシステムおよび前記第１のファイルシステムへのアクセスが禁止されていることを特徴とする。
【００３３】
この請求項１２の発明によれば、第１のオペレーティングシステムおよび第２のオペレーティングシステムは、それぞれ第２のファイルシステムおよび第１のファイルシステムへのアクセスが禁止されているので、一方に不正アクセスがあった場合であっても、他方のオペレーティングシステムのファイルシステムに不正アクセスの影響が及ぶのを避けることができる。
【００３４】
また、請求項１３にかかる発明は、一つの計算機で稼動する第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステム方法であって、前記第１のオペレーティングシステムが、ネットワークを介して外部と通信する通信ステップと、前記第１のオペレーティングシステムが、第１の管理者を認証する第１の認証ステップと、前記第１の認証ステップにおいて認証に成功した場合に、前記第１のオペレーティングシステムが、前記通信手段を介して他の装置との共同処理を行う第１の処理ステップと、前記第２のオペレーティングシステムが、第２の管理者を認証する第２の認証ステップと、前記第２の認証ステップにおいて認証に成功した場合に、当該システム内における単独処理を行う第２の処理ステップとを有することを特徴とする。
【００３５】
この請求項１３の発明によれば、第１のオペレーティングシステムと第２のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができる。
【００３６】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるマルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法の好適な実施の形態を詳細に説明する。
【００３７】
（実施の形態１）
図１は、この発明の実施の形態１であるマルチオペレーティングシステム１の全体構成を示すブロック図である。
【００３８】
マルチオペレーティングシステム１は、一つのハードウェア１０上に単独処理オペレーティングシステム（ＯＳ）２０およびグリッド専用オペレーティングシステム（ＯＳ）３０を搭載している。ここで、単独処理ＯＳ２０は、例えば、Ｗｉｎｄｏｗｓ（Ｒ）などであってもよい。また、グリッド専用ＯＳ３０は、例えばＵＮＩＸ（Ｒ）やＬｉｎｕｘ（Ｒ）であってもよい。グリッド専用ＯＳ３０は、単独処理ＯＳ２０よりもセキュリティ面で優れたＯＳであることが望ましい。
【００３９】
グリッド専用ＯＳ３０は、グリッドミドルウェア３２を搭載している。そして、グリッドミドルウェア３２は、さらに第１グリッドアプリケーション（ＡＰ）３４および第２グリッドアプリケーション（ＡＰ）３５を搭載している。グリッドミドルウェア３２は、第１グリッドＡＰ３４および第２グリッドＡＰ３５と、グリッド専用ＯＳ３０との不一致を吸収し、グリッド３０上での、第１グリッドＡＰ３４および第２グリッドＡＰ３５の実行を可能にする。
【００４０】
単独処理ＯＳ２０は、第１単独処理アプリケーション（ＡＰ）２２および第２単独処理アプリケーション（ＡＰ）２３を搭載している。単独処理ＯＳ２０は、これらのプログラムを実行して当該マルチオペレーティングシステム１における独立した処理である単独処理を行う。
【００４１】
ここで、グリッド専用ＯＳ３０および単独処理ＯＳ２０は、それぞれ本発明の第１のオペレーティングシステムおよび第２のオペレーティングシステムを構成する。
【００４２】
グリッド専用ＯＳ３０は、ネットワーク２００を介してグリッドサーバ２と通信し、他の装置と共同してグリッド処理を行う。なお、グリッドサーバ２は、本発明の統括サーバを構成する。
【００４３】
ここで、グリッド処理とは、ネットワーク２００を介して複数の  ＨＹＰＥＲＬＩＮＫ  ”ｈｔｔｐ：／／ｅ−ｗｏｒｄｓ．ｊｐ／ｗ／Ｅ３８２Ｂ３Ｅ３８３Ｂ３Ｅ３８３９４Ｅ３８３Ａ５Ｅ３８３ＢＣＥ３８２ＢＦ．ｈｔｍｌ”  コンピュータを結ぶことで仮想的に高性能コンピュータをつくり、複数のコンピュータに処理の一部を行わせる並列処理のことである。ユーザがコンピュータを利用しない間に、当該コンピュータに大きな計算の一部を割り当てることができる。このように、複数のコンピュータが並列処理を行うことにより、短時間で大量の処理を実行できる。
【００４４】
図２は、図１に示したマルチオペレーティングシステム１の機能構成を示すブロック図である。グリッドミドルウェア３２は、実行スケジュール管理部３２０と、コマンド送受信部３２２と、ファイルアクセス制御部３２４と、認証部３２６とを有している。
【００４５】
実行スケジュール管理部３２０は、第１グリッドＡＰ３４および第２グリッドＡＰ３５により実行されるグリッド処理のスケジュールを管理する。コマンド送受信部３２２は、例えばグリッドサーバ２など外部から取得したコマンドを第１グリッドＡＰ３４または第２グリッドＡＰ３５に送る。コマンド送受信部３２２はまた、第１グリッドＡＰ３４または第２グリッドＡＰ３５から取得したコマンドをグリッド専用ＯＳ３０に送る。
【００４６】
ファイルアクセス制御部３２４は、第１グリッドＡＰ３４および第２グリッドＡＰ３５からのファイルアクセスを制御する。認証部３２６は、グリッドサーバ２から取得した認証用パケットの認証を行う。
【００４７】
単独処理ＯＳ２０は、グリッド専用ＯＳ３０と同様に実行スケジュール管理部２２０と、コマンド送受信部２２２と、ファイルアクセス制御部２２４と、認証部２２６とを有している。なお、各部は、グリッド専用ＯＳ３０における同一名の各部と同様の処理を行う。
【００４８】
なお、単独処理ＯＳ２０の認証部２２６およびグリッド専用ＯＳ３０の認証部３２６は、それぞれ異なる利用者を認証する。すなわち、単独処理ＯＳ２０の利用権限を利用者のみに割り当て、グリッド専用ＯＳ３０の利用権限をグリッド管理者のみに割り当てる。これにより、利用者がグリッド専用ＯＳ３０に不正にアクセスするのを防ぐことができる。また、単独処理ＯＳ２０や単独処理ＯＳ２０に搭載された第１単独処理ＡＰ２２および第２単独処理ＡＰ２３がグリッド専用ＯＳ３０に不正にアクセスするのを防ぐことができる。同様にグリッド専用ＯＳ３０やグリッド専用ＯＳ３０に搭載されたグリッドミドルウェア３２、第１グリッドＡＰ３４、第２グリッドＡＰ３５が単独処理ＯＳ２０に不正にアクセスするのを防ぐことができる。
【００４９】
また、単独処理ＯＳ２０およびグリッド専用ＯＳ３０は、互いのＯＳを切り替えるＯＳ切り替え処理部２４およびＯＳ切替え処理部３３をそれぞれ有している。また、ハードウェア１０は、単独処理ＯＳ２０およびグリッド専用ＯＳ３０の処理の実行を制御する実行管理部１５０を有している。
【００５０】
図３は、マルチオペレーティングシステム１のハードウェア構成を示している。マルチオペレーティングシステム１は、ハードウェア構成として、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ１００と、キーボード、マウスなどのユーザインターフェース１０２と、ＣＰＵ１０４と、メモリ１２と、タイマ１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１１０と、第１ディスク１２０と、第２ディスク１３０とを有している。
【００５１】
ＣＰＵ１００は、単独処理ＯＳ２０およびグリッド専用ＯＳ３０の両方を制御する。メモリ１２およびタイマ１０８は、いずれも単独処理ＯＳ２０およびグリッド専用ＯＳ３０の両方に割り当てられている。また、ＣＲＴディスプレイ１００、ユーザインターフェース１０２および第１ディスク１２０は、単独処理ＯＳ２０のみに割り当てられている。
【００５２】
ＮＩＣ１１０および第２ディスク１３０は、グリッド専用ＯＳ３０のみに割り当てられている。グリッド処理は、グリッドサーバ２からの指示により自動的に実行されるのでユーザインターフェース１０２からの指示を必要としない。そこで、ユーザインターフェース１０２を単独処理ＯＳ２０にのみ割り当てている。
【００５３】
グリッドサーバ２との通信を介して他の装置との共同による処理を行っているため、この通信を利用した不正アクセスなどにより、ハードウェア１０の環境に悪影響を及ぼす可能性がある。
【００５４】
これに対して、本実施の形態においては、単独処理ＯＳ２０とグリッド専用ＯＳ３０とが独立して併存している。すなわち、単独処理ＯＳ２０から第２ディスク１３０へアクセスできないなど、単独処理ＯＳ２０とグリッド専用ＯＳ３０が利用するハードウェア資源も物理的に分離されているので、一方のＯＳの影響が他方のＯＳに及ぶのを避けることができる。
【００５５】
ＮＩＣ１１０は、グリッドサーバ２から通信がきた場合に、電文内容を判別し、電文がグリッドミドルウェア３２または第１グリッドＡＰ３４、第２グリッドＡＰ３５宛である場合には、グリッド専用ＯＳ３０に電文を渡す。一方、単独処理ＯＳ２０側宛である場合には、擬似ＮＩＣ−Ｉ／Ｆ１２０を介して単独処理ＯＳ２０等に電文を送る。ここで、擬似ＮＩＣ−Ｉ／Ｆ１２０は、ＮＩＣの対ソフトウェアインターフェースを擬似したインターフェースであり、単独処理ＯＳ２０の通信を支援する。
【００５６】
図４は、図２を参照しつつ説明したマルチオペレーティングシステム１の機能構成をより具体的に示したブロック図である。ハードウェア１０は、制御部１１、物理メモリ１２、割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５、プログラムカウンタ１６等を有している。
【００５７】
単独処理ＯＳ２０は、割り込み振分処理部２１１  、割り込み処理部２２１  、割り込みベクタテーブル２３１  、ページテーブル２４１  、レジスタ退避領域２５１  等を有している。
【００５８】
一方、グリッド専用ＯＳ３０は、単独処理ＯＳ２０と併設されており、割り込み振分処理部２１２  、割り込み処理部２２２  、割り込みベクタテーブル２３２  、ページテーブル２４２  、レジスタ退避領域２５２  等を有している。
【００５９】
ハードウェア１０において、制御部１１は、ＣＰＵ等であり、プログラム実行により各部を制御する。物理メモリ１２は、物理的に実在する大容量の記憶装置であり、図５に示したように、仮想記憶制御方式に用いられ、各種命令やデータ等を実際に記憶する。
【００６０】
物理メモリ１２に対応して、仮想メモリ空間４０１  および仮想メモリ空間４０２  が仮想的に構築されている。仮想メモリ空間４０１  は、単独処理ＯＳ２０側に対応して設けられている。また、仮想メモリ空間４０２は、グリッド専用ＯＳ３０側に対応して設けられている。このように、仮想メモリ空間４０１および仮想メモリ空間４０２の容量は、予め定められている。したがって、例えばグリッド専用ＯＳ３０の第１グリッドＡＰ３４等が大量にメモリを消費するプログラムであっても、単独処理ＯＳ２０側の仮想メモリ空間４０１を利用することがないので、単独処理ＯＳ２０の処理に影響を与えることはない。また、グリッド専用ＯＳ３０がＣＰＵ使用率の高いプログラムであっても、ハードウェア割り込み等を契機にＯＳが切り替るので、単独処理ＯＳ２０の処理に影響を与えることはない。
【００６１】
仮想メモリ空間４０１  は、単独処理ＯＳ２０側に対応して設けられており、物理メモリ１２のＯＳ用物理メモリ領域１２ａ１  およびＡＰ用物理メモリ領域１２ｂ１  にマッピングされている。
【００６２】
すなわち、物理メモリ１２に対応して、仮想メモリ空間４０１  および仮想メモリ空間４０２  が仮想的に構築されている。仮想メモリ空間４０１  は、単独処理ＯＳ２０側に対応して設けられており、物理メモリ１２のＯＳ用物理メモリ領域１２ａ１  およびＡＰ用物理メモリ領域１２ｂ１  にマッピングされている。
【００６３】
具体的には、ＯＳ用仮想メモリ空間４０ａ１  は、単独処理ＯＳ２０で利用されるメモリ空間であり、ＯＳ用物理メモリ領域１２ａ１  にマッピングされている。ＡＰ用仮想メモリ空間４０ｂ１  は、第１単独処理ＡＰ２２および第２単独処理ＡＰ２３で利用されるメモリ空間であり、ＡＰ用物理メモリ領域１２ｂ１  にマッピングされている。
【００６４】
一方、仮想メモリ空間４０２  は、グリッド専用ＯＳ３０側に対応して設けられており、物理メモリ１２のＯＳ用物理メモリ領域１２ａ２  およびＡＰ用物理メモリ領域１２ｂ２  にマッピングされている。
【００６５】
具体的には、ＯＳ用仮想メモリ空間４０ａ２  は、グリッド専用ＯＳ３０で利用されるメモリ空間であり、ＯＳ用物理メモリ領域１２ａ２  にマッピングされている。ＡＰ用仮想メモリ空間４０ｂ２  は、第１グリッド３４および第２グリッドＡＰ３５で利用されるメモリ空間であり、ＡＰ用物理メモリ領域１２ｂ２  にマッピングされている。
【００６６】
物理メモリ１２では、物理的な記憶単位に物理アドレスが付与されている。一方、仮想メモリ空間４０１  および仮想メモリ空間４０２  では、プログラム中で用いられる論理アドレスによって命令やデータが特定される。仮想記憶制御方式では、ページング方式、セグメンテーション方式、ページング／セグメンテーション方式により、論理アドレスを物理アドレスに変換している。
【００６７】
ページング方式では、アドレス変換がページと呼ばれるブロック単位（４キロバイト）で行われる。このため、単独処理ＯＳ２０においては、仮想メモリ空間４０１  の仮想ページが、物理メモリ１２のどの物理ページに対応しているかを表すページテーブル（変換テーブル）２４１  が設けられている。同様にして、グリッド専用ＯＳ３０においても、仮想メモリ空間４０２  のページが、物理メモリ１２のどのページに対応しているかを表すページテーブル（変換テーブル）２４２  が設けられている。
【００６８】
また、図６（ｂ）に示したように、仮想メモリ空間４０１  のＮ番地（論理アドレス）には、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えるための切替命令Ａが記憶されている。一方、仮想メモリ空間４０２  において、仮想メモリ空間４０１  のＮ番地と同一のＮ番地には、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えるための切替命令Ｂが記憶されている。
【００６９】
図４に戻り、割り込みベクタテーブルレジスタ１３は、割り込みに応じた割込番号を格納するレジスタである。この割込番号は、後述する割り込みベクタテーブル２３１  または割り込みベクタテーブル２３２  での割り込み処理ルーチンの論理アドレスに対応している。
【００７０】
ページテーブルレジスタ１４は、ページテーブル２４１  またはページテーブル２４２  へのページインデックスを格納するレジスタである。その他レジスタ１５は、汎用レジスタ、フラグレジスタ等である。プログラムカウンタ１６は、仮想メモリ空間から命令をフェッチする論理アドレスを１インクリメントする。
【００７１】
単独処理ＯＳ２０において、割り込み振分処理部２１１  は、割り込み発生時に、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部２１１  の処理は、割り込み発生時に制御部１１内部で実行される。
【００７２】
割り込み処理部２２１  は、割り込み処理ルーチン、ＯＳ切り替え処理（単独処理ＯＳ２０からグリッド専用ＯＳ３０）を実行する。割り込みベクタテーブル２３１  は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル２４１  は、仮想メモリ空間４０１（図５参照）の各仮想ページと、物理メモリ１２の各物理ページとの対応関係を表すテーブルである。
【００７３】
レジスタ退避領域２５１  は、ＯＳ切り替え時に、切り替え前のＯＳに対応するレジスタ（割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５）の内容を退避するための領域である。具体的には、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えられる場合、レジスタ退避領域２５１  には、図６（ａ）に示したように、単独処理ＯＳ２０に対応するレジスタの内容が退避される。
【００７４】
一方、グリッド専用ＯＳ３０において、割り込み振分処理部２１２  は、割り込み発生時に、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３２  を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部２１２  の処理は、割り込み発生時に制御部１１内部で実行される。
【００７５】
割り込み処理部２２２  は、割り込み処理ルーチン、ＯＳ切り替え処理（グリッド専用ＯＳ３０から単独処理ＯＳ２０）を実行する。割り込みベクタテーブル２３２  は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル２４２  は、仮想メモリ空間４０２（図５参照）の各仮想ページと、物理メモリ１２の各物理ページとの対応関係を表すテーブルである。
【００７６】
レジスタ退避領域２５２  は、ＯＳ切り替え時に、切り替え前のＯＳに対応するレジスタ（割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５）の内容を退避するための領域である。具体的には、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる場合、レジスタ退避領域２５２  には、図６（ａ）に示したように、グリッド専用ＯＳ３０に対応するレジスタの内容が退避される。
【００７７】
つぎに、図７を参照して、ＯＳ切替え処理部２４およびＯＳ切替え処理部３３の具体的な動作原理について説明する。同図の例では、単独処理ＯＳ２０が動作状態にあり、グリッド専用ＯＳ３０が待機状態にあるものとする。この状態で、単独処理ＯＳ２０側で割り込みが発生すると、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  のＬ番地より、割り込み処理ルーチンが実行される。
【００７８】
以後、プログラムカウンタ１６（図４参照）が１インクリメントされる毎に、仮想メモリ空間４０１  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０１  のＮ番地で切替命令Ａが実行され、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えられる。
【００７９】
つぎに、プログラムカウンタ１６が１インクリメントされ、論理アドレスがＮ＋１番地になると、仮想メモリ空間４０２  のＮ＋１番地の命令が実行される。以後、プログラムカウンタ１６が１インクリメントされる毎に、仮想メモリ空間４０２  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる。
【００８０】
以後、プログラムカウンタ１６が１インクリメントされる毎に、仮想メモリ空間４０２  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０２  のＮ番地で切替命令Ｂが実行され、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる。
【００８１】
つぎに、プログラムカウンタ１６が１インクリメントされ、論理アドレスがＮ＋１番地になると、仮想メモリ空間４０１  のＮ＋１番地のＩＲＥＴが実行され、割り込みから復帰される。なお、グリッド専用ＯＳ３０側で割り込みが発生した場合も、上述と同様に動作する。
【００８２】
図８は、一方のＯＳから他方のＯＳに実行権を移す場合、すなわちＯＳを切り替える場合のマルチオペレーティングシステム１全体の処理を示すフローチャートである。
【００８３】
単独処理ＯＳ２０における処理が実行中であるときに（ステップＳ１００，Ｙｅｓ）、グリッド専用ＯＳ３０に割り当てられたＮＩＣ１１０が、グリッドサーバ２からグリッド管理者認証用のパケットおよび実行指示を受信すると（ステップＳ１０２，Ｙｅｓ）、実行管理部１５０は、グリッド専用ＯＳ３０の処理を許可する（ステップＳ１１０）。これにより、グリッド専用ＯＳ３０は、グリッド処理を開始する（ステップＳ１１２）。なお、このときグリッド処理がすでに実行され、中断されている状態である場合には、中断されている時点から処理を続行する。
【００８４】
他の例としては、実行管理部１５０は、ＮＩＣ１１０が通信を開始したことを条件としてグリッド専用ＯＳ３０の処理を許可してもよい。
【００８５】
また、単独処理ＯＳ２０における処理の実行中に（ステップＳ１００，Ｙｅｓ）、ユーザインターフェース１０２から指示を受け付ない状態で、予め定められた時間が経過した場合（ステップＳ１０４，Ｙｅｓ）、および単独処理ＯＳ２０がアイドル状態で予め定められた時間が経過した場合、すなわち、単独処理ＯＳ２０における処理が実行されていない状態で所定の時間が経過した場合（ステップＳ１０６，Ｙｅｓ）にも、同様に実行管理部１５０は、グリッド専用ＯＳ３０の処理を許可する（ステップＳ１１０）。
【００８６】
一方、グリッド専用ＯＳ３０における処理が実行中であるときに（ステップＳ１００，Ｎｏ）、単独処理ＯＳ２０に割り当てられたユーザインターフェース１０２から指示を受け付けると（ステップＳ１２０，Ｙｅｓ）、実行管理部１５０は、単独処理ＯＳ２０の処理を許可する（ステップＳ１３０）。これにより、単独処理ＯＳ２０は、単独処理を開始する（ステップＳ１３２）。なお、このとき単独処理がすでに実行され、中断された状態である場合には、中断されている時点から処理を続行する。
【００８７】
また、グリッド専用ＯＳ３０における処理が開始してから所定の時間が経過した場合にも（ステップＳ１２２）、実行管理部１５０は、実行権をグリッド専用ＯＳ３０から単独処理ＯＳ２０に与える（ステップＳ１３０）。
【００８８】
ここで、グリッド専用ＯＳ３０における処理が開始してから所定の時間が経過したか否かは、タイマ１０８の計測した時間に基づいて実行管理部１５０が判断する。具体的には、グリッド専用ＯＳ３０の処理が開始すると、タイマ１０８は、時間の計測を開始する。そして、実行管理部１５０は、タイマ１０８が予め定められた時間を計測したことを条件として、グリッド専用ＯＳ３０から単独処理ＯＳ２０の処理を許可する。
【００８９】
このように、所定の時間が経過すると、単独処理ＯＳ２０に実行権が与えられるので、一旦グリッド処理が開始すると、マルチオペレーティングシステム１の資源がグリッド処理に使われ続けるという状況を避けることができる。このように、所定の時間だけハードウェア資源をグリッド処理に割り当てることができるので、ハードウェア資源を有効に活用することができる。
【００９０】
なお、グリッド専用ＯＳ３０から単独処理ＯＳ２０に切り替える条件となる時間は、ユーザインターフェース１０２を介して利用者が設定してもよい。
【００９１】
以上の処理は、物理メモリ１２に格納されている命令の実行スケジュールに沿って実行される。例えば、仮想メモリ空間４０２において、ユーザインターフェース１０２による入力割り込み処理ルーチンに続いて単独処理ＯＳ２０の処理が実行されるようスケジュールされている。一方、仮想メモリ空間４０１において、入力割り込み処理ルーチンに続いて単独処理ＯＳ２０の処理が実行されるようスケジュールされている。そしてこの命令が実行スケジュールに沿って実行されると、ユーザインターフェース１０２からの割り込みの発生に続いて、自動的にグリッド専用ＯＳ３０の処理から単独処理ＯＳ２０の処理に移行する。
【００９２】
また、例えば仮想メモリ空間４０１において、ＮＩＣ１１０が認証用パケットを受信した場合の受信割り込み処理ルーチンに続いてグリッド専用ＯＳ３０の処理が実行されるようスケジュールされている。一方、仮想メモリ空間４０２においては、受信割り込み処理ルーチンに続いてグリッド専用ＯＳ３０の処理が実行されるようスケジュールされている。そして、この命令が実行スケジュールに沿って実行されると、受信割り込みの発生に続いて、自動的に単独処理ＯＳ２０の処理からグリッド専用ＯＳ３０の処理に移行する。
【００９３】
ここで、単独処理ＯＳ２０の処理からグリッド専用ＯＳ３０の処理に移行する場合の処理についてさらに詳述する。
【００９４】
実行スケジュール管理部３２０は、図９に示すＯＳ切り替えテーブル３２１を有している。ＯＳ切り替えテーブル３２１は、ＯＳ切り替え要因を識別するＯＳ切り替え要因割り込み番号と、各切り替え要因の閾値とを対応付けている。実行スケジュール管理部３２０は、予めグリッドタスク量指数を設定しておく。
【００９５】
ここで、グリッドタスク量指数とは、グリッド処理のタスク量を評価するための値である。実行スケジュール管理部３２０は、グリッドタスク量指数の大きさに基づいて、ＯＳを切り替えるか否かを決定する。
【００９６】
また、実行スケジュール管理部３２０は、第１グリッドＡＰ３４および第２グリッドＡＰ３５の稼動状況を監視し、稼動状況に合わせグリッドタスク量指数を更新する。さらにまた、ＮＩＣ１１０を介してグリッドサーバ２から受信したコマンドを解析し、解析結果に応じてグリッドタスク量指数を更新する。
【００９７】
例えば、グリッド専用ＯＳ３０の走行中に、タイマ割り込みが発生すると、ＯＳ切替え処理部３３は、実行スケジュール管理部３２０にタイマ割り込みを識別する割り込み番号を送る。そして、実行スケジュール管理部３２０は、コマンド送受信部３２２において、受け取った割り込み番号に対応付けられているＯＳ切り替え閾値と、現在設定されているグリッドタスク量指数とを比較する。ＯＳ切り替え閾値がグリッドタスク量指数に比べて大きい場合には、ＯＳ切替え処理部３３に対して、ＯＳの切り替え命令を送る。また、ＯＳ切り替え閾値がグリッドタスク量指数に比べて小さい場合にはＯＳ切替え処理部３３に対してＯＳを切り替えを行わない旨の命令を送る。このように、実行スケジュール管理部３２０は、ＯＳ切替え処理部３３によるＯＳの切り替えを制御している。
【００９８】
切り替えを行わない旨の命令を送った場合には、その後もグリッド処理が継続して実行されるので、次回割り込みが発生した場合には、切り替えイベントの発生時には必ずＯＳを切り替えるべく、ＯＳ切り替え閾値をより大きな値に更新しても良い。これにより、グリッドタスク量が大きな値であっても確実にＯＳの切り替えを実行することができる。
【００９９】
このように、実行スケジュール管理部３２０は、グリッド処理のタスク量に応じてＯＳの切り替えを制御しているので、各ＯＳのタスク量に応じたハードウェア資源の割り当てを行うことができる。
【０１００】
次に、図１０を参照しつつ、図５におけるステップＳ１０２において認証用パケットを受信した場合の、ステップＳ１１２におけるグリッド専用ＯＳ３０における処理について説明する。
【０１０１】
認証用パケットを受信した場合には、認証用パケットからグリッド管理者であることを認証する（ステップＳ２００）。認証に成功した場合には（ステップＳ２０２）、実行ユーザの権限を付与する（ステップＳ２０４）。次に、第１グリッドＡＰ３４または第２グリッドＡＰ３５からファイルアクセスがあった場合には（ステップＳ２０６，Ｙｅｓ）、ファイルアクセス制御部３２４は、ファイルアクセスのユーザ権限を認証する（ステップＳ２０８）。認証に成功した場合には（ステップＳ２１０）、ファイルアクセス制御部３２４は、第１グリッドＡＰ３４または第２グリッドＡＰ３５から第２ディスク１３０へのアクセスを許可する（ステップＳ２２０）。
【０１０２】
また、実行ユーザ権限の認証に成功しなかった場合には（ステップＳ２１０，Ｎｏ）、ファイルアクセス制御部３２４は、第１グリッドＡＰ３４または第２グリッドＡＰ３５から第２ディスク１３０へのアクセスを禁止する（ステップＳ２３０）。そして、第１グリッドＡＰ３４または第２グリッドＡＰ３５に対してエラーを返す（ステップＳ２３２）。以上で、ステップＳ１１２における処理が終了する。
【０１０３】
次に、図１１から図２３を参照しつつ、切り替え処理における動作例１〜９について説明する。
【０１０４】
（動作例１）
図１１は、一実施の形態の動作例１を説明する図である。動作例１では、仮想メモリ空間４０１  および仮想メモリ空間４０２  の各論理アドレスには、同図に示した処理に対応する各種命令が割り当てられている。
【０１０５】
同図の例では、単独処理ＯＳ２０が動作状態にあり、グリッド専用ＯＳ３０が待機状態にあるものとする。この状態で、単独処理ＯＳ２０側で割り込みが発生すると、割り込み振分処理部２１１  は、▲１▼で、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  を参照し、当該割り込み処理へジャンプする。
【０１０６】
これにより、割り込み処理部２２１  は、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンを実行する。以後、プログラムカウンタ１６（図４参照）が１インクリメントされる毎に、仮想メモリ空間４０１  の番地が１つ移行し、当該番地の命令が順次実行される。
【０１０７】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、単独処理ＯＳ２０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【０１０８】
つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる（▲５▼）。
【０１０９】
つぎに、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＮ−Ｍ番地で、グリッド専用ＯＳ３０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される（▲６▼）。
【０１１０】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）では、割り込みベクタテーブルレジスタ１３が、グリッド専用ＯＳ３０用から単独処理ＯＳ２０用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０２  のＮ番地で、ページテーブルレジスタ１４がグリッド専用ＯＳ３０用から単独処理ＯＳ２０用に変更される。これにより、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる（▲７▼）。
【０１１１】
（動作例２）
図１２は、一実施の形態の動作例２を説明する図である。この図において、図１１の各部に対応する部分には同一の符号、文字を対応させている。動作例２では、▲１▼で割り込みが発生すると、動作例１のように割り込み処理ルーチン（Ｌ番地〜）が実行されずに、Ｙ番地でＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。以降の動作については、動作例１と同様である。
【０１１２】
（動作例３）
さて、図１１に示した動作例１では、単独処理ＯＳ２０側でＯＳ切り替え処理の前後に割り込み処理ルーチンを実行し、グリッド専用ＯＳ３０側でＯＳ切り替え処理の前に割り込み処理ルーチンを実行する例について説明したが、単独処理ＯＳ２０側およびグリッド専用ＯＳ３０側の双方でＯＳ切り替え処理の前に割り込み処理ルーチンを実行するようにしてもよい。以下では、この動作例を動作例３として説明する。
【０１１３】
図１３は、一実施の形態の動作例３を説明する図である。同図において、単独処理ＯＳ２０側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。
【０１１４】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、単独処理ＯＳ２０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【０１１５】
以後、動作例１と同様の処理が実行される。そして、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４が単独処理ＯＳ２０用からグリッド専用ＯＳ３０用に変更される。これにより、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えられる（▲３▼）。
【０１１６】
つぎに、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたグリッド専用ＯＳ３０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１１７】
つぎに仮想メモリ空間４０２  のＮ＋２番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｐ番地へジャンプされる（▲５▼）。Ｎ−Ｐ番地以降では、割り込み処理ルーチン、ＯＳ切り替え処理が順次実行される（▲６▼）。
【０１１８】
そして、仮想メモリ空間４０２  のＮ番地では、ページテーブルレジスタ１４がグリッド専用ＯＳ３０用から単独処理ＯＳ２０用に変更される。これにより、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる（▲７▼）。
【０１１９】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、先にレジスタ退避領域２５１  に退避されていた単独処理ＯＳ２０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲８▼）。
【０１２０】
そして、仮想メモリ空間４０１  のＮ＋２番地でＩＲＥＴ（割り込み復帰命令）が実行され、処理ルーチンが割り込み処理ルーチンから通常処理ルーチンへ復帰される（▲９▼）。
【０１２１】
（動作例４）
さて、図１１に示した動作例１では、グリッド専用ＯＳ３０側で実行させる割り込み処理ルーチンの量が多い場合、ジャンプ命令で分割処理を実行するようにしてもよい。以下では、この動作例を動作例４として説明する。
【０１２２】
図１４は、一実施の形態の動作例４を説明する図である。同図において、単独処理ＯＳ２０側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。以後、▲３▼〜▲４▼では、動作例１と同様の処理が実行される。
【０１２３】
そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＳ＋Ｑ番地へジャンプされる（▲４▼’）。Ｓ＋Ｑ番地以降では、分割された割り込み処理ルーチンが順次実行される（▲４▼’’）。そして、仮想メモリ空間４０２  のＳ＋Ｒ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる（▲５▼）。
【０１２４】
つぎに、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＮ−Ｍ番地で、グリッド専用ＯＳ３０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される。以後、▲６▼〜▲９▼では、動作例１と同様の処理が実行される。
【０１２５】
（動作例５）
さて、図１１に示した動作例１では、ＯＳ切り替え処理を実行中に、より優先度が高い割り込みが多重的に入ることを防止するため、ＯＳ切り替え処理の前後に割り込み禁止命令および割り込み許可命令を実行し、排他制御を行うようにしてもよい。以下では、この動作例を動作例５として説明する。
【０１２６】
図１５は、一実施の形態の動作例５を説明する図である。同図においては、仮想メモリ空間４０１  におけるＯＳ切り替え処理の前に割り込み禁止命令（Ｙ−１番地）が、同ＯＳ切り替え処理の後に割り込み許可命令（Ｎ＋２番地）が実行される。
【０１２７】
同様にして、仮想メモリ空間４０２  におけるＯＳ切り替え処理の前に割り込み禁止命令（Ｎ−Ｍ−１番地）が、同ＯＳ切り替え処理の後に割り込み許可命令（Ｎ＋２番地）が実行される。割り込み禁止命令が実行されると、他の割り込みを受け付けない状態とされる。一方、割り込み許可命令が実行されると、他の割り込みを受け付ける状態とされる。
【０１２８】
同図において、単独処理ＯＳ２０側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【０１２９】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、単独処理ＯＳ２０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【０１３０】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）では、割り込みベクタテーブルレジスタ１３が、単独処理ＯＳ２０用からグリッド専用ＯＳ３０用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４が単独処理ＯＳ２０用からグリッド専用ＯＳ３０用に変更される。これにより、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えられる（▲３▼）。
【０１３１】
仮想メモリ空間４０２  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたグリッド専用ＯＳ３０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１３２】
仮想メモリ空間４０２  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ−１番地へジャンプされる（▲５▼）。
【０１３３】
Ｎ−Ｍ−１番地では、割り込み禁止命令が実行される。以後、▲６▼および▲７▼では、動作例１と同様にして、ＯＳ切り替え処理により、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる。
【０１３４】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、先にレジスタ退避領域２５１  に退避されていた単独処理ＯＳ２０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲８▼）。仮想メモリ空間４０１  のＮ＋２番地では、割り込み許可命令が実行される。以後、動作例１と同様の処理が実行される。
【０１３５】
図１６は、上記動作例５を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＡ１では、単独処理ＯＳ２０のアプリケーション走行が中止され、割り込み振分処理部２１１  が起動される。ステップＳＡ２では、単独処理ＯＳ２０の割り込み振分処理部２１１  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１３６】
ステップＳＡ３では、割り込み振分処理部２１１  により、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図１４の▲１▼）。ステップＳＡ４では、割り込み処理ルーチンが実行される（図１４の▲２▼）。
【０１３７】
ステップＳＡ５では、割り込み禁止命令が実行される（図１５のＹ−１番地）。ステップＳＡ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＡ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）が実行される。ステップＳＡ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１５の▲３▼）、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替わる。
【０１３８】
ステップＳＡ９では、グリッド専用ＯＳ３０でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１５のＮ＋１番地）。ステップＳＡ１０では、割り込み許可命令が実行される（図１５のＮ＋２番地）。ステップＳＡ１１では、割り込み処理ルーチンが実行される。ステップＳＡ１２では、ジャンプ命令が実行され、Ｎ−Ｍ−１番地にジャンプされる（図１５の▲５▼）。
【０１３９】
図１７に示したステップＳＡ１３では、割り込み禁止命令が実行される（図１４のＮ−Ｍ−１番地）。ステップＳＡ１４では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＡ１５では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）が実行される。ステップＳＡ１６では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１５の▲７▼）、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替わる。
【０１４０】
ステップＳＡ１７では、単独処理ＯＳ２０でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１５のＮ＋１番地）。ステップＳＡ１８では、割り込み許可命令が実行される（図１５のＮ＋２番地）。ステップＳＡ１９では、割り込み処理ルーチンが実行される。ステップＳＡ２０では、ＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１４１】
（動作例６）
さて、図１１に示した動作例１では、単独処理ＯＳ２０からグリッド専用ＯＳ３０へのＯＳ切り替え後に、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り戻し、単独処理ＯＳ２０で割り込み復帰を行う例について説明したが、切り戻しを行わず、グリッド専用ＯＳ３０で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例６として説明する。
【０１４２】
図１８は、一実施の形態の動作例６を説明する図である。同図において、単独処理ＯＳ２０側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【０１４３】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、単独処理ＯＳ２０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【０１４４】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）では、割り込みベクタテーブルレジスタ１３が、単独処理ＯＳ２０用からグリッド専用ＯＳ３０用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４が単独処理ＯＳ２０用からグリッド専用ＯＳ３０用に変更される。これにより、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替えられる（▲３▼）。
【０１４５】
仮想メモリ空間４０２  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたグリッド専用ＯＳ３０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１４６】
仮想メモリ空間４０２  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。これにより、前回、グリッド専用ＯＳ３０で割り込みが発生した箇所へ制御が戻され（▲５▼）、グリッド専用ＯＳ３０で第１グリッド３４や第２グリッドＡＰ３５ が走行される。
【０１４７】
図１９は、上記動作例６を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＢ１では、単独処理ＯＳ２０のアプリケーション走行が中止され、割り込み振分処理部２１１  が起動される。ステップＳＢ２では、単独処理ＯＳ２０の割り込み振分処理部２１１  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１４８】
ステップＳＢ３では、割り込み振分処理部２１１  により、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図１８の▲１▼）。ステップＳＢ４では、割り込み処理ルーチンが実行される（図１８の▲２▼）。
【０１４９】
ステップＳＢ５では、割り込み禁止命令が実行される（図１８のＹ−１番地）。ステップＳＢ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＢ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）が実行される。ステップＳＢ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１８の▲３▼）、単独処理ＯＳ２０からグリッド専用ＯＳ３０へ切り替わる。
【０１５０】
ステップＳＢ９では、グリッド専用ＯＳ３０でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１８のＮ＋１番地）。ステップＳＢ１０では、割り込み許可命令が実行される（図１８のＮ＋２番地）。ステップＳＢ１１では、割り込み処理ルーチンが実行される。ステップＳＢ１２では、仮想メモリ空間４０２  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１５１】
（動作例７）
さて、図１８に示した動作例６では、単独処理ＯＳ２０からグリッド専用ＯＳ３０へのＯＳ切り替え後に、切り戻しを行わず、グリッド専用ＯＳ３０で割り込み復帰を行う例について説明したが、逆に、グリッド専用ＯＳ３０から単独処理ＯＳ２０へのＯＳ切り替え後に、切り戻しを行わず、単独処理ＯＳ２０で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例７として説明する。
【０１５２】
図２０は、一実施の形態の動作例７を説明する図である。同図において、グリッド専用ＯＳ３０側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０２  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【０１５３】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＹ番地で、グリッド専用ＯＳ３０に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される。
【０１５４】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）では、割り込みベクタテーブルレジスタ１３が、グリッド専用ＯＳ３０用から単独処理ＯＳ２０用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０２  のＮ番地で、ページテーブルレジスタ１４がグリッド専用ＯＳ３０用から単独処理ＯＳ２０用に変更される。これにより、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替えられる（▲３▼）。
【０１５５】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、以前にレジスタ退避領域２５１  に退避されていた単独処理ＯＳ２０用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１５６】
仮想メモリ空間４０１  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２１  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０１  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。これにより、前回、単独処理ＯＳ２０で割り込みが発生した箇所へ制御が戻され（▲５▼）、単独処理ＯＳ２０で第１単独処理ＡＰ２２や第２単独処理ＡＰ２３が走行される。
【０１５７】
図２１は、上記動作例７を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＣ１では、グリッド専用ＯＳ３０のアプリケーション走行が中止され、割り込み振分処理部２１２  が起動される。ステップＳＣ２では、グリッド専用ＯＳ３０の割り込み振分処理部２１２  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１５８】
ステップＳＣ３では、割り込み振分処理部２１２  により、割り込みベクタテーブル２３２  が参照され、仮想メモリ空間４０２  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図２０の▲１▼）。ステップＳＣ４では、割り込み処理ルーチンが実行される（図２０の▲２▼）。
【０１５９】
ステップＳＣ５では、割り込み禁止命令が実行される（図２０のＹ−１番地）。ステップＳＣ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＣ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令等）が実行される。ステップＳＣ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図２０の▲３▼）、グリッド専用ＯＳ３０から単独処理ＯＳ２０へ切り替わる。
【０１６０】
ステップＳＣ９では、単独処理ＯＳ２０でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図２０のＮ＋１番地）。ステップＳＣ１０では、割り込み許可命令が実行される（図２０のＮ＋２番地）。ステップＳＣ１１では、割り込み処理ルーチンが実行される。ステップＳＣ１２では、仮想メモリ空間４０１  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１６１】
（動作例８）
さて、前述した動作例６では、図１８に示した仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装例について説明したが、図２２に示した動作例８のように、仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装を行うようにしてもよい。なお、動作例８における動作は、動作例６と同様である。
【０１６２】
（動作例９）
さて、前述した動作例７では、図２０に示した仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装例について説明したが、図２３に示した動作例９のように、仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装を行うようにしてもよい。なお、動作例９における動作は、動作例７と同様である。
【０１６３】
（実施の形態２）
次に、実施の形態２にかかるマルチオペレーティングシステム１について説明する。図２４は、実施の形態２にかかるマルチオペレーティングシステム１の全体構成を示すブロック図である。
【０１６４】
実施の形態２に係るマルチオペレーティングシステム１は、１つのハードウェア１０上にエミュレータ４０を搭載している。さらに、エミュレータ４０上に単独処理ＯＳ５０とグリッド専用ＯＳ６０の２つのＯＳを搭載している。
【０１６５】
単独処理ＯＳ５０は、第１ＡＰ５２および第２ＡＰ５３を搭載している。グリッド専用ＯＳ６０は、第１グリッドＡＰ６４および第２グリッドＡＰ６５を搭載している。
【０１６６】
ここで、エミュレータ４０は、一のハードウェア向けに開発されたＯＳを他のハードウェア上で実行させるためのソフトウェアである。すなわち、エミュレータ４０は、単独処理ＯＳ５０向けのＣＰＵの機能およびグリッド処理ＯＳ６０向けのＣＰＵの機能をハードウェア１０上で実現する。これにより、ハードウェア１０上で、異なる２つのＯＳを走行させることができる。
【０１６７】
この場合も、実施の形態１と同様に一つのハードウェア１０上に、２つのＯＳを独立に併存させ、一方のＯＳにグリッド処理を割り当てることができる。
【０１６８】
なお、これ以外のマルチオペレーティングシステム１の構成および機能は、実施の形態１において説明したマルチオペレーティングシステム１の構成および機能と同様である。
【０１６９】
（実施の形態３）
次に、実施の形態３にかかるマルチオペレーティングシステム１について説明する。図２５は、実施の形態３に係るマルチオペレーティングシステム１の全体構成を示すブロック図である。
【０１７０】
実施の形態３に係るマルチオペレーティングシステム１は、１つのハードウェア１０上にＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）モニタ４２を搭載している。ここで、ＶＭモニタ４２とは、ハードウェア１０の全てを制御するプログラムである。ＶＭモニタ４２は、単独処理ＯＳ５０およびグリッド専用ＯＳ６０の両方のハードウェア１０に対するインターフェースをエミュレートする。
【０１７１】
さらに、ＶＭモニタ４２上に単独処理ＯＳ５０とグリッド専用ＯＳ６０の２つのＯＳを搭載している。単独処理ＯＳ５０は、第１ＡＰ５２および第２ＡＰ５３を搭載している。グリッド専用ＯＳ６０は、第１グリッドＡＰ６４および第２グリッドＡＰ６５を搭載している。
【０１７２】
この場合も、実施の形態１および実施の形態２と同様に一つのハードウェア１０上に２つのＯＳを独立に併存させ、一方のＯＳにグリッド処理を割り当てることができる。
【０１７３】
なお、これ以外のマルチオペレーティングシステム１の構成および機能は、実施の形態１において説明したマルチオペレーティングシステム１の構成および機能と同様である。
【０１７４】
他の例としては、ＶＭモニタ４２にかえて、マイクロカーネルを備えても良い。この場合も、エミュレータの場合と同様に、マイクロカーネル上に単独処理ＯＳ５０と、グリッド専用ＯＳ６０とが搭載されている。
【０１７５】
ここで、マイクロカーネルとは、ＯＳに必要最低限の機能と、これ以外の機能とを分離した構成のＯＳである。このように、機能を分離することにより、機能性の向上を図っている。
【０１７６】
（実施の形態４）
次に実施の形態４に係るマルチオペレーティングシステム１について説明する。図２６は、実施の形態４に係るマルチオペレーティングシステム１の全体構成を示すブロック図である。
【０１７７】
実施の形態４に係るマルチオペレーティングシステム１は、１つのハードウェア１０上に、基盤ＯＳ４４が搭載されている。基盤ＯＳ４４上に、さらに単独処理ＯＳ５０およびグリッドミドルウェア３２が搭載されている。この場合、基盤ＯＳ４４は、実施の形態１におけるグリッド専用ＯＳとしての機能を備えている。さらに、単独処理ＯＳ５０がハードウェア１０向けのＯＳでない場合には、基盤ＯＳ４４は、ハードウェア１０に対するインターフェースをエミュレートする。
【０１７８】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【０１７９】
そうした第１の変更例としては、本実施の形態においては、マルチオペレーティングシステム１は、グリッドミドルウェア３２を備えていたが、他の形態としては、グリッドミドルウェア３２を備えなくともよい。この場合、グリッドミドルウェア３２の構成および機能は、グリッド専用ＯＳ３０，６０または基盤ＯＳ４４が備える。これにより、グリッドミドルウェア３２を備えない場合でも、本実施の形態にかかるマルチオペレーティングシステム１と同様の処理を行うことができる。
【０１８０】
そうした第２の変更例としては、本実施の形態においては、マルチオペレーティングシステム１は、擬似ＮＩＣ−Ｉ／Ｆ１２０を備えていたが、他の例としては、擬似ＮＩＣ−Ｉ／Ｆ１２０を備えなくともよい。この場合、単独処理ＯＳ２０とグリッド専用ＯＳ３０との間に共有メモリ領域を備える。そして、単独処理ＯＳ２０とグリッド専用ＯＳ３０とは、共有メモリ領域を介して通信データをやり取りする。
【０１８１】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、第１のオペレーティングシステムと第２のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができるという効果を奏する。
【０１８２】
また、請求項２にかかる発明によれば、切り替え制御手段は、第１のオペレーティングシステムおよび第２のオペレーティングシステムのいずれか一方にのみ実行権を与えるので、これにより、２つのオペレーティングシステムは、１つのハードウェア資源を時分割して有効に活用することができるという効果を奏する。
【０１８３】
また、請求項３にかかる発明によれば、通信手段は、グリッド処理などの共同処理を実行するオペレーティングシステム側にのみ割り当てられているので、外部から不正アクセスがあった場合であっても、その被害が第２のオペレーティングシステムに及ぶのを防ぐことができるという効果を奏する。
【０１８４】
また、請求項４にかかる発明によれば、グリッドサーバからの指示を取得したことを条件として第１のオペレーティングシステムに実行権を与えることができる。このように、所定のイベントによりオペレーティングシステムを切り替えることにより、不正アクセスなど一方のオペレーティングシステムにおける悪影響が他方に及ぶのを避けることができるという効果を奏する。
【０１８５】
また、請求項５にかかる発明によれば、利用者から指示を受け付けない状態で、所定の時間が経過した場合に、第１のオペレーティングシステムに切り替えることができる。これにより、ユーザによる誤操作の影響が第１のオペレーティングシステムに及ぶのを避けることができるという効果を奏する。
【０１８６】
また、請求項６にかかる発明によれば、第２のオペレーティングシステムにおける処理がアイドル状態になった場合に、第１のオペレーティングシステムに切り替えることができる。これにより、ハードウェア資源を有効に活用することができるという効果を奏する。
【０１８７】
また、請求項７にかかる発明によれば、利用者からの指示を受け付けた場合に、第２のオペレーティングシステムに切り替えることができるので、ユーザの利便性を保つことができるという効果を奏する。
【０１８８】
また、請求項８にかかる発明によれば、第１のオペレーティングシステムが所定の時間実行されると、第２のオペレーティングシステムに切り替えることができる。これにより、第１のオペレーティングシステムは、ハードウェア資源を時間単位で占有することができるという効果を奏する。
【０１８９】
また、請求項９にかかる発明によれば、第１のオペレーティングシステムおｘよび第２のオペレーティングシステムには、それぞれ物理的に異なるメモリが割り当てられている。したがって、一方に不正アクセスがあった場合でも、他方のメモリにその影響が及ぶのを避けることができるという効果を奏する。
【０１９０】
また、請求項１０にかかる発明によれば、第１のオペレーティングシステムの第１のメモリは、予め定められた大きさの領域を有しているので、第２のオペレーティングシステムが大きな容量のメモリを必要とする場合であっても、第２のオペレーティングシステムに対して一定のメモリ容量が確保されているので、オペレーティングシステムが併存することにより、第２のオペレーティングシステムの処理効率が低下するのを避けることができるという効果を奏する。
【０１９１】
また、請求項１１にかかる発明によれば、切り替え処理命令と、切り替え先のオペレーティングシステムにおける処理とが連続して実行されるべく格納されているので、処理順番に沿って命令が実行されることにより、自動的にオペレーティングシステムを切り替えることができるという効果を奏する。
【０１９２】
また、請求項１２にかかる発明によれば、第１のオペレーティングシステムおよび第２のオペレーティングシステムは、それぞれ第２のファイルシステムおよび第１のファイルシステムへのアクセスが禁止されているので、一方に不正アクセスがあった場合であっても、他方のオペレーティングシステムのファイルシステムに不正アクセスの影響が及ぶのを避けることができるという効果を奏する。
【０１９３】
また、請求項１３にかかる発明によれば、第１のオペレーティングシステムと第２のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができるという効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１にかかるマルチオペレーティングシステム１の全体構成を示すブロック図である。
【図２】図１に示したマルチオペレーティングシステム１の機能構成を示すブロック図である。
【図３】マルチオペレーティングシステム１のハードウェア構成を示す図である。
【図４】図２を参照しつつ説明したマルチオペレーティングシステム１の機能構成をより具体的に示したブロック図である。
【図５】物理メモリ１２における仮想記憶方式を説明するための図である。
【図６】物理メモリ１２における仮想記憶方式を説明するための図である。
【図７】ＯＳ切替え処理部２４およびＯＳ切替え処理部３３の具体的な動作原理について説明するための図である。
【図８】ＯＳを切り替える場合のマルチオペレーティングシステム１の処理を示すフローチャートである。
【図９】ＯＳ切り替えテーブル３２１のデータ構成を示す図である。
【図１０】図５におけるステップＳ１０２において認証用パケットを受信した場合の、ステップＳ１１２におけるグリッド専用ＯＳ３０における処理の実行について説明するための図である。
【図１１】マルチオペレーティングシステム１の動作例１を説明するための図である。
【図１２】マルチオペレーティングシステム１の動作例２を説明するための図である。
【図１３】マルチオペレーティングシステム１の動作例３を説明するための図である。
【図１４】マルチオペレーティングシステム１の動作例４を説明するための図である。
【図１５】マルチオペレーティングシステム１の動作例５を説明するための図である。
【図１６】マルチオペレーティングシステム１の動作例５を説明するフローチャートである。
【図１７】マルチオペレーティングシステム１の動作例５を説明するフローチャートである。
【図１８】マルチオペレーティングシステム１の動作例６を説明するための図である。
【図１９】マルチオペレーティングシステム１の動作例６を説明するフローチャートである。
【図２０】マルチオペレーティングシステム１の動作例７を説明するための図である。
【図２１】マルチオペレーティングシステム１の動作例７を説明するフローチャートである。
【図２２】マルチオペレーティングシステム１の動作例８を説明するための図である。
【図２３】マルチオペレーティングシステム１の動作例９を説明するための図である。
【図２４】実施の形態２にかかるマルチオペレーティングシステム１の全体構成を示すブロック図である。
【図２５】実施の形態３に係るマルチオペレーティングシステム１の全体構成を示すブロック図である。
【図２６】実施の形態４に係るマルチオペレーティングシステム１の全体構成を示すブロック図である。
【符号の説明】
１  マルチオペレーティングシステム
２  グリッドサーバ
１０  ハードウェア
１１  制御部
１２  物理メモリ
１３  ベクタテーブルレジスタ
１４  ページテーブルレジスタ
１６  プログラムカウンタ
２０，５０  単独処理ＯＳ
２２，５２  第１単独処理ＡＰ
２３，５４  第２単独処理ＡＰ
２４  処理部
３０，６０  グリッド専用ＯＳ
３２  グリッドミドルウェア
３３  処理部
３４，６４  第１グリッドＡＰ３４
３５，６５  第１グリッドＡＰ３５
４０  エミュレータ
４２  ＶＭモニタ
４４  基盤ＯＳ
１００  ＣＲＴディスプレイ
１０２  ユーザインターフェース
１０６  メモリ
１０８  タイマ
１２０  第１ディスク
１３０  第２ディスク
１５０  実行管理部
２００  ネットワーク
２２０  実行スケジュール管理部
２２２  コマンド送受信部
２２４  ファイルアクセス制御部
２２６  認証部
３２０  実行スケジュール管理部
３２１  ＯＳ切り替えテーブル
３２２  コマンド送受信部
３２４  ファイルアクセス制御部
３２６  認証部
【図１】
2004252629.tif 000003
【図２】
2004252629.tif 000004
【図３】
2004252629.tif 000005
【図４】
2004252629.tif 000006
【図５】
2004252629.tif 000007
【図６】
2004252629.tif 000008
【図７】
2004252629.tif 000009
【図８】
2004252629.tif 000010
【図９】
2004252629.tif 000011
【図１０】
2004252629.tif 000012
【図１１】
2004252629.tif 000013
【図１２】
2004252629.tif 000014
【図１３】
2004252629.tif 000015
【図１４】
2004252629.tif 000016
【図１５】
2004252629.tif 000017
【図１６】
2004252629.tif 000018
【図１７】
2004252629.tif 000019
【図１８】
2004252629.tif 000020
【図１９】
2004252629.tif 000021
【図２０】
2004252629.tif 000022
【図２１】
2004252629.tif 000023
【図２２】
2004252629.tif 000024
【図２３】
2004252629.tif 000025
【図２４】
2004252629.tif 000026
【図２５】
2004252629.tif 000027
【図２６】
2004252629.tif 000028