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