(57)【要約】【課題】マルチオペレーティングシステムの信頼性、処理能力を向上させること。【解決手段】ＯＳ２０１  からＯＳ２０２  へ切り替えるための切替命令Ａを、ＯＳ２０１  に対応する仮想メモリ空間４０１  の論理アドレスのＮ番地に仮想記憶させ、ＯＳ２０２  に対応する仮想メモリ空間４０２  の論理アドレスのＮ＋１番地以降に各種命令を仮想記憶させておき、ＯＳ２０１  は、所定要因（割り込みの発生）をトリガーとして、切替命令Ａにより、ＯＳ２０１  からＯＳ２０２  に切り替え、ＯＳ２０２  は、仮想メモリ空間４０２  の論理アドレスのＮ＋１番地以降の各種命令を実行する。【選択図】      図５
2004171057.tif 000002
【特許請求の範囲】
【請求項１】
一つの計算機で稼動する第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
前記第１のオペレーティングシステムから前記第２のオペレーティングシステムへ切り替えるための第１の切替命令を、前記第１のオペレーティングシステムに対応する第１の仮想メモリ空間の論理アドレスＮに仮想記憶させる第１の仮想記憶工程と、
前記第２のオペレーティングシステムに対応する第２の仮想メモリ空間の論理アドレスＮ＋１以降に各種命令を仮想記憶させる第２の仮想記憶工程とを含み、
前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行することを特徴とするマルチオペレーティングシステム制御方法。
【請求項２】
前記第２の仮想記憶工程では、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへ切り替えるための第２の切替命令を、前記第２の仮想メモリ空間の論理アドレスＮに仮想記憶させ、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする請求項１に記載のマルチオペレーティングシステム制御方法。
【請求項３】
前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、所定のジャンプ命令により前記論理アドレスＮより前の論理アドレスにジャンプし、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする請求項２に記載のマルチオペレーティングシステム制御方法。
【請求項４】
前記第１の仮想記憶工程では、前記第１の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、前記第１のオペレーティングシステムは、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへの切り替え後、前記復帰命令により復帰処理を実行することを特徴とする請求項２または３に記載のマルチオペレーティングシステム制御方法。
【請求項５】
前記第２の仮想記憶工程では、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、前記第２のオペレーティングシステムは、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムへの切り替え後、前記復帰命令により復帰処理を実行することを特徴とする請求項１に記載のマルチオペレーティングシステム制御方法。
【請求項６】
前記第１の仮想記憶工程では、前記第１の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることを特徴とする請求項１〜５のいずれか一つに記載のマルチオペレーティングシステム制御方法。
【請求項７】
前記第２の仮想記憶工程では、前記第２の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることを特徴とする請求項２〜５のいずれか一つに記載のマルチオペレーティングシステム制御方法。
【請求項８】
請求項１〜７のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるプログラム。
【請求項９】
一つの計算機で稼動する第１のオペレーティングシステムおよび第２のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
前記第１のオペレーティングシステムに対応し、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムへ切り替えるための第１の切替命令を、論理アドレスＮに仮想記憶する第１の仮想メモリ空間と、
前記第２のオペレーティングシステムに対応し、論理アドレスＮ＋１以降に各種命令を仮想記憶する第２の仮想メモリ空間とを備え、
前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の前記論理アドレスＮ＋１以降の前記各種命令を実行することを特徴とするマルチオペレーティングシステム制御装置。
【請求項１０】
前記第２の仮想メモリ空間の論理アドレスＮには、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへ切り替えるための第２の切替命令が仮想記憶され、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする請求項９に記載のマルチオペレーティングシステム制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一台の計算機上で複数のオペレーティングシステムを稼動させるためのマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置に関するものであり、特に、信頼性、処理能力を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム制御装置に関するものである。
【０００２】
【従来の技術】
通常の計算機では、１つのオペレーティングシステムが動作し、それが計算機のプロセッサ、メモリ、二次記憶装置等の計算機資源を管理し、計算機が効率良く動作できるように資源スケジュールを実施している。オペレーティングシステムには、様々な種類がある。バッチ処理に優れるものや、ＴＳＳ（ＴｉｍｅＳｈａｒｉｎｇＳｙｓｔｅｍ）に優れるもの、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）に優れているものなど様々である。
【０００３】
一方で、これら複数あるオペレーティングシステムを１台の計算機で同時に実行したいというニーズがある。例えば、大型計算機においては、実際の業務に伴うオンライン処理を実行するオペレーティングシステムと、開発用のオペレーティングシステムとを一台の計算機で動作させたいという要求がある。あるいは、ＧＵＩの整っているオペレーティングシステムと、実時間性に優れているオペレーティングシステムとを同時に稼働させたい等という要求もある。
【０００４】
しかしながら、個々のオペレーティングシステムは、単独で計算機資源の管理を実施することを前提として設計されている。従って、複数のオペレーティングシステムの共存は、何らかの機構なしには不可能である。
【０００５】
一台の計算機上で複数のオペレーティングシステムを動作させる機構としては、大型計算機で実現されている仮想計算機方式がある。図２７は、上記仮想計算機方式による従来のマルチオペレーティングシステムの構成例１を示すブロック図である。
【０００６】
同図に示したマルチオペレーティングシステムは、ハードウェア１、基盤ＯＳ２、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）モニタ３、仮想ＯＳ（オペレーティングシステム）４１  、仮想ＯＳ４２  および仮想ＯＳ４３  から構成されている。
【０００７】
ハードウェア１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、物理メモリ、入出力機器等である。基盤ＯＳ２およびＶＭモニタ３は、ハードウェア１の全てを制御している。ＶＭモニタ３は、仮想ＯＳ４１  〜４３  のそれぞれのハードウェア１に対するインタフェースをエミュレートする。仮想ＯＳ４１  〜４３  は、基盤ＯＳ２の上で走行する。すなわち、基盤ＯＳ２と仮想ＯＳ４１  〜４３  とは、主従関係にある。
【０００８】
また、一台の計算機で複数のオペレーティングシステムのインタフェースを提供する技術として、マイクロカーネル方式がある。図２８は、上記マイクロカーネル方式による従来のマルチオペレーティングシステムの構成例２を示すブロック図である。
【０００９】
同図に示したマルチオペレーティングシステムは、ハードウェア５、マイクロカーネル（制御プログラム）６、ＯＳ７１  、ＯＳ７２  およびＯＳ７３  から構成されている。
【００１０】
マイクロカーネル方式では、マイクロカーネル６の上に、ユーザに見せるオペレーティングシステム機能を提供するＯＳ７１  〜７３  が構築されている。ユーザはＯＳ７１  〜７３  を経由してハードウェア５（計算機資源）を利用する。マイクロカーネル６は、ＯＳ７１  〜７３  を制御する。
【００１１】
【特許文献１】
特開２００１−２１６７２号公報
【特許文献２】
特開平１１−１４９３８５号公報
【００１２】
【発明が解決しようとする課題】
ところで、前述したように、図２７に示した従来のマルチオペレーティングシステムにおいては、ハードウェア１を一つの基盤ＯＳ２が制御しているため、基盤ＯＳ２の停止により、システムダウンが生じ、信頼性が低いという問題があった。
【００１３】
また、同マルチオペレーティングシステムにおいては、ＶＭモニタ３により仮想ＯＳ４１  〜４３  のインタフェースをエミュレートしているため、エミュレートに処理時間がかかり、動作不具合や制限事項が多いという処理能力の問題があった。
【００１４】
ここで、基盤ＯＳ２を改造することにより、上記動作不具合や制限事項が少なくなるが、汎用性が低下したり、改造の手間がかかるというデメリットが生じる。
【００１５】
また、図２８に示した従来のマルチオペレーティングシステムにおいては、一つのマイクロカーネル６がＯＳ７１  〜７３  を制御しているため、マイクロカーネル６の停止により、システムダウンが生じ、信頼性が低いという問題があった。
【００１６】
本発明は、上記に鑑みてなされたもので、マルチオペレーティングシステムの信頼性、処理能力を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
上記目的を達成するために、本発明にかかるマルチオペレーティングシステム制御方法にあっては、第１のオペレーティングシステムから第２のオペレーティングシステムへ切り替えるための第１の切替命令を、前記第１のオペレーティングシステムに対応する第１の仮想メモリ空間の論理アドレスＮに仮想記憶させる第１の仮想記憶工程と、前記第２のオペレーティングシステムに対応する第２の仮想メモリ空間の論理アドレスＮ＋１以降に各種命令を仮想記憶させる第２の仮想記憶工程とを含み、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行することを特徴とする。
【００１８】
この発明によれば、第１の仮想メモリ空間の論理アドレスＮに第１の切替命令を仮想記憶させ、第２の仮想メモリ空間の論理アドレスＮ＋１以降に各種命令を仮想記憶させておき、所定要因をトリガーとして、第１の切替命令により、第１のオペレーティングシステムが第１のオペレーティングシステムから第２のオペレーティングシステムに切り替え、第２のオペレーティングシステムが第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行することとしたので、従来の基盤ＯＳやＶＭモニタ等の共通部分が不要で第１および第２のオペレーティングシステムが共存され、マルチオペレーティングシステムの信頼性、処理能力を向上させることができる。
【００１９】
また、この発明によれば、従来の共通部分が不要であるため、第１のオペレーティングシステムと第２のオペレーティングシステムとを独立的に動作させることができ、セキュリティを向上させることができる。
【００２０】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第２の仮想記憶工程では、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへ切り替えるための第２の切替命令を、前記第２の仮想メモリ空間の論理アドレスＮに仮想記憶させ、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする。
【００２１】
この発明によれば、第２の切替命令を第２の仮想メモリ空間の論理アドレスＮに仮想記憶させ、第１の切替命令により切り替えが行われてから、第２のオペレーティングシステムが、第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、第２の切替命令により、第２のオペレーティングシステムから第１のオペレーティングシステムに切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができる。
【００２２】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、所定のジャンプ命令により前記論理アドレスＮより前の論理アドレスにジャンプし、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする。
【００２３】
この発明によれば、第２のオペレーティングシステムが、第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、所定のジャンプ命令により論理アドレスＮより前の論理アドレスにジャンプし、第２の切替命令により、第２のオペレーティングシステムから第１のオペレーティングシステムに切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができる。
【００２４】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第１の仮想記憶工程では、前記第１の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、前記第１のオペレーティングシステムは、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへの切り替え後、前記復帰命令により復帰処理を実行することを特徴とする。
【００２５】
この発明によれば、第１の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、第１のオペレーティングシステムが、第２のオペレーティングシステムから第１のオペレーティングシステムへの切り替え後、復帰命令により復帰処理を実行することとしたので、第１のオペレーティングシステム側で通常ルーチン等の実行を再開することができる。
【００２６】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第２の仮想記憶工程では、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、前記第２のオペレーティングシステムは、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムへの切り替え後、前記復帰命令により復帰処理を実行することを特徴とする。
【００２７】
この発明によれば、第２の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、第２のオペレーティングシステムが、第１のオペレーティングシステムから第２のオペレーティングシステムへの切り替え後、復帰命令により復帰処理を実行することとしたので、第２のオペレーティングシステム側で通常ルーチン等の実行を再開することができる。
【００２８】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第１の仮想記憶工程では、前記第１の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることを特徴とする。
【００２９】
この発明によれば、第１の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、第１のオペレーティングシステム側での多重割り込みを回避することができる。
【００３０】
つぎの発明にかかるマルチオペレーティングシステム制御方法にあっては、前記第２の仮想記憶工程では、前記第２の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることを特徴とする。
【００３１】
この発明によれば、第２の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、第２のオペレーティングシステム側での多重割り込みを回避することができる。
【００３２】
つぎの発明にかかるプログラムは、上記の発明のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるプログラムであり、そのプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作をコンピュータによって実行することができる。
【００３３】
つぎの発明にかかるマルチオペレーティングシステム制御装置にあっては、第１のオペレーティングシステムに対応し、第１のオペレーティングシステムから第２のオペレーティングシステムへ切り替えるための第１の切替命令を、論理アドレスＮに仮想記憶する第１の仮想メモリ空間と、第２のオペレーティングシステムに対応し、論理アドレスＮ＋１以降に各種命令を仮想記憶する第２の仮想メモリ空間とを備え、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の前記論理アドレスＮ＋１以降の前記各種命令を実行することを特徴とする。
【００３４】
この発明によれば、第１の仮想メモリ空間の論理アドレスＮに第１の切替命令を仮想記憶させ、第２の仮想メモリ空間の論理アドレスＮ＋１以降に各種命令を仮想記憶させておき、所定要因をトリガーとして、第１の切替命令により、第１のオペレーティングシステムが第１のオペレーティングシステムから第２のオペレーティングシステムに切り替え、第２のオペレーティングシステムが第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行することとしたので、従来の基盤ＯＳやＶＭモニタ等の共通部分が不要で第１および第２のオペレーティングシステムが共存され、マルチオペレーティングシステムの信頼性、処理能力を向上させることができる。
【００３５】
また、この発明によれば、従来の共通部分が不要であるため、第１のオペレーティングシステムと第２のオペレーティングシステムとを独立的に動作させることができ、セキュリティを向上させることができる。
【００３６】
つぎの発明にかかるマルチオペレーティングシステム制御装置にあっては、前記第２の仮想メモリ空間の論理アドレスＮには、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムへ切り替えるための第２の切替命令が仮想記憶され、前記第１のオペレーティングシステムは、所定要因をトリガーとして、前記第１の切替命令により、前記第１のオペレーティングシステムから前記第２のオペレーティングシステムに切り替え、前記第２のオペレーティングシステムは、前記第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、前記第２の切替命令により、前記第２のオペレーティングシステムから前記第１のオペレーティングシステムに切り替えることを特徴とする。
【００３７】
この発明によれば、第２の切替命令を第２の仮想メモリ空間の論理アドレスＮに仮想記憶させ、第１の切替命令により切り替えが行われてから、第２のオペレーティングシステムが、第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、第２の切替命令により、第２のオペレーティングシステムから第１のオペレーティングシステムに切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができる。
【００３８】
【発明の実施の形態】
以下、図面を参照して本発明にかかるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置の一実施の形態について詳細に説明する。
【００３９】
図１は、本発明にかかる一実施の形態の概略構成を示すブロック図である。この図に示したマルチオペレーティングシステムは、ハードウェア１０、ＯＳ２０１  、ＯＳ２０２  およびＡＰ（アプリケーションプログラム）３０１  〜３０４  から構成されている。
【００４０】
同マルチオペレーティングシステムでは、ＯＳ２０１  からＯＳ２０２  へ、またはＯＳ２０２  からＯＳ２０１  への切り替えが割り込み処理ルーチンの中で実行される。割り込みの発生要因としては、タイマ割り込みによる定期的な切り替え要求や、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カードからのハードウェア割り込み等が挙げられる。
【００４１】
図２は、一実施の形態の具体的構成を示すブロック図である。この図において、図１の各部に対応する部分には同一の符号を付ける。同図において、ハードウェア１０は、計算機資源であり、制御部１１、物理メモリ１２、割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５、プログラムカウンタ１６や、図示しないキーボード、ディスプレイ等から構成されている。
【００４２】
ハードウェア１０には、マルチ構成のＯＳ２０１  およびＯＳ２０２  が存在している。ＯＳ２０１  およびＯＳ２０２  のそれぞれは、ハードウェア１０の計算機資源を管理し、割り込み処理ルーチンの中で切り替えられる。すなわち、ある時間を考えると、ハードウェア１０は、一つのＯＳ（ＯＳ２０１  またはＯＳ２０２  ）により占有される。
【００４３】
ＯＳ２０１  は、割り込み振分処理部２１１  、割り込み処理部２２１  、割り込みベクタテーブル２３１  、ページテーブル２４１  、レジスタ退避領域２５１  等から構成されている。ＡＰ３０１  およびＡＰ３０２  は、ＯＳ２０１  上で走行するアプリケーションプログラムである。
【００４４】
一方、ＯＳ２０２  は、ＯＳ２０１  に併設されており、割り込み振分処理部２１２  、割り込み処理部２２２  、割り込みベクタテーブル２３２  、ページテーブル２４２  、レジスタ退避領域２５２  等から構成されている。ＡＰ３０３  およびＡＰ３０４  は、ＯＳ２０２  上で走行するアプリケーションプログラムである。
【００４５】
ハードウェア１０において、制御部１１は、ＣＰＵ等であり、プログラム実行により各部を制御する。物理メモリ１２は、物理的に実在する大容量の記憶装置であり、図３に示したように、仮想記憶制御方式に用いられ、各種命令やデータ等を実際に記憶する。
【００４６】
すなわち、一実施の形態においては、物理メモリ１２に対応して、仮想メモリ空間４０１  および仮想メモリ空間４０２  が仮想的に構築されている。仮想メモリ空間４０１  は、ＯＳ２０１  側に対応して設けられており、物理メモリ１２のＯＳ用物理メモリ領域１２ａ１  およびＡＰ用物理メモリ領域１２ｂ１  にマッピングされている。
【００４７】
具体的には、ＯＳ用仮想メモリ空間４０ａ１  は、ＯＳ２０１  で利用されるメモリ空間であり、ＯＳ用物理メモリ領域１２ａ１  にマッピングされている。ＡＰ用仮想メモリ空間４０ｂ１  は、ＡＰ３０１  およびＡＰ３０２  で利用されるメモリ空間であり、ＡＰ用物理メモリ領域１２ｂ１  にマッピングされている。
【００４８】
一方、仮想メモリ空間４０２  は、ＯＳ２０２  側に対応して設けられており、物理メモリ１２のＯＳ用物理メモリ領域１２ａ２  およびＡＰ用物理メモリ領域１２ｂ２  にマッピングされている。
【００４９】
具体的には、ＯＳ用仮想メモリ空間４０ａ２  は、ＯＳ２０２  で利用されるメモリ空間であり、ＯＳ用物理メモリ領域１２ａ２  にマッピングされている。ＡＰ用仮想メモリ空間４０ｂ２  は、ＡＰ３０３  およびＡＰ３０４  で利用されるメモリ空間であり、ＡＰ用物理メモリ領域１２ｂ２  にマッピングされている。
【００５０】
物理メモリ１２では、物理的な記憶単位に物理アドレスが付与されている。一方、仮想メモリ空間４０１  および仮想メモリ空間４０２  では、プログラム中で用いられる論理アドレスによって命令やデータが特定される。仮想記憶制御方式では、ページング方式、セグメンテーション方式、ページング／セグメンテーション方式により、論理アドレスを物理アドレスに変換している。
【００５１】
ページング方式では、アドレス変換がページと呼ばれるブロック単位（４キロバイト）で行われる。このため、ＯＳ２０１  においては、仮想メモリ空間４０１  の仮想ページが、物理メモリ１２のどの物理ページに対応しているかを表すページテーブル（変換テーブル）２４１  が設けられている。同様にして、ＯＳ２０２  においても、仮想メモリ空間４０２  のページが、物理メモリ１２のどのページに対応しているかを表すページテーブル（変換テーブル）２４２  が設けられている。
【００５２】
また、図４（ｂ）に示したように、仮想メモリ空間４０１  のＮ番地（論理アドレス）には、ＯＳ２０１  からＯＳ２０２  へ切り替えるための切替命令Ａが記憶されている。一方、仮想メモリ空間４０２  において、仮想メモリ空間４０１  のＮ番地と同一のＮ番地には、ＯＳ２０２  からＯＳ２０１  へ切り替えるための切替命令Ｂが記憶されている。
【００５３】
図２に戻り、割り込みベクタテーブルレジスタ１３は、割り込みに応じた割込番号を格納するレジスタである。この割込番号は、後述する割り込みベクタテーブル２３１  または割り込みベクタテーブル２３２  での割り込み処理ルーチンの論理アドレスに対応している。
【００５４】
ページテーブルレジスタ１４は、後述するページテーブル２４１  またはページテーブル２４２  へのページインデックスを格納するレジスタである。その他レジスタ１５は、汎用レジスタ、フラグレジスタ等である。プログラムカウンタ１６は、仮想メモリ空間から命令をフェッチする論理アドレスを１インクリメントする。
【００５５】
ＯＳ２０１  において、割り込み振分処理部２１１  は、割り込み発生時に、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部２１１  の処理は、割り込み発生時に制御部１１内部で実行される。
【００５６】
割り込み処理部２２１  は、割り込み処理ルーチン、ＯＳ切り替え処理（ＯＳ２０１  からＯＳ２０２）を実行する。割り込みベクタテーブル２３１  は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル２４１  は、仮想メモリ空間４０１（図３参照）の各仮想ページと、物理メモリ１２の各物理ページとの対応関係を表すテーブルである。
【００５７】
レジスタ退避領域２５１  は、ＯＳ切り替え時に、切り替え前のＯＳに対応するレジスタ（割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５）の内容を退避するための領域である。具体的には、ＯＳ２０１  からＯＳ２０２  へ切り替えられる場合、レジスタ退避領域２５１  には、図４（ａ）に示したように、ＯＳ２０１  に対応するレジスタの内容が退避される。
【００５８】
一方、ＯＳ２０２  において、割り込み振分処理部２１２  は、割り込み発生時に、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３２  を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部２１２  の処理は、割り込み発生時に制御部１１内部で実行される。
【００５９】
割り込み処理部２２２  は、割り込み処理ルーチン、ＯＳ切り替え処理（ＯＳ２０２  からＯＳ２０１）を実行する。割り込みベクタテーブル２３２  は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル２４２  は、仮想メモリ空間４０２（図３参照）の各仮想ページと、物理メモリ１２の各物理ページとの対応関係を表すテーブルである。
【００６０】
レジスタ退避領域２５２  は、ＯＳ切り替え時に、切り替え前のＯＳに対応するレジスタ（割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４、その他レジスタ１５）の内容を退避するための領域である。具体的には、ＯＳ２０２  からＯＳ２０１  へ切り替えられる場合、レジスタ退避領域２５２  には、図４（ａ）に示したように、ＯＳ２０２  に対応するレジスタの内容が退避される。
【００６１】
つぎに、図５を参照して、一実施の形態の動作原理について説明する。同図の例では、ＯＳ２０１  が動作状態にあり、ＯＳ２０２  が待機状態にあるものとする。この状態で、ＯＳ２０１  側で割り込みが発生すると、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  のＬ番地より、割り込み処理ルーチンが実行される。
【００６２】
以後、プログラムカウンタ１６（図２参照）が１インクリメントされる毎に、仮想メモリ空間４０１  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０１  のＮ番地で切替命令Ａが実行され、ＯＳ２０１  からＯＳ２０２  へ切り替えられる。
【００６３】
つぎに、プログラムカウンタ１６が１インクリメントされ、論理アドレスがＮ＋１番地になると、仮想メモリ空間４０２  のＮ＋１番地の命令が実行される。以後、プログラムカウンタ１６（図２参照）が１インクリメントされる毎に、仮想メモリ空間４０２  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる。
【００６４】
以後、プログラムカウンタ１６（図２参照）が１インクリメントされる毎に、仮想メモリ空間４０２  の番地が１つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間４０２  のＮ番地で切替命令Ｂが実行され、ＯＳ２０２  からＯＳ２０１  へ切り替えられる（切り戻される）。
【００６５】
つぎに、プログラムカウンタ１６が１インクリメントされ、論理アドレスがＮ＋１番地になると、仮想メモリ空間４０１  のＮ＋１番地のＩＲＥＴが実行され、割り込みから復帰される。なお、ＯＳ２０２  側で割り込みが発生した場合も、上述と同様に動作する。
【００６６】
つぎに、図６〜図１８を参照して、一実施の形態の動作例１〜９について説明する。
【００６７】
（動作例１）
図６は、一実施の形態の動作例１を説明する図である。動作例１では、仮想メモリ空間４０１  および仮想メモリ空間４０２  の各論理アドレスには、同図に示した処理に対応する各種命令が割り当てられている。
【００６８】
同図の例では、ＯＳ２０１  が動作状態にあり、ＯＳ２０２  が待機状態にあるものとする。この状態で、ＯＳ２０１  側で割り込みが発生すると、割り込み振分処理部２１１  は、▲１▼で、割り込みベクタテーブルレジスタ１３の割込番号に基づいて、割り込みベクタテーブル２３１  を参照し、当該割り込み処理へジャンプする。
【００６９】
これにより、割り込み処理部２２１  は、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンを実行する。以後、プログラムカウンタ１６（図２参照）が１インクリメントされる毎に、仮想メモリ空間４０１  の番地が１つ移行し、当該番地の命令が順次実行される。
【００７０】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、ＯＳ２０１  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【００７１】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令）では、割り込みベクタテーブルレジスタ１３が、ＯＳ２０１  用からＯＳ２０２  用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０１  用からＯＳ２０２  用に変更される。これにより、ＯＳ２０１  からＯＳ２０２  へ切り替えられる（▲３▼）。
【００７２】
仮想メモリ空間４０２  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたＯＳ２０２  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【００７３】
つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる（▲５▼）。
【００７４】
つぎに、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＮ−Ｍ番地で、ＯＳ２０２  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される（▲６▼）。
【００７５】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令）では、割り込みベクタテーブルレジスタ１３が、ＯＳ２０２  用からＯＳ２０１  用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０２  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０２  用からＯＳ２０１  用に変更される。これにより、ＯＳ２０２  からＯＳ２０１  へ切り替えられる（▲７▼）。
【００７６】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、先にレジスタ退避領域２５１  に退避されていたＯＳ２０１  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲８▼）。
【００７７】
つぎに、割り込み処理部２２１  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０１  のＸ番地でＩＲＥＴ（割り込み復帰命令）が実行され、処理ルーチンが割り込み処理ルーチンから通常処理ルーチンへ復帰される（▲９▼）。
【００７８】
（動作例２）
図７は、一実施の形態の動作例２を説明する図である。この図において、図６の各部に対応する部分には同一の符号、文字を対応させている。動作例２では、▲１▼で割り込みが発生すると、動作例１のように割り込み処理ルーチン（Ｌ番地〜）が実行されずに、Ｙ番地でＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。以降の動作については、動作例１と同様である。
【００７９】
（動作例３）
さて、図６に示した動作例１では、ＯＳ２０１  側でＯＳ切り替え処理の前後に割り込み処理ルーチンを実行し、ＯＳ２０２  側でＯＳ切り替え処理の前に割り込み処理ルーチンを実行する例について説明したが、ＯＳ２０１  側およびＯＳ２０２  側の双方でＯＳ切り替え処理の前に割り込み処理ルーチンを実行するようにしてもよい。以下では、この動作例を動作例３として説明する。
【００８０】
図８は、一実施の形態の動作例３を説明する図である。同図において、ＯＳ２０１  側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。
【００８１】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、ＯＳ２０１  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【００８２】
以後、動作例１と同様の処理が実行される。そして、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０１  用からＯＳ２０２  用に変更される。これにより、ＯＳ２０１  からＯＳ２０２  へ切り替えられる（▲３▼）。
【００８３】
つぎに、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたＯＳ２０２  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【００８４】
つぎに仮想メモリ空間４０２  のＮ＋２番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｐ番地へジャンプされる（▲５▼）。Ｎ−Ｐ番地以降では、割り込み処理ルーチン、ＯＳ切り替え処理が順次実行される（▲６▼）。
【００８５】
そして、仮想メモリ空間４０２  のＮ番地では、ページテーブルレジスタ１４がＯＳ２０２  用からＯＳ２０１  用に変更される。これにより、ＯＳ２０２  からＯＳ２０１  へ切り替えられる（▲７▼）。
【００８６】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、先にレジスタ退避領域２５１  に退避されていたＯＳ２０１  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲８▼）。
【００８７】
そして、仮想メモリ空間４０１  のＮ＋２番地でＩＲＥＴ（割り込み復帰命令）が実行され、処理ルーチンが割り込み処理ルーチンから通常処理ルーチンへ復帰される（▲９▼）。
【００８８】
（動作例４）
さて、図６に示した動作例１では、ＯＳ２０２  側で実行させる割り込み処理ルーチンの量が多い場合、ジャンプ命令で分割処理を実行するようにしてもよい。以下では、この動作例を動作例４として説明する。
【００８９】
図９は、一実施の形態の動作例４を説明する図である。同図において、ＯＳ２０１  側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。以後、▲３▼〜▲４▼では、動作例１と同様の処理が実行される。
【００９０】
そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＳ＋Ｑ番地へジャンプされる（▲４▼’）。Ｓ＋Ｑ番地以降では、分割された割り込み処理ルーチンが順次実行される（▲４▼’’）。そして、仮想メモリ空間４０２  のＳ＋Ｒ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ番地へジャンプされる（▲５▼）。
【００９１】
つぎに、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＮ−Ｍ番地で、ＯＳ２０２  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される。以後、▲６▼〜▲９▼では、動作例１と同様の処理が実行される。
【００９２】
（動作例５）
さて、図６に示した動作例１では、ＯＳ切り替え処理を実行中に、より優先度が高い割り込みが多重的に入ることを防止するため、ＯＳ切り替え処理の前後に割り込み禁止命令および割り込み許可命令を実行し、排他制御を行うようにしてもよい。以下では、この動作例を動作例５として説明する。
【００９３】
図１０は、一実施の形態の動作例５を説明する図である。同図においては、仮想メモリ空間４０１  におけるＯＳ切り替え処理の前に割り込み禁止命令（Ｙ−１番地）が、同ＯＳ切り替え処理の後に割り込み許可命令（Ｎ＋２番地）が実行される。
【００９４】
同様にして、仮想メモリ空間４０２  におけるＯＳ切り替え処理の前に割り込み禁止命令（Ｎ−Ｍ−１番地）が、同ＯＳ切り替え処理の後に割り込み許可命令（Ｎ＋２番地）が実行される。割り込み禁止命令が実行されると、他の割り込みを受け付けない状態とされる。一方、割り込み許可命令が実行されると、他の割り込みを受け付ける状態とされる。
【００９５】
同図において、ＯＳ２０１  側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【００９６】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、ＯＳ２０１  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【００９７】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令）では、割り込みベクタテーブルレジスタ１３が、ＯＳ２０１  用からＯＳ２０２  用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０１  用からＯＳ２０２  用に変更される。これにより、ＯＳ２０１  からＯＳ２０２  へ切り替えられる（▲３▼）。
【００９８】
仮想メモリ空間４０２  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたＯＳ２０２  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【００９９】
仮想メモリ空間４０２  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でジャンプ命令が実行され、仮想メモリ空間４０２  のＮ−Ｍ−１番地へジャンプされる（▲５▼）。
【０１００】
Ｎ−Ｍ−１番地では、割り込み禁止命令が実行される。以後、▲６▼および▲７▼では、動作例１と同様にして、ＯＳ切り替え処理により、ＯＳ２０２  からＯＳ２０１  へ切り替えられる。
【０１０１】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、先にレジスタ退避領域２５１  に退避されていたＯＳ２０１  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲８▼）。仮想メモリ空間４０１  のＮ＋２番地では、割り込み許可命令が実行される。以後、動作例１と同様の処理が実行される。
【０１０２】
図１１は、上記動作例５を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＡ１では、ＯＳ２０１  のアプリケーション走行が中止され、割り込み振分処理部２１１  が起動される。ステップＳＡ２では、ＯＳ２０１  の割り込み振分処理部２１１  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１０３】
ステップＳＡ３では、割り込み振分処理部２１１  により、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図１０の▲１▼）。ステップＳＡ４では、割り込み処理ルーチンが実行される（図１０の▲２▼）。
【０１０４】
ステップＳＡ５では、割り込み禁止命令が実行される（図１０のＹ−１番地）。ステップＳＡ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＡ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令）が実行される。ステップＳＡ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１０の▲３▼）、ＯＳ２０１  からＯＳ２０２  へ切り替わる。
【０１０５】
ステップＳＡ９では、ＯＳ２０２  でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１０のＮ＋１番地）。ステップＳＡ１０では、割り込み許可命令が実行される（図１０のＮ＋２番地）。ステップＳＡ１１では、割り込み処理ルーチンが実行される。ステップＳＡ１２では、ジャンプ命令が実行され、Ｎ−Ｍ−１番地にジャンプされる（図１０の▲５▼）。
【０１０６】
図１２に示したステップＳＡ１３では、割り込み禁止命令が実行される（図１０のＮ−Ｍ−１番地）。ステップＳＡ１４では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＡ１５では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令）が実行される。ステップＳＡ１６では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１０の▲７▼）、ＯＳ２０２  からＯＳ２０１  へ切り替わる。
【０１０７】
ステップＳＡ１７では、ＯＳ２０１  でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１０のＮ＋１番地）。ステップＳＡ１８では、割り込み許可命令が実行される（図１０のＮ＋２番地）。ステップＳＡ１９では、割り込み処理ルーチンが実行される。ステップＳＡ２０では、ＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１０８】
（動作例６）
さて、図６に示した動作例１では、ＯＳ２０１  からＯＳ２０２  へのＯＳ切り替え後に、ＯＳ２０２  からＯＳ２０１  へ切り戻し、ＯＳ２０１  で割り込み復帰を行う例について説明したが、切り戻しを行わず、ＯＳ２０２  で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例６として説明する。
【０１０９】
図１３は、一実施の形態の動作例６を説明する図である。同図において、ＯＳ２０１  側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０１  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【０１１０】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０１  のＹ番地で、ＯＳ２０１  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５１  に退避される。
【０１１１】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令）では、割り込みベクタテーブルレジスタ１３が、ＯＳ２０１  用からＯＳ２０２  用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０１  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０１  用からＯＳ２０２  用に変更される。これにより、ＯＳ２０１  からＯＳ２０２  へ切り替えられる（▲３▼）。
【０１１２】
仮想メモリ空間４０２  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０２  のＮ＋１番地で、以前にレジスタ退避領域２５２  に退避されていたＯＳ２０２  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１１３】
仮想メモリ空間４０２  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２２  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０２  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。これにより、前回、ＯＳ２０２  で割り込みが発生した箇所へ制御が戻され（▲５▼）、ＯＳ２０２  でＡＰ３０３  やＡＰ３０４  が走行される。
【０１１４】
図１４は、上記動作例６を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＢ１では、ＯＳ２０１  のアプリケーション走行が中止され、割り込み振分処理部２１１  が起動される。ステップＳＢ２では、ＯＳ２０１  の割り込み振分処理部２１１  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１１５】
ステップＳＢ３では、割り込み振分処理部２１１  により、割り込みベクタテーブル２３１  が参照され、仮想メモリ空間４０１  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図１３の▲１▼）。ステップＳＢ４では、割り込み処理ルーチンが実行される（図１３の▲２▼）。
【０１１６】
ステップＳＢ５では、割り込み禁止命令が実行される（図１３のＹ−１番地）。ステップＳＢ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＢ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令）が実行される。ステップＳＢ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１３の▲３▼）、ＯＳ２０１  からＯＳ２０２  へ切り替わる。
【０１１７】
ステップＳＢ９では、ＯＳ２０２  でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１３のＮ＋１番地）。ステップＳＢ１０では、割り込み許可命令が実行される（図１３のＮ＋２番地）。ステップＳＢ１１では、割り込み処理ルーチンが実行される。ステップＳＢ１２では、仮想メモリ空間４０２  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１１８】
（動作例７）
さて、図１３に示した動作例６では、ＯＳ２０１  からＯＳ２０２  へのＯＳ切り替え後に、切り戻しを行わず、ＯＳ２０２  で割り込み復帰を行う例について説明したが、逆に、ＯＳ２０２  からＯＳ２０１  へのＯＳ切り替え後に、切り戻しを行わず、ＯＳ２０１  で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例７として説明する。
【０１１９】
図１５は、一実施の形態の動作例７を説明する図である。同図において、ＯＳ２０２  側で割り込みが発生すると（▲１▼）、▲２▼で、仮想メモリ空間４０２  のＬ番地より割り込み処理ルーチンが実行される。そして、Ｙ−１番地では、割り込み禁止命令が実行される。
【０１２０】
そして、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）では、仮想メモリ空間４０２  のＹ番地で、ＯＳ２０２  に対応する割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５の内容がレジスタ退避領域２５２  に退避される。
【０１２１】
つぎのＯＳ切り替え処理（ＩＤＴＲ切り替え命令）では、割り込みベクタテーブルレジスタ１３が、ＯＳ２０２  用からＯＳ２０１  用に切り替えられる。つぎのＯＳ切り替え処理（ページテーブルレジスタ変更命令）では、仮想メモリ空間４０２  のＮ番地で、ページテーブルレジスタ１４がＯＳ２０２  用からＯＳ２０１  用に変更される。これにより、ＯＳ２０２  からＯＳ２０１  へ切り替えられる（▲３▼）。
【０１２２】
仮想メモリ空間４０１  において、つぎのＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）では、仮想メモリ空間４０１  のＮ＋１番地で、以前にレジスタ退避領域２５１  に退避されていたＯＳ２０１  用のレジスタの内容が割り込みベクタテーブルレジスタ１３、ページテーブルレジスタ１４およびその他レジスタ１５にそれぞれ復帰される（▲４▼）。
【０１２３】
仮想メモリ空間４０１  のＮ＋２番地では、割り込み許可命令が実行される。つぎに、割り込み処理部２２１  は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間４０１  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。これにより、前回、ＯＳ２０１  で割り込みが発生した箇所へ制御が戻され（▲５▼）、ＯＳ２０１  でＡＰ３０１  やＡＰ３０２  が走行される。
【０１２４】
図１６は、上記動作例７を説明するフローチャートである。同図において、割り込みが発生すると、ステップＳＣ１では、ＯＳ２０２  のアプリケーション走行が中止され、割り込み振分処理部２１２  が起動される。ステップＳＣ２では、ＯＳ２０２  の割り込み振分処理部２１２  が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ１３から取得する。
【０１２５】
ステップＳＣ３では、割り込み振分処理部２１２  により、割り込みベクタテーブル２３２  が参照され、仮想メモリ空間４０２  における割り込み処理ルーチンのある論理アドレスにジャンプされる（図１５の▲１▼）。ステップＳＣ４では、割り込み処理ルーチンが実行される（図１５の▲２▼）。
【０１２６】
ステップＳＣ５では、割り込み禁止命令が実行される（図１５のＹ−１番地）。ステップＳＣ６では、ＯＳ切り替え処理（レジスタをレジスタ退避領域に退避）が実行される。ステップＳＣ７では、ＯＳ切り替え処理（ＩＤＴＲ切り替え命令）が実行される。ステップＳＣ８では、ＯＳ切り替え処理（ページテーブルレジスタ変更命令）が実行され（図１５の▲３▼）、ＯＳ２０２  からＯＳ２０１  へ切り替わる。
【０１２７】
ステップＳＣ９では、ＯＳ２０１  でＯＳ切り替え処理（レジスタ退避領域からレジスタを復帰）が実行される（図１５のＮ＋１番地）。ステップＳＣ１０では、割り込み許可命令が実行される（図１５のＮ＋２番地）。ステップＳＣ１１では、割り込み処理ルーチンが実行される。ステップＳＣ１２では、仮想メモリ空間４０１  のＳ番地でＩＲＥＴ（割り込み復帰命令）が実行され、割り込みから復帰される。
【０１２８】
（動作例８）
さて、前述した動作例６では、図１３に示した仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装例について説明したが、図１７に示した動作例８のように、仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装を行うようにしてもよい。なお、動作例８における動作は、動作例６と同様である。
【０１２９】
（動作例９）
さて、前述した動作例７では、図１５に示した仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装例について説明したが、図１８に示した動作例９のように、仮想メモリ空間４０１  および仮想メモリ空間４０２  の実装を行うようにしてもよい。なお、動作例９における動作は、動作例７と同様である。
【０１３０】
図１９（ａ）〜図１９（ｄ）は、上述した一実施の形態の応用例１〜４を説明する図である。図１９（ａ）に示した応用例１は、新旧ＯＳを共存させ、システム更改時に利用する例である。新ＯＳは、例えば、ＯＳ２０１  に対応している。一方、旧ＯＳは、ＯＳ２０２  に対応している。
【０１３１】
図１９（ｂ）に示した応用例２は、ソース公開ＯＳを活用し、ソース非公開ＯＳのリリースを待たずに、ソース公開ＯＳ側で新機能をスピード開発する例である。ソース非公開ＯＳは、ソースコードが公開されていないオペレーティングシステムであり、例えば、ＯＳ２０１  に対応している。一方、ソース公開ＯＳは、ソースコードが公開されているオペレーティングシステムであり、ＯＳ２０２  に対応している。
【０１３２】
図１９（ｃ）に示した応用例３は、専用ＯＳと汎用ＯＳとを共存させる例である。専用ＯＳは、リアルタイム性等に特化する機能を分担し、例えば、ＯＳ２０１  に対応している。一方、汎用ＯＳは、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）等であり、ＧＵＩ機能を分担し、ＯＳ２０２  に対応している。
【０１３３】
図１９（ｄ）に示した応用例４は、資源を分割する例であり、ＯＳ１とＯＳ２の使用目的により使用方法が異なる例である。ＯＳ１は、例えば、ＯＳ２０１  に対応している。一方、ＯＳ２は、ＯＳ２０２  に対応している。
【０１３４】
図２０は、一実施の形態をシステム移行に適用した場合を説明する図である。同図において、従来の移行作業では、一度に、旧端末に実装されている旧ＯＳの全モジュールを新端末の新ＯＳに移行させる必要があり、安全面で不安が残る。
【０１３５】
これに対して、マルチオペレーティングシステムがあると、旧端末に実装されている旧ＯＳの各モジュールを中間端末の旧ＯＳに安全を確認しながら移行させる。つぎに、中間端末において、旧ＯＳの各モジュールを新ＯＳに安全を確認しながら移行させる。
【０１３６】
つぎに、中間端末の新ＯＳの全モジュールを、新端末の新ＯＳに一度に移行させる。この場合、新ＯＳ間での移行であるため、問題が発生しない。マルチＯＳによる移行は、ある特定のモジュールに急いで新機能をつける場合に有効である。
【０１３７】
図２１は、一実施の形態を高セキュリティゲートウェイに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム（ＯＳ１およびＯＳ２）を備えており、ＮＩＣ（ネットワークインタフェースカード）を経由してインターネットに接続されている。このハードウェアは、高セキュリティゲートウェイとして機能する。
【０１３８】
ＯＳ１は、ユーザが使用するＡＰ（アプリケーションプログラム）１を管理するとともに、通信ログをＤＫ（ディスク）１に蓄積する。一方、ＯＳ２は、インターネットからの通信パケットを監視し、監視ログをＤＫ２に蓄積する。
【０１３９】
また、ＯＳ２では、ＮＩＣを直接制御し、通信を行う。このため、ＯＳ２は、ＯＳ１の通信を支援するため、ＮＩＣの対ソフトウェア提供インタフェースを疑似した疑似ＮＩＣ−Ｉ／ＦをＯＳ１に提供している。ＡＰ２は、パケット監視ログ収集用のアプリケーションプログラムであり、ＯＳ２上で動作する。
【０１４０】
また、ＡＰ２は、通信パケットを外から見るだけで、通信パケットに含まれる実行コードを処理しないため、ウイルスに感染しない。ＤＫ２に蓄積される監視ログは、悪意の第三者による改竄がなされないようになっている。従って、攻撃の痕跡を残すことが可能となる。
【０１４１】
ここで、ユーザの環境（ＯＳ１等）に対して、セキュリティの攻撃が行われた場合、ＯＳ１の通信ログが改竄されることが考えられる。しかしながら、一実施の形態では、マルチオペレーティングシステムにより、ＯＳ１とＯＳ２の監視ログが別々に管理されるため、攻撃者の追跡を行うことが可能となる。これにより、当該セキュリティゲートウェイへの攻撃を抑止する効果が期待できる。
【０１４２】
図２２は、一実施の形態をデスクトップＧｒｉｄ端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム（ＯＳ１およびＯＳ２）を備えており、ＮＩＣを経由してインターネットに接続されている。インターネットには、Ｇｒｉｄサーバが接続されている。ハードウェアは、デスクトップＧｒｉｄ端末として機能する。
【０１４３】
デスクトップＧｒｉｄ端末は、ユーザが計算機を利用しない間に、大きな計算の一部を割り当てて計算を実現しようとするデスクトップＧｒｉｄ計算を行うための端末である。ここで、ユーザ側から見ると、内容が不明な上記計算が自身の計算機環境に及ぼす悪影響が心配となる。
【０１４４】
そこで、同図では、自身の計算機環境をＯＳ１で管理し、Ｇｒｉｄ計算の処理環境をＯＳ２で管理することにより、上記悪影響を排除できる。つまり、Ｇｒｉｄ計算で利用されるデータやプログラムは、全てＯＳ２の制御下のみで管理され実行される。一方、ＯＳ１の制御下にあるＤＫ１やＭＥＭ（メモリ）１という計算機資源には、アクセスが許可されない。従って、Ｇｒｉｄ計算のプログラムからの悪影響が排除される。
【０１４５】
図２３は、一実施の形態を遠隔管理端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム（ＯＳ１およびＯＳ２）を備えており、ＮＩＣを経由してネットワークに接続されている。ネットワークには、システム管理者マシンや他のマシンが接続されている。ハードウェアは、遠隔管理端末として機能する。
【０１４６】
同図において、ユーザが管理できる範疇をＯＳ１に制限し、ＯＳ２の管理をネットワークを介してシステム管理者マシンで行うように構成されている。これにより、オフィス環境などで利用するパーソナルコンピュータのデフォルト環境を、システム管理者がＯＳ２の管理下で構築し、一方、ユーザ個人の好みや状況に応じて利用する環境を、ユーザがＯＳ１の管理下で構築することができる。
【０１４７】
したがって、ユーザ個人の環境設定により、システム側で用意した環境が動作不具合になることが防止される。ＯＳ２は、システム管理者マシンでシステム管理者により管理され、システム側で設計された環境を提供する。ユーザは、該環境を利用する場合、ＯＳ２のファイル情報をＯＳ１に読み込んで起動するか、または、ＯＳ２に起動を依頼してクライアント／サーバの形態で実行する。
【０１４８】
図２４は、一実施の形態を高効率ネットサービス提供端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム（ＯＳ１およびＯＳ２）を備えており、ＮＩＣを経由してネットワークに接続されている。ネットワークには、コンテンツプロバイダサーバや他のマシンが接続されている。ハードウェアは、高効率ネットサービス提供端末として機能する。
【０１４９】
同図においては、高効率ネットサービス提供端末は、遠隔管理端末（図２３参照）と同様にして、一方のＯＳ１をユーザの管理下、他方のＯＳ２をネットサービスの管理下として、例えば、封切り前のコンテンツを事前にＯＳ２の管理下（ＤＫ２）に配信しておき、封切り時刻にＯＳ１の管理下のＤＫ１からのコンテンツの即時利用を実現する端末である。
【０１５０】
コンテンツは、ネットワークを介して、コンテンツプロバイダサーバからＯＳ２の管理下のＤＫ２に配信された後、ユーザの希望により、ＤＫ２からＯＳ１の管理下のＤＫ１へ当該コンテンツが提供され、即時利用が可能となる。このように、コンテンツプロバイダサーバでは、事前配信により、ダウンロードアクセスの集中が防止される。
【０１５１】
図２５は、一実施の形態を高セキュリティＷｅｂサービス提供サーバに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム（ＯＳ１およびＯＳ２）を備えており、ＮＩＣを経由してネットワークに接続されている。ネットワークには、Ｗｅｂ閲覧端末が接続されている。ハードウェアは、高セキュリティＷｅｂサービス提供サーバとして機能する。
【０１５２】
同図の高セキュリティＷｅｂサービス提供サーバにおいては、外部からアクセスできる環境がＯＳ２で、ローカルユーザだけがアクセスできる環境がＯＳ１で構築される。
【０１５３】
例えば、Ｗｅｂ公開コンテンツや利用ログは、ＯＳ２の管理下のＤＫ２に格納される。一方、公開したくないデータ等は、ＯＳ１の管理下のＤＫ１に格納される。この場合、設定ミス等により、公開したくない情報を誤ってＷｅｂ上で公開してしまうという事態が回避される。また、外部から悪意の第三者による攻撃をＯＳ２側が受けた場合であっても、ＯＳ１では、ネットワーク機能を除き、動作することが可能となる。
【０１５４】
以上説明したように、一実施の形態によれば、図５に示したように、仮想メモリ空間４０１  のＮ番地に切替命令Ａを仮想記憶させ、仮想メモリ空間４０２  のＮ＋１番地以降に各種命令を仮想記憶させておき、所定要因（例えば、割り込み発生）をトリガーとして、切替命令Ａにより、ＯＳ２０１  がＯＳ２０１  からＯＳ２０２  に切り替え、ＯＳ２０２  が仮想メモリ空間４０２  のＮ＋１番地以降の前記各種命令を実行することとしたので、従来の基盤ＯＳやＶＭモニタ等の共通部分が不要でＯＳ２０１  およびＯＳ２０２  が共存され、マルチオペレーティングシステムの信頼性、処理能力を向上させることができる。
【０１５５】
また、一実施の形態によれば、従来の共通部分が不要であるため、ＯＳ２０１  とＯＳ２０２  とを独立的に動作させることができ、セキュリティを向上させることができる。
【０１５６】
また、一実施の形態によれば、切替命令Ｂを仮想メモリ空間４０２  のＮ番地に仮想記憶させ、切替命令Ａにより切り替えが行われてから、ＯＳ２０２  が、仮想メモリ空間４０２  のＮ＋１番地以降の各種命令を実行した後、切替命令Ｂにより、ＯＳ２０２  からＯＳ２０１  に切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができる。
【０１５７】
また、一実施の形態によれば、ＯＳ２０２  が、仮想メモリ空間４０２  のＮ＋１番地以降の各種命令を実行した後、Ｓ番地のジャンプ命令により、Ｎ番地より前のＮ−Ｍ番地にジャンプし、切替命令Ｂにより、ＯＳ２０２  からＯＳ２０１  に切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができる。
【０１５８】
また、一実施の形態によれば、仮想メモリ空間４０１  のＮ＋１番地以降に割り込み復帰命令（ＩＲＥＴ）を仮想記憶させ、ＯＳ２０１  が、ＯＳ２０２  からＯＳ２０１  への切り替え後、割り込み復帰命令により復帰処理を実行することとしたので、ＯＳ２０１  側で通常ルーチン等の実行を再開することができる。
【０１５９】
また、一実施の形態によれば、図１３に示したように、仮想メモリ空間４０２  のＮ＋１番地以降に割り込み復帰命令（ＩＲＥＴ）を仮想記憶させ、ＯＳ２０２  が、ＯＳ２０１  からＯＳ２０２  への切り替え後、割り込み復帰命令により復帰処理を実行することとしたので、ＯＳ２０２  側で通常ルーチン等の実行を再開することができる。
【０１６０】
また、一実施の形態によれば、図１０に示したように、仮想メモリ空間４０１  のＮ番地の前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、ＯＳ２０１  側での多重割り込みを回避することができる。
【０１６１】
また、一実施の形態によれば、仮想メモリ空間４０２  のＮ番地の前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、ＯＳ２０２  側での多重割り込みを回避することができる。
【０１６２】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【０１６３】
例えば、前述した一実施の形態においては、マルチオペレーティングシステム制御を実現するためのプログラムを図２６に示したコンピュータ読み取り可能な記録媒体２００に記録して、この記録媒体２００に記録されたプログラムを同図に示したコンピュータ１００に読み込ませ、実行することにより各機能を実現してもよい。
【０１６４】
同図に示したコンピュータ１００は、上記プログラムを実行するＣＰＵ１１０と、キーボード、マウス等の入力装置１２０と、各種データを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０と、演算パラメータ等を記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４０と、記録媒体２００からプログラムを読み取る読取装置１５０と、ディスプレイ、プリンタ等の出力装置１６０と、装置各部を接続するバス１７０とから構成されている。
【０１６５】
ＣＰＵ１１０は、読取装置１５０を経由して記録媒体２００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体２００としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【０１６６】
また、一実施の形態においては、マルチオペレーティングシステムとして、図１に示した二つのＯＳ２０１  、ＯＳ２０２  を有する構成例について説明したが、三つ以上のＯＳを有する構成例も本発明に含まれる。
【０１６７】
例えば、ＯＳ１、ＯＳ２、ＯＳ３、・・・、ＯＳｎというｎ個のＯＳを有する構成の場合には、ＯＳ１走行中に割り込み（１）が発生した場合にＯＳ１からＯＳ２に切り替え、ＯＳ１走行中に割り込み（２）が発生した場合にＯＳ１からＯＳ３に切り替え、以下同様にして、ＯＳ１走行中に割り込み（ｎ−１）が発生した場合にＯＳ１からＯＳｎに切り替えるように制御すればよい。
【０１６８】
【発明の効果】
以上説明したように、本発明によれば、第１の仮想メモリ空間の論理アドレスＮに第１の切替命令を仮想記憶させ、第２の仮想メモリ空間の論理アドレスＮ＋１以降に各種命令を仮想記憶させておき、所定要因をトリガーとして、第１の切替命令により、第１のオペレーティングシステムが第１のオペレーティングシステムから第２のオペレーティングシステムに切り替え、第２のオペレーティングシステムが第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行することとしたので、従来の基盤ＯＳやＶＭモニタ等の共通部分が不要で第１および第２のオペレーティングシステムが共存され、マルチオペレーティングシステムの信頼性、処理能力を向上させることができるという効果を奏する。
【０１６９】
また、本発明によれば、従来の共通部分が不要であるため、第１のオペレーティングシステムと第２のオペレーティングシステムとを独立的に動作させることができ、セキュリティを向上させることができるという効果を奏する。
【０１７０】
また、本発明によれば、第２の切替命令を第２の仮想メモリ空間の論理アドレスＮに仮想記憶させ、第１の切替命令により切り替えが行われてから、第２のオペレーティングシステムが、第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、第２の切替命令により、第２のオペレーティングシステムから第１のオペレーティングシステムに切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができるという効果を奏する。
【０１７１】
また、本発明によれば、第２のオペレーティングシステムが、第２の仮想メモリ空間の論理アドレスＮ＋１以降の前記各種命令を実行した後、所定のジャンプ命令により論理アドレスＮより前の論理アドレスにジャンプし、第２の切替命令により、第２のオペレーティングシステムから第１のオペレーティングシステムに切り替えることとしたので、切り替えおよび切り戻しを円滑に行うことができるという効果を奏する。
【０１７２】
また、本発明によれば、第１の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、第１のオペレーティングシステムが、第２のオペレーティングシステムから第１のオペレーティングシステムへの切り替え後、復帰命令により復帰処理を実行することとしたので、第１のオペレーティングシステム側で通常ルーチン等の実行を再開することができるという効果を奏する。
【０１７３】
また、本発明によれば、第２の仮想メモリ空間の論理アドレスＮ＋１以降に復帰命令を仮想記憶させ、第２のオペレーティングシステムが、第１のオペレーティングシステムから第２のオペレーティングシステムへの切り替え後、復帰命令により復帰処理を実行することとしたので、第２のオペレーティングシステム側で通常ルーチン等の実行を再開することができるという効果を奏する。
【０１７４】
また、本発明によれば、第１の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、第１のオペレーティングシステム側での多重割り込みを回避することができるという効果を奏する。
【０１７５】
また、本発明によれば、第２の仮想メモリ空間の論理アドレスＮの前後に割り込み禁止命令および割り込み許可命令を仮想記憶させることとしたので、第２のオペレーティングシステム側での多重割り込みを回避することができるという効果を奏する。
【０１７６】
また、本発明によれば、上記の発明のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるようにしたので、プログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる一実施の形態の概略構成を示すブロック図である。
【図２】同一実施の形態の具体的構成を示すブロック図である。
【図３】同一実施の形態におけるマルチオペレーティングシステム間のメモリマッピングを説明する図である。
【図４】同一実施の形態の動作原理を説明する図である。
【図５】同一実施の形態の動作原理を説明する図である。
【図６】同一実施の形態の動作例１を説明する図である。
【図７】同一実施の形態の動作例２を説明する図である。
【図８】同一実施の形態の動作例３を説明する図である。
【図９】同一実施の形態の動作例４を説明する図である。
【図１０】同一実施の形態の動作例５を説明する図である。
【図１１】同一実施の形態の動作例５を説明するフローチャートである。
【図１２】同一実施の形態の動作例５を説明するフローチャートである。
【図１３】同一実施の形態の動作例６を説明する図である。
【図１４】同一実施の形態の動作例６を説明するフローチャートである。
【図１５】同一実施の形態の動作例７を説明する図である。
【図１６】同一実施の形態の動作例７を説明するフローチャートである。
【図１７】同一実施の形態の動作例８を説明する図である。
【図１８】同一実施の形態の動作例９を説明する図である。
【図１９】同一実施の形態の応用例１〜４を説明する図である。
【図２０】同一実施の形態をシステム移行に適用した場合を説明する図である。
【図２１】同一実施の形態を高セキュリティゲートウェイに適用した場合を説明する図である。
【図２２】同一実施の形態をデスクトップＧｒｉｄ端末に適用した場合を説明する図である。
【図２３】同一実施の形態を遠隔管理端末に適用した場合を説明する図である。
【図２４】同一実施の形態を高効率ネットサービス提供端末に適用した場合を説明する図である。
【図２５】同一実施の形態を高セキュリティＷｅｂサービス提供サーバに適用した場合を説明する図である。
【図２６】同一実施の形態の変形例の構成を示すブロック図である。
【図２７】従来のマルチオペレーティングシステムの構成例１を示すブロック図である。
【図２８】従来のマルチオペレーティングシステムの構成例２を示すブロック図である。
【符号の説明】
１０  ハードウェア
２０１  ，２０２  ＯＳ
１１  制御部
１２  物理メモリ
２１１  ，２１２  割り込み振分処理部
２２１  ，２２２  割り込み処理部
４０１  ，４０２  仮想メモリ空間
【図１】
2004171057.tif 000003
【図２】
2004171057.tif 000004
【図３】
2004171057.tif 000005
【図４】
2004171057.tif 000006
【図５】
2004171057.tif 000007
【図６】
2004171057.tif 000008
【図７】
2004171057.tif 000009
【図８】
2004171057.tif 000010
【図９】
2004171057.tif 000011
【図１０】
2004171057.tif 000012
【図１１】
2004171057.tif 000013
【図１２】
2004171057.tif 000014
【図１３】
2004171057.tif 000015
【図１４】
2004171057.tif 000016
【図１５】
2004171057.tif 000017
【図１６】
2004171057.tif 000018
【図１７】
2004171057.tif 000019
【図１８】
2004171057.tif 000020
【図１９】
2004171057.tif 000021
【図２０】
2004171057.tif 000022
【図２１】
2004171057.tif 000023
【図２２】
2004171057.tif 000024
【図２３】
2004171057.tif 000025
【図２４】
2004171057.tif 000026
【図２５】
2004171057.tif 000027
【図２６】
2004171057.tif 000028
【図２７】
2004171057.tif 000029
【図２８】
2004171057.tif 000030