JP2004252776A - Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system - Google Patents

Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system Download PDF

Info

Publication number
JP2004252776A
JP2004252776A JP2003043312A JP2003043312A JP2004252776A JP 2004252776 A JP2004252776 A JP 2004252776A JP 2003043312 A JP2003043312 A JP 2003043312A JP 2003043312 A JP2003043312 A JP 2003043312A JP 2004252776 A JP2004252776 A JP 2004252776A
Authority
JP
Japan
Prior art keywords
operating system
processing unit
nic
reception
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003043312A
Other languages
Japanese (ja)
Inventor
Hideo Taniguchi
秀夫 谷口
Yoshinari Nomura
能成 乃村
Kazuo Tanaka
一男 田中
Kenichi Ito
健一 伊藤
Yusaku Nakajima
雄作 中島
Masaki Tabuchi
正樹 田渕
Kei Masumoto
圭 桝本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2003043312A priority Critical patent/JP2004252776A/en
Publication of JP2004252776A publication Critical patent/JP2004252776A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve the security and reliability of a multi-operating system. <P>SOLUTION: This control device comprises a transmission buffer 12 and receiving buffer 14 for an NIC (Network Interface Card) 10 for temporarily storing data (packet, command, etc.) of a communication object in OS30<SB>1</SB>and OS30<SB>2</SB>which constitute the multi-operating system, and an NIC device driver 20<SB>1</SB>and NIC device driver 20<SB>2</SB>for setting the normal connecting destination of the transmission buffer 12 and receiving buffer 14 to the OS30<SB>2</SB>side, and setting, when the data of the communication object are related to the OS30<SB>1</SB>, the connecting destination of the transmission buffer 12 and receiving buffer 14 for temporarily storing the data to the OS30<SB>1</SB>while relaying the S30<SB>2</SB>. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、一台の計算機上で複数のオペレーティングシステムを稼動させるためのマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置に関するものであり、特に、セキュリティ、信頼性を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム制御装置に関するものである。
【0002】
【従来の技術】
通常の計算機では、1つのオペレーティングシステムが動作し、それが計算機のプロセッサ、メモリ、二次記憶装置等の計算機資源を管理し、計算機が効率良く動作できるように資源スケジュールを実施している。オペレーティングシステムには、様々な種類がある。バッチ処理に優れるものや、TSS(Time Sharing System)に優れるもの、GUI(Graphical User Interface)に優れているものなど様々である。
【0003】
一方で、これら複数あるオペレーティングシステムを1台の計算機で同時に実行したいというニーズがある。例えば、大型計算機においては、実際の業務に伴うオンライン処理を実行するオペレーティングシステムと、開発用のオペレーティングシステムとを一台の計算機で動作させたいという要求がある。あるいは、GUIの整っているオペレーティングシステムと、実時間性に優れているオペレーティングシステムとを同時に稼働させたい等という要求もある。
【0004】
しかしながら、個々のオペレーティングシステムは、単独で計算機資源の管理を実施することを前提として設計されている。従って、複数のオペレーティングシステムの共存は、何らかの機構なしには不可能である。
【0005】
一台の計算機上で複数のオペレーティングシステムを動作させる機構としては、大型計算機で実現されている仮想計算機方式がある。図70は、上記仮想計算機方式による従来のマルチオペレーティングシステムの構成例1を示すブロック図である。
【0006】
同図に示したマルチオペレーティングシステムは、ハードウェア1、基盤OS2、VM(Virtual Machine)モニタ3、仮想OS(オペレーティングシステム)4、仮想OS4および仮想OS4から構成されている。
【0007】
ハードウェア1は、CPU(Central Processing Unit)、物理メモリ、入出力機器等である。基盤OS2およびVMモニタ3は、ハードウェア1の全てを制御している。VMモニタ3は、仮想OS4〜4 のそれぞれのハードウェア1に対するインタフェースをエミュレートする。仮想OS4〜4 は、基盤OS2の上で走行する。すなわち、基盤OS2と仮想OS4〜4 とは、主従関係にある。
【0008】
同図に示したマルチオペレーティングシステムにおいて、例えば、仮想OS間でパケット等の通信を行う場合、基盤OS2や、仮想OS4 〜4 から同時に参照可能な共有メモリ(図示略)を経由する方法が採られる。
【0009】
例えば、仮想OS4から仮想OS4へパケットを送信する場合には、仮想OS4がパケットを共有メモリに格納した後、仮想OS4が共有メモリからパケットを取得する。なお、仮想OS間以外に、仮想OSと他装置との間においても、共有メモリや基盤OS2を経由して通信が行われる。
【0010】
また、一台の計算機で複数のオペレーティングシステムのインタフェースを提供する技術として、マイクロカーネル方式がある。図71は、上記マイクロカーネル方式による従来のマルチオペレーティングシステムの構成例2を示すブロック図である。
【0011】
同図に示したマルチオペレーティングシステムは、ハードウェア5、マイクロカーネル(制御プログラム)6、OS7、OS7およびOS7から構成されている。
【0012】
マイクロカーネル方式では、マイクロカーネル6の上に、ユーザに見せるオペレーティングシステム機能を提供するOS7〜7 が構築されている。ユーザはOS7〜7 を経由してハードウェア5(計算機資源)を利用する。マイクロカーネル6は、OS7〜7 を制御する。
【0013】
同図に示したマルチオペレーティングシステムにおいて、例えば、OS間でパケット等の通信を行う場合にも、マイクロカーネルや、OS7 〜7 から同時に参照可能な共有メモリ(図示略)を経由する方法が採られる。
【0014】
例えば、OS7からOS7へパケットを送信する場合には、OS7がパケットを共有メモリに格納した後、OS7が共有メモリからパケットを取得する。なお、OS間以外に、OSと他装置との間においても、共有メモリやマイクロカーネル6を経由して通信が行われる。
【0015】
【特許文献1】
特開平11−149385号公報
【特許文献2】
特開2001−216172号公報
【特許文献3】
特開2000−207232号公報
【特許文献4】
特開平8−212089号公報
【特許文献5】
特開平2001−290661号公報
【特許文献6】
特開平11−85546号公報
【特許文献7】
特開2001−282558号公報
【特許文献8】
特開平11−85546号公報
【0016】
【発明が解決しようとする課題】
ところで、前述したように、図70に示した従来のマルチオペレーティングシステムにおいては、仮想OS間や仮想OSと他装置との間で共用メモリを経由して通信を行っているため、セキュリティが低いという問題があった。
【0017】
すなわち、上記共用メモリが複数の仮想OS4〜4のそれぞれから同時に参照可能であるため、通信時に共用メモリに外部から不正アクセスされた場合には、仮想OS4〜4が同時に攻撃される。
【0018】
また、従来のマルチオペレーティングシステムにおいては、ハードウェア1を一つの基盤OS2が制御しているため、基盤OS2の停止により、システムダウンが生じ、信頼性が低いという問題があった。
【0019】
また、図71に示した従来のマルチオペレーティングシステムにおいても、共用メモリが複数のOS7〜7のそれぞれから同時に参照可能であるため、通信時に共用メモリに外部から不正アクセスされた場合に、OS7〜7が同時に攻撃され、セキュリティ上問題がある。
【0020】
本発明は、上記に鑑みてなされたもので、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成するために、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0022】
この発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0023】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0024】
この発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0025】
また、本発明は、請求項1または2に記載のマルチオペレーティングシステム制御方法において、前記設定工程では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする。
【0026】
この発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができる。
【0027】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え工程と、を含むことを特徴とする。
【0028】
この発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0029】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0030】
この発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0031】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、を含むことを特徴とする。
【0032】
この発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0033】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信工程と、を含むことを特徴とする。
【0034】
この発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0035】
また、本発明は、請求項7に記載のマルチオペレーティングシステム制御方法において、前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更工程では、前記設定変更を行わず、また、前記送信工程では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする。
【0036】
この発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができる。
【0037】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更工程と、を含むことを特徴とする。
【0038】
この発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0039】
また、本発明は、請求項1〜9のいずれか一つに記載のマルチオペレーティングシステム制御方法において、前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック工程、を含むことを特徴とする。
【0040】
この発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0041】
また、本発明は、請求項1〜10のいずれか一つに記載のマルチオペレーティングシステム制御方法において、前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする。
【0042】
この発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0043】
また、本発明は、請求項1〜11のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるプログラムであり、そのプログラムがコンピュータ読み取り可能となり、これによって、請求項1〜11のいずれか一つに記載された発明の動作をコンピュータによって実行することができる。
【0044】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0045】
この発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0046】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0047】
この発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0048】
また、本発明は、請求項13または14に記載のマルチオペレーティングシステム制御装置において、前記設定手段では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする。
【0049】
この発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができる。
【0050】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え手段と、を備えたことを特徴とする。
【0051】
この発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0052】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0053】
この発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0054】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、を備えたことを特徴とする。
【0055】
この発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0056】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信手段と、を備えたことを特徴とする。
【0057】
この発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0058】
また、本発明は、請求項19に記載のマルチオペレーティングシステム制御装置において、前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更手段では、前記設定変更を行わず、また、前記送信手段では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする。
【0059】
この発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができる。
【0060】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更手段と、を備えたことを特徴とする。
【0061】
この発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0062】
また、本発明は、請求項13〜21のいずれか一つに記載のマルチオペレーティングシステム制御装置において、前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック手段、を備えたことを特徴とする。
【0063】
この発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0064】
また、本発明は、請求項13〜22のいずれか一つに記載のマルチオペレーティングシステム制御装置において、前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする。
【0065】
この発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0066】
【発明の実施の形態】
以下、図面を参照して本発明にかかるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置の実施の形態1〜3について詳細に説明する。
【0067】
(実施の形態1)
図1は、本発明にかかる実施の形態1の構成を示すブロック図である。この図に示したマルチオペレーティングシステムは、NIC(Network Inerface Card)10、NICデバイスドライバ20、NICデバイスドライバ20、OS30、OS30、AP(アプリケーションプログラム)40〜40およびネットワーク50から構成されている。
【0068】
同マルチオペレーティングシステムでは、OS30からOS30へ、またはOS30からOS30への切り替えが割り込み処理ルーチンの中で実行される。割り込みの発生要因としては、NIC10を介しての通信要求、タイマ(図示略)による定期的な切り替え要求等が挙げられる。
【0069】
また、同マルチオペレーティングシステムは、従来のように共通の制御プログラムや、共用メモリ等を介さずに、NIC10を用いて、高いセキュリティを保持した状態でOS30とOS30との間でデータ(パケット等)の受け渡しを実現する点に特徴がある。
【0070】
以下、各構成要素について詳述する。NIC10は、例えば、LAN(Local Area Network)カードであり、通信インタフェース機能を備えている。このNIC10は、後述するNICデバイスドライバ20およびNICデバイスドライバ20により制御される。
【0071】
NIC10において、NIC送信処理部11は、パケットを送信する機能を備えている。送信バッファ12は、NIC送信処理部11から送信されるパケットを一時的に格納する。NIC受信処理部13は、ネットワーク50よりパケットを受信する機能を備えている。受信バッファ14は、NIC受信処理部13により受信されたパケットを一時的に格納する。
【0072】
送信バッファレジスタ15は、後述する送信バッファ23または送信バッファ23のいずれかに対応する値(アドレス)を格納するレジスタである。受信バッファレジスタ16は、後述する受信バッファ25または受信バッファ25のいずれかに対応する値(アドレス)を格納するレジスタである。
【0073】
NICデバイスドライバ20は、OS30の一部の機能を実現するものであり、通信時にNIC10を制御する機能、送信バッファレジスタ15や受信バッファレジスタ16の値を書き換える機能、OSをOS30からOS30へ切り替える機能等を備えている。
【0074】
NICデバイスドライバ20において、送信処理部22は、OS30からのパケットを送信する機能を備えている。送信バッファ23は、OS30からのパケットを一時的に格納する。受信処理部24は、OS30宛のパケットを受信する機能を備えている。受信バッファ25は、OS30宛のパケットを一時的に格納する。OS切替え処理部21は、OSをOS30からOS30へ切り替える機能等を備えている。
【0075】
一方、NICデバイスドライバ20は、OS30の一部の機能を実現するものであり、通信時にNIC10を制御する機能、送信バッファレジスタ15や受信バッファレジスタ16の値を書き換える機能、OSをOS30からOS30へ切り替える機能等を備えている。
【0076】
また、NICデバイスドライバ20において、送信処理部22は、OS30からのパケットを送信する機能を備えている。送信バッファ23は、OS30からのパケットを一時的に格納する。受信処理部24は、OS30宛のパケットを受信する機能を備えている。受信バッファ25は、OS30宛のパケットを一時的に格納する。OS切替え処理部21は、OSをOS30からOS30へ切り替える機能等を備えている。データチェック処理部26は、パケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。
【0077】
ここで、OS30には、IPアドレスとして、例えば、192.168.1.3が付与されている。一方、OS30には、別のIPアドレスとして、例えば、192.168.1.4が付与されている。なお、実施の形態1〜3においては、OSを識別する情報として、上記IPアドレスに代えて、MAC(Media Access Control)アドレスを用いてもよい。
【0078】
つぎに、実施の形態1の動作概要1〜4について、図2〜図5を参照しつつ説明する。
【0079】
(実施の形態1の動作概要1)
はじめに、実施の形態1の動作概要1について、図2に示したブロック図を参照して説明する。この動作概要1では、NIC10を介して、OS30からOS30へ通信する場合について説明する。
【0080】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0081】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケット(以下、データ、コマンド等も含む)を送信バッファ23に格納する。このパケットは、OS30からOS30へ送信される。従って、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.3である。
【0082】
(2)では、送信処理部22は、NIC10の受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0083】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0084】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0085】
(6)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(7)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0086】
このように、実施の形態1の動作概要1では、NIC10を介しての通信と、OS切り替えとの連携により、高いセキュリティを保持した状態で、OS間通信が実現される。
【0087】
(実施の形態1の動作概要2)
つぎに、実施の形態1の動作概要2について、図3に示したブロック図を参照して説明する。この動作概要2では、NIC10を介して、OS30からOS30へ通信する場合について説明する。
【0088】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0089】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケットを送信バッファ23に格納する。このパケットは、OS30からOS30宛に送信される。従って、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.4である。
【0090】
(2)では、送信処理部22は、NIC10の送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0091】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0092】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0093】
(6)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(7)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0094】
(実施の形態1の動作概要3)
つぎに、実施の形態1の動作概要3について、図4に示したブロック図を参照して説明する。この動作概要3では、ネットワーク50に接続された他装置(図示略)からOS30宛のパケットをNIC10を介してOS30が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0095】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0096】
この状態で、(1)では、NIC10のNIC受信処理部13は、他装置(図示略)からOS30宛に送信されたパケットを、ネットワーク50を介して、受信した後、これを受信バッファ14に格納する。ここで、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.3である。
【0097】
(2)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0098】
(3)では、受信処理部24は、データチェック処理部26を呼び出す。(4)では、データチェック処理部26は、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0099】
この場合、チェック結果が正常であるとすると、(5)では、受信処理部24(またはデータチェック処理部26)は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。
【0100】
(6)では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25へ書き換える。(7)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23から送信バッファ12へパケットをコピーする。
【0101】
(8)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0102】
(9)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0103】
(10)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(11)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0104】
(実施の形態1の動作概要4)
つぎに、実施の形態1の動作概要4について、図5に示したブロック図を参照して説明する。この動作概要4では、OS30からネットワーク50に接続された他装置(図示略)宛のパケットを、NIC10を介してOS30が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0105】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0106】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケットを送信バッファ23に格納する。このパケットは、OS30から他装置(図示略)宛に送信される。従って、当該パケットの送信先IPアドレスは、他装置に付与されたIPアドレスである。
【0107】
(2)では、送信処理部22は、NIC10の送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0108】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、このパケットの送信先IPアドレスを、他装置のIPアドレスからOS30のIPアドレス(192.168.1.4)に変更する。つぎに、NIC送信処理部11は、変更後のパケットをネットワーク50へ送信する。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0109】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0110】
(6)では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。(7)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。
【0111】
(8)では、受信処理部24は、データチェック処理部26を呼び出す。(9)では、データチェック処理部26は、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0112】
この場合、チェック結果が正常であるとすると、(10)では、受信処理部24(またはデータチェック処理部26)は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。
【0113】
(11)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23から送信バッファ12へパケットをコピーする。
【0114】
(12)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、ネットワーク50を介して他装置(図示略)に受信される。
【0115】
(実施の形態1の動作例1)
つぎに、実施の形態1の動作例1について、図6および図7を参照して、説明する。この動作例1は、図6に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0116】
図7に示したステップSA1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図6に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0117】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とする。ステップSJ2では、NIC受信処理部13は、受信禁止状態にあるか否かを判断し、この場合、判断結果を「No」とする。
【0118】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0119】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0120】
これにより、OS30側では、図7に示したステップSA2で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0121】
ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0122】
(実施の形態1の動作例2)
つぎに、実施の形態1の動作例2について、図8および図9を参照して、説明する。この動作例2は、図8に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0123】
図9に示したステップSB1では、動作例1と同様にして、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図8に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ25に格納される。
【0124】
図9に示したステップSB2では、OS30側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0125】
ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0126】
ステップSK7では、受信処理部24は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSK8では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0127】
ステップSK9では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0128】
この場合、チェック結果が正常であるとすると、ステップSK10では、受信処理部24は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。ステップSK11では、受信処理部24は、送信処理部22を呼び出す。
【0129】
これにより、図9に示したステップSB3では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0130】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0131】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0132】
これにより、図9に示したステップSB4では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断する。
【0133】
この場合、ステップSL8(図25参照)で送信処理部22から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。なお、送信コマンドを受けていない場合、NIC送信処理部11は、判断結果を「No」として、ステップSI1の判断を繰り返す。
【0134】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0135】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0136】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図9に示したステップSB5では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0137】
そして、切り替え後、ステップSB6では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0138】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS30宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0139】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0140】
これにより、OS30側では、図9に示したステップSB7で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0141】
ステップSM3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0142】
ステップSM6では、受信処理部24は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSM7では、受信処理部24は、NIC受信割り込み禁止を解除する。ステップSM8では、受信処理部24は、NIC10に対して受信禁止解除コマンドを発行する。
【0143】
(実施の形態1の動作例3)
つぎに、実施の形態1の動作例3について、図10および図11を参照して、説明する。この動作例3は、図10に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0144】
図11に示したステップSC1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図10に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0145】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0146】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0147】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0148】
これにより、図11に示したステップSC2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0149】
ステップSM2では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図11に示したステップSC3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0150】
ステップSC4では、第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0151】
ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0152】
(実施の形態1の動作例4)
つぎに、実施の形態1の動作例4について、図12および図13を参照して、説明する。この動作例4は、図12に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0153】
図13に示したステップSD1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図12に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0154】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0155】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0156】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0157】
これにより、図13に示したステップSD2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0158】
ステップSM2では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図13に示したステップSD3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0159】
ステップSD4では、第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0160】
ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0161】
ステップSK7では、受信処理部24は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSK8では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0162】
ステップSK9では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0163】
この場合、チェック結果が正常であるとすると、ステップSK10では、受信処理部24は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。ステップSK11では、受信処理部24は、送信処理部22を呼び出す。
【0164】
これにより、図13に示したステップSD5では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0165】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0166】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0167】
これにより、図13に示したステップSD6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断する。
【0168】
この場合、ステップSL8(図25参照)で送信処理部22から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。
【0169】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0170】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0171】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図13に示したステップSD7では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0172】
そして、切り替え後、ステップSD8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0173】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0174】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0175】
これにより、ステップSD9で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0176】
ステップSM3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0177】
ステップSM6では、受信処理部24は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSM7では、受信処理部24は、NIC割込禁止を解除する。ステップSM8では、受信処理部24は、NIC10に対して受信禁止解除コマンドを発行する。
【0178】
(実施の形態1の動作例5)
つぎに、実施の形態1の動作例5について、図14および図15を参照して、説明する。この動作例5は、図14に示したOS30からOS30へパケットを送信する場合の動作である。
【0179】
図15に示したステップSE1では、第1送信処理が実行される。具体的には、図27に示したステップSN1では、送信処理部22は、OS30から渡された送信すべきパケットの送信先IPアドレスを、OS30のIPアドレスに置換した後、送信バッファ23に格納する。
【0180】
ステップSN2では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSN3では、送信処理部22 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSN4では、送信処理部22 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0181】
また、ステップSN3でNIC送信処理部11が呼び出されると、図15に示したステップSE2では、NIC送信処理が実行される。具体的には、図23に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0182】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0183】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0184】
これにより、送信処理部22は、図27に示したステップSN4の判断結果を「Yes」とする。ステップSN5では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSN6では、送信処理部22は、OS切替え処理部21を呼び出す。
【0185】
これにより、図15に示したステップSE3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0186】
ステップSE4では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図14に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ25に格納される。
【0187】
ステップSE5では、OS30側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0188】
ステップSK5では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0189】
この場合、チェック結果が正常であるものとし、ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0190】
(実施の形態1の動作例6)
つぎに、実施の形態1の動作例6について、図16および図17を参照して、説明する。この動作例6は、図16に示したOS30からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0191】
図17に示したステップSF1では、第1送信処理が実行される。具体的には、図27に示したステップSN1では、送信処理部22は、OS30から渡された送信すべきパケットの送信先IPアドレス(この場合、他装置のIPアドレス)を、OS30のIPアドレスに置換した後、送信バッファ23に格納する。なお、置換前の他装置のIPアドレスは、当該パケットのデータ領域に格納される。
【0192】
ステップSN2では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSN3では、送信処理部22 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSN4では、送信処理部22 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0193】
また、ステップSN3でNIC送信処理部11が呼び出されると、図17に示したステップSF2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0194】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0195】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0196】
これにより、送信処理部22は、図27に示したステップSN4の判断結果を「Yes」とする。ステップSN5では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSN6では、送信処理部22は、OS切替え処理部21を呼び出す。
【0197】
これにより、図17に示したステップSF3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0198】
ステップSF4では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図16に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、NIC受信処理部13は、当該パケットの送信先IPアドレスを他装置のIPアドレスに置換した後、当該パケットを受信バッファ25に格納する。
【0199】
ステップSF5では、OS30側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0200】
ステップSK5では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0201】
この場合、チェック結果が正常であるものとし、ステップSK2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK4では、受信処理部24は、同パケットの送信先IPアドレスが他装置に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0202】
ステップSK12では、受信処理部24は、受信バッファ25から送信バッファ23へパケットをコピーする。ステップSK13では、受信処理部24は、送信処理部22を呼び出す。
【0203】
これにより、図17に示したステップSF6では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0204】
ステップSL2では、送信処理部22は、NIC10のNIC送信処理部11を呼び出す。ステップSL3では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0205】
これにより、図17に示したステップSF7では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0206】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、パケットは、ネットワーク50を介して、他装置に受信される。
【0207】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0208】
(実施の形態1の動作例7)
つぎに、実施の形態1の動作例7について、図18および図19を参照して、説明する。この動作例7は、図18に示したOS30からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0209】
図19に示したステップSG1では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、OS30から渡されたパケットの送信先IPアドレスがOS30に対応しているか否かを判断する。この場合、当該パケットの送信先IPアドレスが他装置に対応しているものとし、送信処理部22は、ステップSL1の判断結果を「No」とする。
【0210】
ステップSL2では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL3では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0211】
これにより、図19に示したステップSG2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0212】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置に受信される。
【0213】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0214】
(実施の形態1の動作例8)
つぎに、実施の形態1の動作例8について、図20および図21を参照して、説明する。この動作例8は、図20に示したOS30からOS30へパケットを送信する場合の動作である。
【0215】
図21に示したステップSH1では、データチェック処理部26は、OS30から渡されたOS30宛のパケットに対して、ウイルスチェック等のデータチェックを行う。チェック結果が正常である場合、ステップSH2では、第2送信処理が実行される。
【0216】
具体的には、図25に示したステップSL1では、送信処理部22は、OS30から渡されたパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0217】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0218】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0219】
これにより、図21に示したステップSH3では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0220】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0221】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0222】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図21に示したステップSH4では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0223】
そして、切り替え後、ステップSH5では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0224】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS30宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0225】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0226】
これにより、OS30側では、図21に示したステップSH6で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0227】
ステップSM3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0228】
ステップSM6では、受信処理部24は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSM7では、受信処理部24は、NIC割り込み禁止を解除する。ステップSM8では、受信処理部24は、NIC10に対して受信禁止解除コマンドを発行する。
【0229】
以上説明したように、実施の形態1によれば、通信対象のパケット等のデータを一時格納する、NIC10の送信バッファ12および送信バッファレジスタ15(格納手段)における通常の接続先をOS30に設定し、また、通信対象のデータがOS30に関連する場合、データを一時格納する送信バッファ12および送信バッファレジスタ15(格納手段)の接続先を、OS30を中継してOS30に設定することとしたので、通信時にOS30およびOS30が同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0230】
また、実施の形態1によれば、通信対象のパケット(データ)の正常性をデータチェック処理部26でチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0231】
(実施の形態2)
さて、前述した実施の形態1では、図1に示したNIC10を介して、OS30の通信(パケットの送信および受信)をOS30で中継し、また、データチェック処理部26でデータチェックをかける構成例について説明したが、信頼性が確認されたパケットについて中継やデータチェックを行わない構成としてもよい。以下では、この構成例を実施の形態2として説明する。
【0232】
ここで、実施の形態2では、図24に代えて図34に示した第2受信処理が実行され、また、図27に代えて図35に示した第1送信処理が実行される。
【0233】
(実施の形態2の動作例1)
はじめに、実施の形態2の動作例1について、図28および図29を参照して、説明する。この動作例1は、図28に示したOS30が実行中に、OS30宛のパケット(但し、信頼度が高いパケット)をNIC10が受信した場合の動作である。
【0234】
図29に示したステップSO1では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図28に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ25に格納される。上記パケットは、ネットワーク50に接続された他装置から送信されたものである。
【0235】
図29に示したステップSO2では、OS30側で第2受信処理が実行される。具体的には、図34に示したステップSR1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0236】
ステップSR2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSR3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0237】
ステップSR14では、受信処理部24は、当該パケットの送信元IPアドレスが、予め登録された信頼度が高いIPアドレスであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0238】
ステップSR15では、受信処理部24は、データチェックを行わずに、かつNIC10を介さずに、受信バッファ25から受信バッファ25へパケットをコピーする。この場合には、当該パケットの信頼性が確認されているため、共有メモリ(図示略)を経由して、コピーしてもよい。
【0239】
ステップSR16では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図29に示したステップSO3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。また、切り替え後、受信処理部24は、NICデバイスドライバ20の受信処理部24を呼び出す。
【0240】
図29に示したステップSO4では、受信処理部24は、受信バッファ25からOS30へパケットをコピーし、OS30でパケットを受信するための第1受信処理を実行する。
【0241】
なお、図34において、ステップSR1〜ステップSR13は、図24に示したステップSK1〜ステップSK13に対応している。
【0242】
(実施の形態2の動作例2)
つぎに、実施の形態2の動作例2について、図30および図31を参照して、説明する。この動作例2は、図30に示したOS30が実行中に、OS30宛のパケット(但し、信頼度が高いパケット)をNIC10が受信した場合の動作である。
【0243】
図31に示したステップSP1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図30に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0244】
そして、ネットワーク50を介して、他装置からOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0245】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0246】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0247】
これにより、図31に示したステップSP2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0248】
ステップSM2では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図31に示したステップSP3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0249】
ステップSP4では、第2受信処理が実行される。具体的には、図34に示したステップSR1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0250】
ステップSR2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、判断結果を「No」とする。ステップSR3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0251】
ステップSR14では、受信処理部24は、当該パケットの送信元IPアドレスが、予め登録された信頼度が高いIPアドレスであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0252】
ステップSR15では、受信処理部24は、データチェックを行わずに、かつNIC10を介さずに、受信バッファ25から受信バッファ25へパケットをコピーする。この場合には、当該パケットの信頼性が確認されているため、共有メモリ(図示略)を経由して、コピーしてもよい。
【0253】
ステップSR16では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図31に示したステップSP5では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。また、切り替え後、受信処理部24は、NICデバイスドライバ20の受信処理部24を呼び出す。
【0254】
ステップSP6では、受信処理部24は、受信バッファ25からOS30へパケットをコピーし、OS30でパケットを受信するための第1受信処理を実行する。
【0255】
(実施の形態2の動作例3)
つぎに、実施の形態2の動作例3について、図32および図33を参照して、説明する。この動作例3は、図32に示したOS30からネットワーク50に接続された他装置へパケット(但し、信頼度が高いパケット)を送信する場合の動作である。
【0256】
図33に示したステップSQ1では、送信処理部22は、OS30から渡された送信すべきパケットの信頼度が、予め登録された信頼度より高い場合、図35に示した第1送信処理を実行する。なお、当該パケットの信頼度が、予め登録された信頼度より低い場合には、図27に示した第1送信処理が実行される。
【0257】
具体的には、図35に示したステップSS1では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSS2では、送信処理部22 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSS3では、送信処理部22 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0258】
また、ステップSS2でNIC送信処理部11が呼び出されると、図33に示したステップSQ2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0259】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置(図示略)に受信される。
【0260】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0261】
これにより、送信処理部22は、図35に示したステップSS3の判断結果を「Yes」とする。ステップSS4では、送信処理部22は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0262】
以上説明したように、実施の形態2によれば、データの信頼度が、予め登録された値以上である場合、OS30を中継させずに、データをOS30に直接渡すこととしたので、通信処理を高速化することができる。
【0263】
(実施の形態3)
さて、前述した実施の形態1においては、図1に示したNIC10の送信バッファレジスタ15および受信バッファレジスタ16のそれぞれの値をNICデバイスドライバ20およびNICデバイスドライバ20の双方で書き換えることが可能な構成例について説明したが、セキュリティをさらに高めることを目的として、書き換えの権限をNICデバイスドライバ20のみに持たせるように構成してもよい。以下では、この構成例を実施の形態3として説明する。
【0264】
図36は、本発明にかかる実施の形態3の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。同図においては、NICデバイスドライバ20に送信バッファレジスタ書き換え処理部27および受信バッファレジスタ書き換え処理部28が新たに設けられている。
【0265】
ここで、実施の形態3では、NICデバイスドライバ20は、NIC10の送信バッファレジスタ15および受信バッファレジスタ16の値を書き換える権限を有している。一方、NICデバイスドライバ20は、NIC10の送信バッファレジスタ15および受信バッファレジスタ16の値を書き換える権限を有していない。そこで、NICデバイスドライバ20は、上記書き換えの要求が発生した場合、NICデバイスドライバ20に書き換えを代理してもらう。
【0266】
送信バッファレジスタ書き換え処理部27は、NICデバイスドライバ20からの書き換え要求に応じて、送信バッファレジスタ15の値を代理で書き換える機能を備えている。また、受信バッファレジスタ書き換え処理部28は、NICデバイスドライバ20からの書き換え要求に応じて、受信バッファレジスタ16の値を代理で書き換える機能を備えている。
【0267】
つぎに、実施の形態3の動作概要1〜4について、図37〜図40を参照しつつ説明する。
【0268】
(実施の形態3の動作概要1)
はじめに、実施の形態3の動作概要1について、図37に示したブロック図を参照して説明する。この動作概要1では、NIC10を介して、OS30からOS30へ通信する場合について説明する。
【0269】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0270】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケットを送信バッファ23に格納する。このパケットは、OS30からOS30へ送信される。従って、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.3である。
【0271】
(2)では、送信処理部22は、NIC10の受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0272】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0273】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0274】
(6)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(7)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0275】
(8)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(9)では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えをトリガとして、NICデバイスドライバ20に代わって、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。(10)では、データチェック処理部26は、OSをOS30からOS30へ切り替える。
【0276】
(実施の形態3の動作概要2)
つぎに、実施の形態3の動作概要2について、図38に示したブロック図を参照して説明する。この動作概要2では、NIC10を介して、OS30からOS30へ通信する場合について説明する。
【0277】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0278】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケットを送信バッファ23に格納する。このパケットは、OS30からOS30宛に送信される。従って、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.4である。
【0279】
(2)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(3)では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えをトリガとして、NICデバイスドライバ20 に代わって、NIC10の送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0280】
(4)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(5)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0281】
(6)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0282】
(7)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0283】
(8)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(9)では、受信処理部24は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23へ書き換える。(10)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0284】
(実施の形態3の動作概要3)
はじめに、実施の形態3の動作概要3について、図39に示したブロック図を参照して説明する。この動作概要3では、ネットワーク50に接続された他装置(図示略)からOS30宛のパケットをNIC10を介してOS30が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0285】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0286】
この状態で、(1)では、NIC10のNIC受信処理部13は、他装置(図示略)からOS30宛に送信されたパケットを、ネットワーク50を介して、受信した後、これを受信バッファ14に格納する。ここで、当該パケットの送信先IPアドレスは、OS30に付与された192.168.1.3である。
【0287】
(2)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0288】
(3)では、受信処理部24は、データチェック処理部26を呼び出す。(4)では、データチェック処理部26は、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0289】
この場合、チェック結果が正常であるとすると、(5)では、受信処理部24(またはデータチェック処理部26)は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。
【0290】
(6)では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25へ書き換える。(7)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23から送信バッファ12へパケットをコピーする。
【0291】
(8)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0292】
(9)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0293】
(10)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(11)では、受信処理部24は、受信バッファ25からパケットを読み出し、このパケットを切り替え後のOS30へ渡す。
【0294】
(12)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(13)では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えをトリガとして、NICデバイスドライバ20に代わって、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。(14)では、データチェック処理部26は、OSをOS30からOS30へ切り替える。
【0295】
(実施の形態3の動作概要4)
つぎに、実施の形態3の動作概要4について、図40に示したブロック図を参照して説明する。この動作概要4では、OS30からネットワーク50に接続された他装置(図示略)宛のパケットを、NIC10を介してOS30が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0296】
同図においては、OS30が実行中であって、送信バッファレジスタ15に送信バッファ23に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ25に対応する値が格納されている状態にあるものとする。
【0297】
この状態で、(1)では、NICデバイスドライバ20の送信処理部22は、OS30からのパケットを送信バッファ23に格納する。このパケットは、OS30から他装置(図示略)宛に送信される。従って、当該パケットの送信先IPアドレスは、他装置に付与されたIPアドレスである。
【0298】
(2)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(3)では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えをトリガとして、NICデバイスドライバ20に代わって、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0299】
(4)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(5)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23にアクセスした後、送信バッファ23から送信バッファ12へパケットをコピーする。
【0300】
(6)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、このパケットの送信先IPアドレスを、他装置のIPアドレスからOS30のIPアドレス(192.168.1.4)に変更する。つぎに、NIC送信処理部11は、変更後のパケットをネットワーク50へ送信する。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ25に格納される。
【0301】
(7)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ25にアクセスした後、受信バッファ14から受信バッファ25へパケットをコピーする。
【0302】
(8)では、OS切替え処理部21は、OSをOS30からOS30へ切り替える。(9)では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えをトリガとして、NICデバイスドライバ20に代わって、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0303】
(10)では、受信処理部24は、データチェック処理部26を呼び出す。(11)では、データチェック処理部26は、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0304】
この場合、チェック結果が正常であるとすると、(12)では、受信処理部24(またはデータチェック処理部26)は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。
【0305】
(13)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ23から送信バッファ12へパケットをコピーする。
【0306】
(14)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、ネットワーク50を介して他装置(図示略)に受信される。
【0307】
(実施の形態3の動作例1)
つぎに、実施の形態3の動作例1について、図41および図42を参照して、説明する。この動作例1は、図41に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0308】
ここで、実施の形態3では、図24に代えて図59に示した第2受信処理が、図26に代えて図60に示した第1受信処理が、図27に代えて図61に示した第1送信処理がそれぞれ実行される。
【0309】
図42に示したステップST1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図41に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0310】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とする。ステップSJ2では、NIC受信処理部13は、受信禁止状態にあるか否かを判断し、この場合、判断結果を「No」とする。
【0311】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0312】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0313】
これにより、OS30側では、図42に示したステップST2で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0314】
ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0315】
(実施の形態3の動作例2)
つぎに、実施の形態3の動作例2について、図43および図44を参照して、説明する。この動作例2は、図43に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0316】
図44に示したステップSU1では、動作例1と同様にして、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図43に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ25に格納される。
【0317】
図44に示したステップSU2では、OS30側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0318】
ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0319】
ステップSSD8では、受信処理部24は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSSD9では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0320】
ステップSSD10では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0321】
この場合、チェック結果が正常であるとすると、ステップSSD11では、受信処理部24は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。ステップSSD12では、受信処理部24は、送信処理部22を呼び出す。
【0322】
これにより、図44に示したステップSU3では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0323】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0324】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0325】
これにより、図44に示したステップSU4では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断する。
【0326】
この場合、ステップSL8(図25参照)で送信処理部22から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。なお、送信コマンドを受けていない場合、NIC送信処理部11は、ステップSI1の判断を繰り返す。
【0327】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0328】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0329】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図44に示したステップSU5では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0330】
そして、切り替え後、ステップSU6では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0331】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS30宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0332】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0333】
これにより、OS30側では、図44に示したステップSU7で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0334】
ステップSSE3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0335】
ステップSSE6では、受信処理部24は、OS切替え処理部21を呼び出す。ステップSSE7では、受信処理部24はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部24は、NIC10に受信禁止解除コマンドを発行する。
【0336】
図44に示したステップSU8では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。ステップSU9では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0337】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、受信バッファレジスタ書き換え処理部28は、ステップSSB1の判断結果を「Yes」とする。
【0338】
ステップSSB2では、受信バッファレジスタ書き換え処理部28は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。
【0339】
図44に示したステップSU10では、OS切替え処理部21が呼び出される。これにより、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切り替え処理を実行する。
【0340】
(実施の形態3の動作例3)
つぎに、実施の形態3の動作例3について、図45および図46を参照して、説明する。この動作例3は、図45に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0341】
図46に示したステップSV1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図45に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0342】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0343】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0344】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0345】
これにより、図46に示したステップSV2で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0346】
ステップSSE2では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図46に示したステップSV3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0347】
ステップSV4では、第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0348】
ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0349】
(実施の形態3の動作例4)
つぎに、実施の形態3の動作例4について、図47および図48を参照して、説明する。この動作例4は、図47に示したOS30が実行中に、OS30宛のパケットをNIC10が受信した場合の動作である。
【0350】
図48に示したステップSW1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図47に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0351】
そして、ネットワーク50を介してOS30宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0352】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0353】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0354】
これにより、図48に示したステップSW2で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0355】
ステップSSE2では、受信処理部24は、OS切替え処理部21を呼び出す。これにより、図48に示したステップSW3では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0356】
ステップSW4では、第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0357】
ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0358】
ステップSSD8では、受信処理部24は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSSD9では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0359】
ステップSSD10では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0360】
この場合、チェック結果が正常であるとすると、ステップSSD11では、受信処理部24は、受信バッファ25から送信バッファ23へ当該パケットをコピーする。ステップSSD12では、受信処理部24は、送信処理部22を呼び出す。
【0361】
これにより、図48に示したステップSW5では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0362】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0363】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0364】
これにより、図48に示したステップSW6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断する。
【0365】
この場合、ステップSL8(図25参照)で送信処理部22から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。
【0366】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0367】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0368】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図48に示したステップSW7では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0369】
そして、切り替え後、ステップSW8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0370】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0371】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0372】
これにより、図48に示したステップSW9で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0373】
ステップSSE3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0374】
ステップSSE6では、受信処理部24は、OS切替え処理部21を呼び出す。ステップSSE7では、受信処理部24はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部24は、NIC10に受信禁止解除コマンドを発行する。
【0375】
図48に示したステップSW10では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。ステップSW11では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0376】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0377】
ステップSSB2では、受信バッファレジスタ書き換え処理部28は、受信バッファレジスタ16の値を受信バッファ251から受信バッファ25に書き換える。
【0378】
図48に示したステップSW12では、OS切替え処理部21が呼び出される。これにより、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切り替え処理を実行する。
【0379】
(実施の形態3の動作例5)
つぎに、実施の形態3の動作例5について、図49および図50を参照して、説明する。この動作例5は、図49に示したOS30からOS30へパケットを送信する場合の動作である。
【0380】
図50に示したステップSX1では、第1送信処理が実行される。具体的には、図61に示したステップSSF1では、送信処理部22は、OS30から渡された送信すべきパケットの送信先IPアドレスを、OS30のIPアドレスに置換した後、送信バッファ23に格納する。
【0381】
ステップSSF2では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図50に示したステップSX2では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという、第1OS切替え処理を実行する。
【0382】
ステップSX3では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えをトリガとして、送信バッファレジスタ書き換え処理を実行する。
【0383】
具体的には、図58に示したステップSSC1では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、送信バッファレジスタ書き換え処理部27は、ステップSSC1の判断結果を「Yes」とする。
【0384】
ステップSSC2では、送信バッファレジスタ書き換え処理部27は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0385】
図50に示したステップSX4では、OS切替え処理部21が呼び出される。これにより、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切り替え処理を実行する。
【0386】
ステップSX5では、送信処理部22は、第1送信処理を継続する。すなわち、図61に示したステップSSF3では、送信処理部22は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSSF4では、送信処理部22 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0387】
また、ステップSSF3(図61参照)でNIC送信処理部11が呼び出されると、OS30からOS30への切り替え後、図50に示したステップSX6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0388】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0389】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0390】
これにより、送信処理部22は、図61に示したステップSSF4の判断結果を「Yes」とする。ステップSSF5では、送信処理部22は、送信バッファレジスタ書き換え処理部27に、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換えさせる。ステップSSF6では、送信処理部22は、OS切替え処理部21を呼び出す。
【0391】
これにより、図50に示したステップSX7では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0392】
ステップSX8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図49に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ25に格納される。
【0393】
ステップSX9では、OS30側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0394】
ステップSSD5では、受信処理部24は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。ステップSSD6では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0395】
この場合、チェック結果が正常であるものとし、ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部24は、受信バッファ25からOS30へパケットをコピーする。
【0396】
(実施の形態3の動作例6)
つぎに、実施の形態3の動作例6について、図51および図52を参照して、説明する。この動作例6は、図51に示したOS30からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0397】
図52に示したステップSY1では、第1送信処理が実行される。具体的には、図61に示したステップSSF1では、送信処理部22は、OS30から渡された送信すべきパケットの送信先IPアドレス(この場合、他装置のIPアドレス)を、OS30のIPアドレスに置換した後、送信バッファ23に格納する。なお、置換前の他装置のIPアドレスは、当該パケットのデータ領域に格納される。
【0398】
ステップSSF2では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図52に示したステップSY2では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという、第1OS切替え処理を実行する。
【0399】
ステップSY3では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えをトリガとして、送信バッファレジスタ書き換え処理を実行する。
【0400】
具体的には、図58に示したステップSSC1では、送信バッファレジスタ書き換え処理部27は、OS30からOS30への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、送信バッファレジスタ書き換え処理部27は、ステップSSC1の判断結果を「Yes」とする。
【0401】
ステップSSC2では、送信バッファレジスタ書き換え処理部27は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換える。
【0402】
図52に示したステップSY4では、OS切替え処理部21が呼び出される。これにより、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切り替え処理を実行する。
【0403】
ステップSY5では、送信処理部22は、第1送信処理を継続する。すなわち、図61に示したステップSSF3では、送信処理部22 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSSF4では、送信処理部22 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0404】
また、ステップSSF3でNIC送信処理部11が呼び出されると、図52に示したステップSY6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22または送信処理部22から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0405】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0406】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0407】
これにより、送信処理部22は、図61に示したステップSSF4の判断結果を「Yes」とする。ステップSSF5では、送信処理部22は、送信バッファレジスタ書き換え処理部27に、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23に書き換えさせる。ステップSSF6では、送信処理部22は、OS切替え処理部21を呼び出す。
【0408】
これにより、図52に示したステップSY7では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。
【0409】
ステップSY8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図51に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS30宛のパケットが受信された後、受信バッファ14に格納される。つぎに、NIC受信処理部13は、当該パケットの送信先IPアドレスを他装置のIPアドレスに置換した後、当該パケットを受信バッファ25に格納する。
【0410】
ステップSY9では、OS30側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信元IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD5では、受信処理部24は、送信バッファレジスタ15の値を送信バッファ23から送信バッファ23へ書き換える。
【0411】
ステップSSD6では、受信処理部24は、データチェック処理部26を呼び出し、受信バッファ25に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0412】
この場合、チェック結果が正常であるものとし、ステップSSD2では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部24は、同パケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD4では、受信処理部24は、同パケットの送信先IPアドレスが他装置に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0413】
ステップSSD13では、受信処理部24は、受信バッファ25から送信バッファ23へパケットをコピーする。ステップSSD14では、受信処理部24は、送信処理部22を呼び出す。
【0414】
これにより、図52に示したステップSY10では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、送信バッファ23に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0415】
ステップSL2では、送信処理部22は、NIC10のNIC送信処理部11を呼び出す。ステップSL3では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0416】
これにより、図52に示したステップSY11では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0417】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、パケットは、ネットワーク50を介して、他装置に受信される。
【0418】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0419】
(実施の形態3の動作例7)
つぎに、実施の形態3の動作例7について、図53および図54を参照して、説明する。この動作例7は、図53に示したOS30からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0420】
図54に示したステップSZ1では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部22は、OS30から渡されたパケットの送信先IPアドレスがOS30に対応しているか否かを判断する。この場合、この場合、当該パケットの送信先IPアドレスが他装置に対応しているものとし、送信処理部22は、ステップSL1の判断結果を「No」とする。
【0421】
ステップSL2では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL3では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0422】
これにより、図54に示したステップSZ2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0423】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置に受信される。
【0424】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0425】
(実施の形態3の動作例8)
つぎに、実施の形態3の動作例8について、図55および図56を参照して、説明する。この動作例8は、図55に示したOS30からOS30へパケットを送信する場合の動作である。
【0426】
図56に示したステップSSA1では、データチェック処理部26は、OS30から渡されたOS30宛のパケットに対して、ウイルスチェック等のデータチェックを行う。チェック結果が正常である場合、ステップSSA2では、第2送信処理が実行される。
【0427】
具体的には、図25に示したステップSL1では、送信処理部22は、OS30から渡されたパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0428】
ステップSL4では、送信処理部22は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。ステップSL5では、送信処理部22は、NIC受信割り込み禁止を解除する。
【0429】
ステップSL6では、送信処理部22は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部22は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部22は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0430】
これにより、図56に示したステップSSA3では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部22から送信コマンドを受けているため、判断結果を「Yes」とする。
【0431】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ23から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS30宛)をネットワーク50へ送信する。
【0432】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0433】
また、図25に示したステップSL9では、送信処理部22は、OS切替え処理部21を呼び出す。これにより、図56に示したステップSSA4では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切替え処理を実行する。
【0434】
そして、切り替え後、ステップSSA5では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0435】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS30宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ25にコピーする。
【0436】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS30)に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0437】
これにより、OS30側では、図56に示したステップSSA6で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ20の受信処理部24は、受信バッファ25に格納されているパケットの送信先IPアドレスがOS30に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0438】
ステップSSE3では、受信処理部24はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部24は、受信バッファ25からOS30にパケットをコピーする。
【0439】
ステップSSE6では、受信処理部24は、OS切替え処理部21を呼び出す。ステップSSE7では、受信処理部24はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部24は、NIC10に受信禁止解除コマンドを発行する。
【0440】
図56に示したステップSSA7では、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第1OS切り替え処理を実行する。ステップSSA8では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0441】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部28は、OS30からOS30への切り替えがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0442】
ステップSSB2では、受信バッファレジスタ書き換え処理部28は、受信バッファレジスタ16の値を受信バッファ25から受信バッファ25に書き換える。
【0443】
図56に示したステップSSA9では、OS切替え処理部21が呼び出される。これにより、OS切替え処理部21は、OSをOS30からOS30へ切り替えるという第2OS切り替え処理を実行する。
【0444】
以上説明したように、実施の形態3によれば、送信バッファ12、受信バッファ14の接続先の設定に関して、OS30側のみに権限を付与することとしたので、権限を有しないOS30側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0445】
図62(a)〜図62(d)は、前述した実施の形態1〜3の応用例1〜4を説明する図である。図62(a)に示した応用例1は、新旧OSを共存させ、システム更改時に利用する例である。新OSは、例えば、OS30に対応している。一方、旧OSは、OS30に対応している。
【0446】
図62(b)に示した応用例2は、ソース公開OSを活用し、ソース非公開OSのリリースを待たずに、ソース公開OS側で新機能をスピード開発する例である。ソース非公開OSは、ソースコードが公開されていないオペレーティングシステムであり、例えば、OS30に対応している。一方、ソース公開OSは、ソースコードが公開されているオペレーティングシステムであり、OS30に対応している。
【0447】
図62(c)に示した応用例3は、専用OSと汎用OSとを共存させる例である。専用OSは、リアルタイム性等に特化する機能を分担し、例えば、OS30に対応している。一方、汎用OSは、マイクロソフト社のWindows(登録商標)等であり、GUI機能を分担し、OS30に対応している。
【0448】
図62(d)に示した応用例4は、資源を分割する例であり、OS1とOS2の使用目的により使用方法が異なる例である。OS1は、例えば、OS30に対応している。一方、OS2は、OS30に対応している。
【0449】
図63は、実施の形態1〜3をシステム移行に適用した場合を説明する図である。同図において、従来の移行作業では、一度に、旧端末に実装されている旧OSの全モジュールを新端末の新OSに移行させる必要があり、安全面で不安が残る。
【0450】
これに対して、マルチオペレーティングシステムがあると、旧端末に実装されている旧OSの各モジュールを中間端末の旧OSに安全を確認しながら移行させる。つぎに、中間端末において、旧OSの各モジュールを新OSに安全を確認しながら移行させる。
【0451】
つぎに、中間端末の新OSの全モジュールを、新端末の新OSに一度に移行させる。この場合、新OS間での移行であるため、問題が発生しない。マルチOSによる移行は、ある特定のモジュールに急いで新機能をつける場合に有効である。
【0452】
図64は、実施の形態1〜3を高セキュリティゲートウェイに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NIC(ネットワークインタフェースカード)を経由してインターネットに接続されている。このハードウェアは、高セキュリティゲートウェイとして機能する。
【0453】
OS1は、ユーザが使用するAP(アプリケーションプログラム)1を管理するとともに、通信ログをDK(ディスク)1に蓄積する。一方、OS2は、インターネットからの通信パケットを監視し、監視ログをDK2に蓄積する。
【0454】
また、OS2では、NICを直接制御し、通信を行う。このため、OS2は、OS1の通信を支援するため、NICの対ソフトウェア提供インタフェースを疑似した疑似NIC−I/FをOS1に提供している。AP2は、パケット監視ログ収集用のアプリケーションプログラムであり、OS2上で動作する。
【0455】
また、AP2は、通信パケットを外から見るだけで、通信パケットに含まれる実行コードを処理しないため、ウイルスに感染しない。DK2に蓄積される監視ログは、悪意の第三者による改竄がなされないようになっている。従って、攻撃の痕跡を残すことが可能となる。
【0456】
ここで、ユーザの環境(OS1等)に対して、セキュリティの攻撃が行われた場合、OS1の通信ログが改竄されることが考えられる。しかしながら、実施の形態1〜3では、マルチオペレーティングシステムにより、OS1とOS2の監視ログが別々に管理されるため、攻撃者の追跡を行うことが可能となる。これにより、当該セキュリティゲートウェイへの攻撃を抑止する効果が期待できる。
【0457】
図65は、実施の形態1〜3をデスクトップGrid端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してインターネットに接続されている。インターネットには、Gridサーバが接続されている。ハードウェアは、デスクトップGrid端末として機能する。
【0458】
デスクトップGrid端末は、ユーザが計算機を利用しない間に、大きな計算の一部を割り当てて計算を実現しようとするデスクトップGrid計算を行うための端末である。ここで、ユーザ側から見ると、内容が不明な上記計算が自身の計算機環境に及ぼす悪影響が心配となる。
【0459】
そこで、同図では、自身の計算機環境をOS1で管理し、Grid計算の処理環境をOS2で管理することにより、上記悪影響を排除できる。つまり、Grid計算で利用されるデータやプログラムは、全てOS2の制御下のみで管理され実行される。一方、OS1の制御下にあるDK1やMEM(メモリ)1という計算機資源には、アクセスが許可されない。従って、Grid計算のプログラムからの悪影響が排除される。
【0460】
図66は、実施の形態1〜3を遠隔管理端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、システム管理者マシンや他のマシンが接続されている。ハードウェアは、遠隔管理端末として機能する。
【0461】
同図において、ユーザが管理できる範疇をOS1に制限し、OS2の管理をネットワークを介してシステム管理者マシンで行うように構成されている。これにより、オフィス環境などで利用するパーソナルコンピュータのデフォルト環境を、システム管理者がOS2の管理下で構築し、一方、ユーザ個人の好みや状況に応じて利用する環境を、ユーザがOS1の管理下で構築することができる。
【0462】
したがって、ユーザ個人の環境設定により、システム側で用意した環境が動作不具合になることが防止される。OS2は、システム管理者マシンでシステム管理者により管理され、システム側で設計された環境を提供する。ユーザは、該環境を利用する場合、OS2のファイル情報をOS1に読み込んで起動するか、または、OS2に起動を依頼してクライアント/サーバの形態で実行する。
【0463】
図67は、実施の形態1〜3を高効率ネットサービス提供端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、コンテンツプロバイダサーバや他のマシンが接続されている。ハードウェアは、高効率ネットサービス提供端末として機能する。
【0464】
同図においては、高効率ネットサービス提供端末は、遠隔管理端末(図66参照)と同様にして、一方のOS1をユーザの管理下、他方のOS2をネットサービスの管理下として、例えば、封切り前のコンテンツを事前にOS2の管理下(DK2)に配信しておき、封切り時刻にOS1の管理下のDK1からのコンテンツの即時利用を実現する端末である。
【0465】
コンテンツは、ネットワークを介して、コンテンツプロバイダサーバからOS2の管理下のDK2に配信された後、ユーザの希望により、DK2からOS1の管理下のDK1へ当該コンテンツが提供され、即時利用が可能となる。このように、コンテンツプロバイダサーバでは、事前配信により、ダウンロードアクセスの集中が防止される。
【0466】
図68は、実施の形態1〜3を高セキュリティWebサービス提供サーバに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、Web閲覧端末が接続されている。ハードウェアは、高セキュリティWebサービス提供サーバとして機能する。
【0467】
同図の高セキュリティWebサービス提供サーバにおいては、外部からアクセスできる環境がOS2で、ローカルユーザだけがアクセスできる環境がOS1で構築される。
【0468】
例えば、Web公開コンテンツや利用ログは、OS2の管理下のDK2に格納される。一方、公開したくないデータ等は、OS1の管理下のDK1に格納される。この場合、設定ミス等により、公開したくない情報を誤ってWeb上で公開してしまうという事態が回避される。また、外部から悪意の第三者による攻撃をOS2側が受けた場合であっても、OS1では、ネットワーク機能を除き、動作することが可能となる。
【0469】
以上本発明にかかる実施の形態1〜3について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜3に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0470】
例えば、前述した実施の形態1〜3においては、前述したマルチオペレーティングシステム制御方法を実現するためのプログラムを図69に示したコンピュータ読み取り可能な記録媒体200に記録して、この記録媒体200に記録されたプログラムを同図に示したコンピュータ100に読み込ませ、実行することにより各機能を実現してもよい。
【0471】
同図に示したコンピュータ100は、上記プログラムを実行するCPU110と、キーボード、マウス等の入力装置120と、各種データを記憶するROM(Read Only Memory)130と、演算パラメータ等を記憶するRAM(Random Access Memory)140と、記録媒体200からプログラムを読み取る読取装置150と、ディスプレイ、プリンタ等の出力装置160と、装置各部を接続するバス170とから構成されている。
【0472】
CPU110は、読取装置150を経由して記録媒体200に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体200としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【0473】
また、実施の形態1および2においては、マルチオペレーティングシステムとして、図1に示した二つのOS30、OS30を有する構成例について説明したが、三つ以上のOSを有する構成例も本発明に含まれる。
【0474】
例えば、OS1、OS2、OS3、・・・、OSnというn個のOSを有する構成の場合には、OS1走行中に割り込み(1)が発生した場合にOS1からOS2に切り替え、OS1走行中に割り込み(2)が発生した場合にOS1からOS3に切り替え、以下同様にして、OS1走行中に割り込み(n−1)が発生した場合にOS1からOSnに切り替えるように制御すればよい。
【0475】
【発明の効果】
以上説明したように、本発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0476】
また、本発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0477】
また、本発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができるという効果を奏する。
【0478】
また、本発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0479】
また、本発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0480】
また、本発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0481】
また、本発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0482】
また、本発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができるという効果を奏する。
【0483】
また、本発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0484】
また、本発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができるという効果を奏する。
【0485】
また、本発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができるという効果を奏する。
【0486】
また、本発明は、請求項1〜11のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させることとしたので、そのプログラムがコンピュータ読み取り可能となり、これによって、請求項1〜11のいずれか一つに記載された発明の動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる実施の形態1の構成を示すブロック図である。
【図2】同実施の形態1における動作概要1を説明するブロック図である。
【図3】同実施の形態1における動作概要2を説明するブロック図である。
【図4】同実施の形態1における動作概要3を説明するブロック図である。
【図5】同実施の形態1における動作概要4を説明するブロック図である。
【図6】同実施の形態1における動作例1を説明するブロック図である。
【図7】同実施の形態1における動作例1を説明するフローチャートである。
【図8】同実施の形態1における動作例2を説明するブロック図である。
【図9】同実施の形態1における動作例2を説明するフローチャートである。
【図10】同実施の形態1における動作例3を説明するブロック図である。
【図11】同実施の形態1における動作例3を説明するフローチャートである。
【図12】同実施の形態1における動作例4を説明するブロック図である。
【図13】同実施の形態1における動作例4を説明するフローチャートである。
【図14】同実施の形態1における動作例5を説明するブロック図である。
【図15】同実施の形態1における動作例5を説明するフローチャートである。
【図16】同実施の形態1における動作例6を説明するブロック図である。
【図17】同実施の形態1における動作例6を説明するフローチャートである。
【図18】同実施の形態1における動作例7を説明するブロック図である。
【図19】同実施の形態1における動作例7を説明するフローチャートである。
【図20】同実施の形態1における動作例8を説明するブロック図である。
【図21】同実施の形態1における動作例8を説明するフローチャートである。
【図22】NIC送信処理を説明するフローチャートである。
【図23】NIC受信処理を説明するフローチャートである。
【図24】第2受信処理を説明するフローチャートである。
【図25】第2送信処理を説明するフローチャートである。
【図26】第1受信処理を説明するフローチャートである。
【図27】第1送信処理を説明するフローチャートである。
【図28】本発明にかかる実施の形態2の動作例1を説明するブロック図である。
【図29】同実施の形態2の動作例1を説明するフローチャートである。
【図30】同実施の形態2の動作例2を説明するブロック図である。
【図31】同実施の形態2の動作例2を説明するフローチャートである。
【図32】同実施の形態2の動作例3を説明するブロック図である。
【図33】同実施の形態2の動作例3を説明するフローチャートである。
【図34】第2受信処理を説明するフローチャートである。
【図35】第1送信処理を説明するフローチャートである。
【図36】本発明にかかる実施の形態3の構成を示すブロック図である。
【図37】同実施の形態3における動作概要1を説明するブロック図である。
【図38】同実施の形態3における動作概要2を説明するブロック図である。
【図39】同実施の形態3における動作概要3を説明するブロック図である。
【図40】同実施の形態3における動作概要4を説明するブロック図である。
【図41】同実施の形態3の動作例1を説明するブロック図である。
【図42】同実施の形態3の動作例1を説明するフローチャートである。
【図43】同実施の形態3の動作例2を説明するブロック図である。
【図44】同実施の形態3の動作例2を説明するフローチャートである。
【図45】同実施の形態3の動作例3を説明するブロック図である。
【図46】同実施の形態3の動作例3を説明するフローチャートである。
【図47】同実施の形態3の動作例4を説明するブロック図である。
【図48】同実施の形態3の動作例4を説明するフローチャートである。
【図49】同実施の形態3の動作例5を説明するブロック図である。
【図50】同実施の形態3の動作例5を説明するフローチャートである。
【図51】同実施の形態3の動作例6を説明するブロック図である。
【図52】同実施の形態3の動作例6を説明するフローチャートである。
【図53】同実施の形態3の動作例7を説明するブロック図である。
【図54】同実施の形態3の動作例7を説明するフローチャートである。
【図55】同実施の形態3の動作例8を説明するブロック図である。
【図56】同実施の形態3の動作例8を説明するフローチャートである。
【図57】受信バッファレジスタ書き換え処理を説明するフローチャートである。
【図58】送信バッファレジスタ書き換え処理を説明するフローチャートである。
【図59】第2受信処理を説明するフローチャートである。
【図60】第1受信処理を説明するフローチャートである。
【図61】第1送信処理を説明するフローチャートである。
【図62】本発明にかかる実施の形態1〜3の応用例1〜4を説明する図である。
【図63】同実施の形態1〜3をシステム移行に適用した場合を説明する図である。
【図64】同実施の形態1〜3を高セキュリティゲートウェイに適用した場合を説明する図である。
【図65】同実施の形態1〜3をデスクトップGrid端末に適用した場合を説明する図である。
【図66】同実施の形態1〜3を遠隔管理端末に適用した場合を説明する図である。
【図67】同実施の形態1〜3を高効率ネットサービス提供端末に適用した場合を説明する図である。
【図68】同実施の形態1〜3を高セキュリティWebサービス提供サーバに適用した場合を説明する図である。
【図69】同実施の形態1〜3の変形例の構成を示すブロック図である。
【図70】従来のマルチオペレーティングシステムの構成例1を示すブロック図である。
【図71】従来のマルチオペレーティングシステムの構成例2を示すブロック図である。
【符号の説明】
10 NIC
11 NIC送信処理部
12 送信バッファ
13 NIC受信処理部
14 受信バッファ
15 送信バッファレジスタ
16 受信バッファレジスタ
20 NICデバイスドライバ
21 OS切替え処理部
22 送信処理部
23 送信バッファ
24 受信処理部
25 受信バッファ
20 NICデバイスドライバ
21 OS切替え処理部
22 送信処理部
23 送信バッファ
24 受信処理部
25 受信バッファ
26 データチェック処理部
27 送信バッファレジスタ書き換え処理部
28 受信バッファレジスタ書き換え処理部
30 OS
30 OS
100 コンピュータ
140 RAM
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a multi-operating system control method for operating a plurality of operating systems on one computer, a program for causing a computer to execute the method, and a multi-operating system control device. The present invention relates to a multi-operating system control method capable of improving reliability, a program for causing a computer to execute the method, and an operating system control device.
[0002]
[Prior art]
In an ordinary computer, one operating system operates, which manages computer resources such as a processor, a memory, and a secondary storage device of the computer, and implements a resource schedule so that the computer can operate efficiently. There are various types of operating systems. There are various types such as those that are excellent in batch processing, those that are excellent in TSS (Time Sharing System), those that are excellent in GUI (Graphical User Interface).
[0003]
On the other hand, there is a need to simultaneously execute these plural operating systems on one computer. For example, in a large-scale computer, there is a demand to operate an operating system for executing online processing associated with actual work and an operating system for development on one computer. Alternatively, there is a demand that an operating system having a GUI and an operating system having an excellent real-time property be operated at the same time.
[0004]
However, each operating system is designed on the assumption that computer resources are managed independently. Therefore, coexistence of a plurality of operating systems is not possible without some mechanism.
[0005]
As a mechanism for operating a plurality of operating systems on one computer, there is a virtual computer system implemented by a large computer. FIG. 70 is a block diagram showing a configuration example 1 of a conventional multi-operating system based on the virtual computer system.
[0006]
The multi-operating system shown in FIG. 1 includes hardware 1, a base OS 2, a VM (Virtual Machine) monitor 3, and a virtual OS (operating system) 4. 1 , Virtual OS4 2 And virtual OS4 3 It is composed of
[0007]
The hardware 1 is a CPU (Central Processing Unit), a physical memory, an input / output device, and the like. The base OS 2 and the VM monitor 3 control all of the hardware 1. VM monitor 3 is a virtual OS 4 1 ~ 4 3 Emulates an interface to the respective hardware 1. Virtual OS4 1 ~ 4 3 Runs on the platform OS2. That is, the base OS 2 and the virtual OS 4 1 ~ 4 3 Are in a master-slave relationship.
[0008]
In the multi-operating system shown in the figure, for example, when communication such as packets is performed between virtual OSs, the base OS 2 1 ~ 4 3 Via a shared memory (not shown) which can be referred to at the same time.
[0009]
For example, virtual OS4 1 From virtual OS4 2 To send a packet to the virtual OS 4 1 After storing the packet in the shared memory, the virtual OS 4 2 Gets a packet from shared memory. Communication between the virtual OS and another device is performed via the shared memory and the base OS 2 in addition to the communication between the virtual OSs.
[0010]
As a technique for providing an interface of a plurality of operating systems with one computer, there is a microkernel method. FIG. 71 is a block diagram showing a configuration example 2 of a conventional multi-operating system based on the microkernel system.
[0011]
The multi-operating system shown in FIG. 1 includes a hardware 5, a microkernel (control program) 6, and an OS7. 1 , OS7 2 And OS7 3 It is composed of
[0012]
In the microkernel system, on the microkernel 6, an OS 7 providing an operating system function to be shown to the user is provided. 1 ~ 7 3 Has been built. User is OS7 1 ~ 7 3 Via the hardware 5 (computer resources). Microkernel 6 is OS7 1 ~ 7 3 Control.
[0013]
In the multi-operating system shown in the figure, for example, when communication of packets or the like is performed between OSs, the microkernel or the OS 7 1 ~ 7 3 Via a shared memory (not shown) which can be referred to at the same time.
[0014]
For example, OS7 1 From OS7 2 When sending a packet to OS7 1 After storing the packet in the shared memory, the OS 7 2 Gets a packet from shared memory. Communication between the OS and another device is performed via the shared memory and the microkernel 6 in addition to between the OSs.
[0015]
[Patent Document 1]
JP-A-11-149385
[Patent Document 2]
JP 2001-216172 A
[Patent Document 3]
JP 2000-207232 A
[Patent Document 4]
JP-A-8-212089
[Patent Document 5]
JP 2001-290661 A
[Patent Document 6]
JP-A-11-85546
[Patent Document 7]
JP 2001-282558 A
[Patent Document 8]
JP-A-11-85546
[0016]
[Problems to be solved by the invention]
By the way, as described above, in the conventional multi-operating system shown in FIG. 70, security is low because communication is performed via the shared memory between the virtual OSs or between the virtual OS and other devices. There was a problem.
[0017]
That is, if the shared memory is a virtual OS 4 1 ~ 4 3 Can be simultaneously accessed from each of the virtual OSs 4. If the shared memory is illegally accessed from outside during communication, the virtual OS 4 1 ~ 4 3 Are attacked at the same time.
[0018]
In addition, in the conventional multi-operating system, since the hardware 1 is controlled by one base OS 2, there is a problem that a system down occurs due to the stop of the base OS 2, resulting in low reliability.
[0019]
Also, in the conventional multi-operating system shown in FIG. 1 ~ 7 3 Can be referred to simultaneously from each other, so that if the shared memory is illegally accessed from outside during communication, the OS 7 1 ~ 7 3 Are attacked at the same time, and there is a security problem.
[0020]
The present invention has been made in view of the above, and provides a multi-operating system control method capable of improving security and reliability of a multi-operating system, a program for causing a computer to execute the method, and a multi-operating system control device. The purpose is to provide.
[0021]
[Means for Solving the Problems]
In order to achieve the above object, the present invention relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, wherein the storing method temporarily stores data to be communicated. The normal connection destination in the means is set to the second operating system, and when the data to be communicated is related to the first operating system, the connection destination of the storage means for temporarily storing the data is A setting step of setting the first operating system by relaying the second operating system.
[0022]
According to the present invention, the normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is transferred to the second operating system. Since the connection destination of the storage means for temporarily storing is set to the first operating system via the second operating system, the first operating system and the second operating system simultaneously attack from the outside during communication. It is possible to avoid the possibility of being performed and improve the security and reliability of the multi-operating system.
[0023]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein the first operating system and the second operating system are operated while the second operating system is running. When data destined for the operating system is stored in the storage means, a setting step of setting the connection of the storage means to the first operating system via the second operating system is included. .
[0024]
According to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is switched to the first operating system via the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0025]
Further, according to the present invention, in the multi-operating system control method according to claim 1 or 2, in the setting step, when the reliability of the data is equal to or more than a previously registered value, the second operating system is controlled. The data stored in the storage means is directly passed to the first operating system without relaying.
[0026]
According to this invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage unit is directly passed to the first operating system without relaying the second operating system. Therefore, the communication processing can be speeded up.
[0027]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, the method comprising controlling a normal connection destination in storage means for temporarily storing data to be communicated. Setting the second operating system to the second operating system, and when data addressed to the second operating system is stored in the storage unit during execution of the first operating system, Switching to a second operating system.
[0028]
According to the present invention, when data destined for the second operating system is stored in the storage unit during execution of the first operating system, the first operating system is switched to the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0029]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein the first operating system executes the first operating system while the first operating system is running. And setting a connection destination of the storage unit to the first operating system via the second operating system when data addressed to the operating system is stored in the storage unit. I do.
[0030]
According to the present invention, when data addressed to the first operating system is stored in the storage unit while the first operating system is running, the connection destination of the storage unit is set to the second operating system via the second operating system. Since the first operating system is set, security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0031]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein a method for controlling a multi-operating system from the first operating system to the second operating system is provided. When performing communication, a first setting change step of changing the connection destination of the storage unit for temporarily storing data to be communicated from the second operating system as a normal connection destination to the first operating system; A storage step of storing data from the first operating system in the storage means, and a second setting change for changing a connection destination of the storage means from the first operating system to the second operating system And a step.
[0032]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second operating system as a normal connection destination From the first operating system to the first operating system, and after storing data from the first operating system in the storage means, the connection destination of the storage means is changed from the first operating system to the second operating system. Therefore, security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0033]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein a communication is performed from the first operating system to another device. A first setting change step of changing a connection destination of a storage unit for temporarily storing data to be communicated from a second operating system as a normal connection destination to the first operating system; A storage step of storing data from an operating system in the storage unit, a second setting change step of changing a connection destination of the storage unit from the first operating system to the second operating system, Relaying the second operating system, the case Characterized in that it comprises a transmission step of transmitting the stored data to the means to the other device.
[0034]
According to the present invention, when communication is performed from the first operating system to another device, the connection destination of the storage unit that temporarily stores data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. After changing the setting to the operating system, the data from the first operating system is stored in the storage means, and the connection destination of the storage means is changed from the first operating system to the second operating system. The security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0035]
Further, according to the multi-operating system control method of the present invention, when the reliability of the data is equal to or more than a previously registered value, the setting change is performed in the second setting change step. In the transmitting step, the data stored in the storage unit is directly transmitted to the other device without relaying the second operating system.
[0036]
According to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is not changed without changing the setting and without relaying the second operating system. Since the data is transmitted directly to the device, the communication processing can be speeded up.
[0037]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, the method comprising controlling a normal connection destination in storage means for temporarily storing data to be communicated. Setting in the second operating system, and when performing communication from the second operating system to the first operating system, storing data from the second operating system in the storage unit. A storage step and a setting change step of changing a setting of a connection destination of the storage unit from the second operating system to the first operating system are included.
[0038]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the first operating system to the first operating system, security and reliability of the multi-operating system in data communication from the second operating system to the first operating system can be improved.
[0039]
The present invention also provides a multi-operating system control method according to any one of claims 1 to 9, wherein the data is checked for normality, and a communication check process is continued only when the data is normal. It is characterized by including.
[0040]
According to the present invention, the normality of the data is checked, and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved.
[0041]
Further, according to the present invention, in the multi-operating system control method according to any one of claims 1 to 10, regarding the setting of the connection destination of the storage unit, authority is given only to the second operating system side. It is characterized by having.
[0042]
According to the present invention, only the second operating system is authorized to set the connection destination of the storage means. Therefore, there is a possibility that the first operating system having no authority is attacked from the outside. It is extremely low, and the security and reliability of the multi-operating system can be significantly improved.
[0043]
Further, the present invention is a program for causing a computer to execute the multi-operating system control method according to any one of claims 1 to 11, and the program becomes readable by a computer. The operation of the invention described in any one of the above can be executed by a computer.
[0044]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Is set to the second operating system, and when the data to be communicated is related to the first operating system, the connection destination of the storage unit for temporarily storing the data is set to the second operating system. Setting means for relaying and setting the first operating system.
[0045]
According to the present invention, the normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is transferred to the second operating system. Since the connection destination of the storage means for temporarily storing is set to the first operating system via the second operating system, the first operating system and the second operating system simultaneously attack from the outside during communication. It is possible to avoid the possibility of being performed and improve the security and reliability of the multi-operating system.
[0046]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein the first operating system is controlled by the first operating system while the second operating system is running. Setting means for setting connection of the storage means to the first operating system via the second operating system when data destined for the operating system is stored in the storage means; I do.
[0047]
According to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is switched to the first operating system via the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0048]
Further, according to the present invention, in the multi-operating system control device according to claim 13 or 14, when the reliability of the data is equal to or more than a value registered in advance, the setting means sets the second operating system. The data stored in the storage means is directly passed to the first operating system without relaying.
[0049]
According to this invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage unit is directly passed to the first operating system without relaying the second operating system. Therefore, the communication processing can be speeded up.
[0050]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Setting means for setting the second operating system to the second operating system; and when data addressed to the second operating system is stored in the storage means during execution of the first operating system, Switching means for switching to the second operating system.
[0051]
According to the present invention, when data destined for the second operating system is stored in the storage unit during execution of the first operating system, the first operating system is switched to the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0052]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein the first operating system executes the first operating system while the first operating system is running. Setting means for setting a connection destination of the storage means to the first operating system via the second operating system when data addressed to the operating system is stored in the storage means; And
[0053]
According to the present invention, when data addressed to the first operating system is stored in the storage unit while the first operating system is running, the connection destination of the storage unit is set to the second operating system via the second operating system. Since the first operating system is set, security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0054]
Further, the present invention is a multi-operating system control device which controls a first operating system and a second operating system which are operated by one computer, wherein the multi-operating system control device controls the first operating system and the second operating system from the first operating system. When performing communication, first setting change means for changing the connection destination of the storage means for temporarily storing data to be communicated from the second operating system as a normal connection destination to the first operating system; Storage control means for storing data from the first operating system in the storage means; and second setting for changing a connection destination of the storage means from the first operating system to the second operating system. And changing means. That.
[0055]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second operating system as a normal connection destination From the first operating system to the first operating system, and after storing data from the first operating system in the storage means, the connection destination of the storage means is changed from the first operating system to the second operating system. Therefore, security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0056]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein communication is performed from the first operating system to another device. A first setting change means for changing a connection destination of a storage means for temporarily storing data to be communicated from a second operating system as a normal connection destination to the first operating system; and Storage control means for storing data from an operating system in the storage means; second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system; Relaying the second operating system, The data stored in the storage means data characterized by comprising a transmitting means for transmitting to the other device.
[0057]
According to the present invention, when communication is performed from the first operating system to another device, the connection destination of the storage unit that temporarily stores data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. After changing the setting to the operating system, the data from the first operating system is stored in the storage means, and the connection destination of the storage means is changed from the first operating system to the second operating system. The security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0058]
Further, in the multi-operating system control device according to claim 19, when the reliability of the data is equal to or more than a value registered in advance, the second setting change unit performs the setting change. In addition, the transmitting means transmits the data stored in the storing means directly to the other device without relaying the second operating system.
[0059]
According to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is not changed without changing the setting and without relaying the second operating system. Since the data is transmitted directly to the device, the communication processing can be speeded up.
[0060]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Setting means for setting the second operating system to the second operating system, and when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage means. It is characterized by comprising storage control means, and setting change means for changing the connection destination of the storage means from the second operating system to the first operating system.
[0061]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the first operating system to the first operating system, security and reliability of the multi-operating system in data communication from the second operating system to the first operating system can be improved.
[0062]
Further, according to the present invention, in the multi-operating system control device according to any one of claims 13 to 21, data checking means for checking the normality of the data, and continuing communication processing only when the data is normal, It is characterized by having.
[0063]
According to the present invention, the normality of the data is checked, and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved.
[0064]
Further, according to the present invention, in the multi-operating system control device according to any one of claims 13 to 22, regarding the setting of the connection destination of the storage unit, authority is given only to the second operating system side. It is characterized by having.
[0065]
According to the present invention, only the second operating system is authorized to set the connection destination of the storage means. Therefore, there is a possibility that the first operating system having no authority is attacked from the outside. It is extremely low, and the security and reliability of the multi-operating system can be significantly improved.
[0066]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a first embodiment of a multi-operating system control method according to the present invention, a program for causing a computer to execute the method, and a multi-operating system control device will be described in detail with reference to the drawings.
[0067]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of the first exemplary embodiment according to the present invention. The multi-operating system shown in FIG. 1 includes a NIC (Network Interface Card) 10 and a NIC device driver 20. 1 , NIC device driver 20 2 , OS30 1 , OS30 2 , AP (application program) 40 1 ~ 40 4 And a network 50.
[0068]
In the multi-operating system, the OS 30 1 From OS30 2 Or OS30 2 From OS30 1 Is switched in the interrupt processing routine. Causes of the interruption include a communication request via the NIC 10 and a periodic switching request by a timer (not shown).
[0069]
In addition, the multi-operating system uses the NIC 10 without using a common control program or a shared memory as in the related art, and uses the NIC 30 while maintaining high security. 1 And OS30 2 It is characterized in that data (packets and the like) are exchanged between the device and the device.
[0070]
Hereinafter, each component will be described in detail. The NIC 10 is, for example, a LAN (Local Area Network) card and has a communication interface function. The NIC 10 includes an NIC device driver 20 described later. 1 And NIC device driver 20 2 Is controlled by
[0071]
In the NIC 10, the NIC transmission processing unit 11 has a function of transmitting a packet. The transmission buffer 12 temporarily stores a packet transmitted from the NIC transmission processing unit 11. The NIC reception processing unit 13 has a function of receiving a packet from the network 50. The reception buffer 14 temporarily stores the packet received by the NIC reception processing unit 13.
[0072]
The transmission buffer register 15 includes a transmission buffer 23 described later. 1 Or transmission buffer 23 2 Is a register for storing a value (address) corresponding to any of the following. The reception buffer register 16 includes a reception buffer 25 described later. 1 Or the reception buffer 25 2 Is a register for storing a value (address) corresponding to any of the following.
[0073]
NIC device driver 20 1 Is OS30 1 And a function of controlling the NIC 10 during communication, a function of rewriting the values of the transmission buffer register 15 and the reception buffer register 16, 1 From OS30 2 It has a function to switch to.
[0074]
NIC device driver 20 1 In the transmission processing unit 22 1 Is OS30 1 It has the function of transmitting packets from Transmission buffer 23 1 Is OS30 1 Temporarily store the packet from Reception processing unit 24 1 Is OS30 1 It has the function of receiving packets addressed to it. Receive buffer 25 1 Is OS30 1 Temporarily store packets addressed to. OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 It has a function to switch to.
[0075]
On the other hand, the NIC device driver 20 2 Is OS30 2 And a function of controlling the NIC 10 during communication, a function of rewriting the values of the transmission buffer register 15 and the reception buffer register 16, 2 From OS30 1 It has a function to switch to.
[0076]
Also, the NIC device driver 20 2 In the transmission processing unit 22 2 Is OS30 2 It has the function of transmitting packets from Transmission buffer 23 2 Is OS30 2 Temporarily store the packet from Reception processing unit 24 2 Is OS30 2 It has the function of receiving packets addressed to it. Receive buffer 25 2 Is OS30 2 Temporarily store packets addressed to. OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 It has a function to switch to. Data check processing unit 26 2 Performs a check on the packet for the possibility of virus infection or network attack.
[0077]
Here, OS30 1 , For example, 192.168.1.3 is assigned as an IP address. On the other hand, OS30 2 Is assigned another IP address, for example, 192.168.1.4. In the first to third embodiments, a MAC (Media Access Control) address may be used instead of the IP address as the information for identifying the OS.
[0078]
Next, operation outlines 1 to 4 of the first embodiment will be described with reference to FIGS.
[0079]
(Operation outline 1 of the first embodiment)
First, the outline 1 of the operation of the first embodiment will be described with reference to the block diagram shown in FIG. In the operation overview 1, the OS 30 2 From OS30 1 The case where communication is performed to the server will be described.
[0080]
In FIG. 2 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0081]
In this state, in (1), the NIC device driver 20 2 Transmission processing unit 22 2 Is OS30 2 (Hereinafter, data, command, etc.) from the transmission buffer 23 2 To be stored. This packet is sent to the OS 30 2 From OS30 1 Sent to Therefore, the destination IP address of the packet is 1 192.168.1.3.
[0082]
In (2), the transmission processing unit 22 2 Stores the value of the reception buffer register 16 of the NIC 10 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In (3), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 2 Access to the transmission buffer 23 2 Is copied to the transmission buffer 12.
[0083]
In (4), the NIC transmission processing unit 11 reads a packet from the transmission buffer 12 and transmits the packet to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0084]
In (5), the NIC reception processing unit 13 refers to the reception buffer register 16 and 1 After the access to the receiving buffer 14, the receiving buffer 14 1 Copy the packet to
[0085]
In (6), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (7), the reception processing unit 24 1 Is the reception buffer 25 1 From the OS 30 after switching the packet. 1 Pass to
[0086]
As described above, in the operation outline 1 of the first embodiment, the communication between the OSs is realized while maintaining high security by cooperation between the communication via the NIC 10 and the OS switching.
[0087]
(Operation Outline 2 of Embodiment 1)
Next, an outline 2 of the operation of the first embodiment will be described with reference to the block diagram shown in FIG. In the operation outline 2, the OS 30 1 From OS30 2 The case where communication is performed to the server will be described.
[0088]
In FIG. 1 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0089]
In this state, in (1), the NIC device driver 20 1 Transmission processing unit 22 1 Is OS30 1 From the transmission buffer 23 1 To be stored. This packet is sent to the OS 30 1 From OS30 2 Sent to Therefore, the destination IP address of the packet is 2 192.168.1.4.
[0090]
In (2), the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 of the NIC 10 in the transmission buffer 23 2 From the transmission buffer 23 1 Rewrite to In (3), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 1 Access to the transmission buffer 23 1 Is copied to the transmission buffer 12.
[0091]
In (4), the NIC transmission processing unit 11 reads a packet from the transmission buffer 12 and transmits the packet to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0092]
In (5), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0093]
In (6), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (7), the reception processing unit 24 2 Is the reception buffer 25 2 From the OS 30 after switching the packet. 2 Pass to
[0094]
(Operation Outline 3 of Embodiment 1)
Next, the operation outline 3 of the first embodiment will be described with reference to the block diagram shown in FIG. In the operation summary 3, the OS 30 is transmitted from another device (not shown) connected to the network 50. 1 The packet addressed to the OS 30 via the NIC 10 2 Will be described in the case of relaying and performing data check (virus check, etc.).
[0095]
In FIG. 2 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0096]
In this state, in (1), the NIC reception processing unit 13 of the NIC 10 sends the OS 30 from another device (not shown). 1 After the packet transmitted to the destination is received via the network 50, the packet is stored in the reception buffer 14. Here, the destination IP address of the packet is the OS 30 1 192.168.1.3.
[0097]
In (2), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0098]
In (3), the reception processing unit 24 2 Is the data check processing unit 26 2 Call. In (4), the data check processing unit 26 2 Is the reception buffer 25 2 Checks the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0099]
In this case, assuming that the check result is normal, in (5), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet.
[0100]
In (6), the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In (7), the NIC transmission processing unit 11 of the NIC 10 refers to the transmission buffer register 15 and 2 Is copied to the transmission buffer 12.
[0101]
In (8), the NIC transmission processing unit 11 reads out the packet from the transmission buffer 12 and transmits this to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0102]
In (9), the NIC reception processing unit 13 refers to the reception buffer register 16 and 1 After the access to the receiving buffer 14, the receiving buffer 14 1 Copy the packet to
[0103]
In (10), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (11), the reception processing unit 24 1 Is the reception buffer 25 1 From the OS 30 after switching the packet. 1 Pass to
[0104]
(Operation Outline 4 of First Embodiment)
Next, the operation outline 4 of the first embodiment will be described with reference to the block diagram shown in FIG. In the operation summary 4, the OS 30 1 A packet addressed to another device (not shown) connected to the network 50 from the OS 30 via the NIC 10 2 Will be described in the case of relaying and performing data check (virus check, etc.).
[0105]
In FIG. 1 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0106]
In this state, in (1), the NIC device driver 20 1 Transmission processing unit 22 1 Is OS30 1 From the transmission buffer 23 1 To be stored. This packet is sent to the OS 30 1 To another device (not shown). Therefore, the destination IP address of the packet is the IP address assigned to the other device.
[0107]
In (2), the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 of the NIC 10 in the transmission buffer 23 2 From the transmission buffer 23 1 Rewrite to In (3), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 1 Access to the transmission buffer 23 1 Is copied to the transmission buffer 12.
[0108]
In (4), the NIC transmission processing unit 11 reads the packet from the transmission buffer 12 and changes the destination IP address of this packet from the IP address of the other device to the OS 30. 2 To the IP address (192.168.1.4). Next, the NIC transmission processing unit 11 transmits the changed packet to the network 50. Next, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0109]
In (5), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0110]
In (6), the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to In (7), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to
[0111]
In (8), the reception processing unit 24 2 Is the data check processing unit 26 2 Call. In (9), the data check processing unit 26 2 Is the reception buffer 25 2 Checks the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0112]
In this case, assuming that the check result is normal, in (10), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet.
[0113]
In (11), the NIC transmission processing unit 11 of the NIC 10 refers to the transmission buffer register 15 and 2 Is copied to the transmission buffer 12.
[0114]
In (12), the NIC transmission processing unit 11 reads a packet from the transmission buffer 12 and transmits the packet to the network 50. Then, the packet is received by another device (not shown) via the network 50.
[0115]
(Operation Example 1 of First Embodiment)
Next, an operation example 1 of the first embodiment will be described with reference to FIGS. This operation example 1 corresponds to the OS 30 shown in FIG. 2 Is running, the OS 30 2 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0116]
In step SA1 shown in FIG. 7, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. And repeat the same determination.
[0117]
Then, the OS 30 via the network 50 2 When a packet addressed to the destination arrives, the NIC reception processing unit 13 sets the determination result of step SJ1 to “Yes”. In step SJ2, the NIC reception processing unit 13 determines whether or not the reception is prohibited, and in this case, the determination result is “No”.
[0118]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0119]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0120]
Thereby, the OS 30 2 On the side, the second reception process is executed in step SA2 shown in FIG. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0121]
In step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SK6, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0122]
(Operation Example 2 of Embodiment 1)
Next, an operation example 2 of the first embodiment will be described with reference to FIGS. This operation example 2 corresponds to the OS 30 shown in FIG. 2 Is running, the OS 30 1 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0123]
In step SB1 shown in FIG. 9, the NIC reception process (see FIG. 23) is executed in the same manner as in the operation example 1. In this NIC reception processing, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 1 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the packet is sent to the reception buffer 25 by the NIC reception processing unit 13. 2 Is stored in
[0124]
In step SB2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0125]
In step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SK3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0126]
In step SK7, the reception processing unit 24 2 Issues a reception prohibition command to the NIC 10. Thus, in step SK8, the NIC reception interrupt is prohibited, and the NIC 10 is set to the above-described reception prohibited state. Therefore, the NIC 10 prohibits reception of a packet.
[0127]
In step SK9, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 Check of the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0128]
In this case, assuming that the check result is normal, in step SK10, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet. In step SK11, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0129]
Thereby, the second transmission process is executed in step SB3 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0130]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0131]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0132]
Thereby, the NIC transmission process is executed in step SB4 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether a transmission command has been received from.
[0133]
In this case, in step SL8 (see FIG. 25), the transmission processing unit 22 2 , The NIC transmission processing unit 11 sets the determination result in step SI1 to “Yes”. If the transmission command has not been received, the NIC transmission processing unit 11 sets the determination result to “No” and repeats the determination in step SI1.
[0134]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0135]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0136]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Thus, in step SB5 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0137]
Then, after the switching, in step SB6, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0138]
In step SJ3, the NIC reception processing unit 13 1 After receiving the packet addressed to it, the packet is stored in the reception buffer 14. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0139]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0140]
Thereby, the OS 30 1 On the side, the first reception process is executed in step SB7 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0141]
In step SM3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SM4, the NIC reception interrupt is prohibited. In step SM5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0142]
In step SM6, the reception processing unit 24 1 Stores the value of the reception buffer register 16 in the reception buffer 25. 1 To receive buffer 25 2 Rewrite to In step SM7, the reception processing unit 24 1 Releases the NIC reception interrupt prohibition. In step SM8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0143]
(Operation Example 3 of First Embodiment)
Next, a third operation example of the first embodiment will be described with reference to FIGS. This operation example 3 corresponds to the OS 30 shown in FIG. 1 Is running, the OS 30 2 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0144]
In step SC1 shown in FIG. 11, an NIC reception process is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 10 determines whether or not a packet has arrived from the network 50. In this case, the determination result is “No”. And repeat the same determination.
[0145]
Then, the OS 30 via the network 50 2 When the packet addressed to the NIC arrives, the NIC reception processing unit 13 sets the determination result in step SJ1 to “Yes” and then sets the determination result in step SJ2 to “No”.
[0146]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0147]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0148]
As a result, the first reception processing is executed in step SC2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, since no packet is stored, the determination result is “No”.
[0149]
In step SM2, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. Thus, in step SC3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0150]
In step SC4, a second reception process is performed. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0151]
In step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SK6, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0152]
(Operation Example 4 of First Embodiment)
Next, an operation example 4 of the first embodiment will be described with reference to FIGS. This operation example 4 corresponds to the OS 30 shown in FIG. 1 Is running, the OS 30 1 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0153]
In step SD1 shown in FIG. 13, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 12 determines whether or not a packet has arrived from the network 50. In this case, the determination result is “No”. And repeat the same determination.
[0154]
Then, the OS 30 via the network 50 1 When the packet addressed to the NIC arrives, the NIC reception processing unit 13 sets the determination result in step SJ1 to “Yes” and then sets the determination result in step SJ2 to “No”.
[0155]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0156]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0157]
As a result, the first reception processing is executed in step SD2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, since no packet is stored, the determination result is “No”.
[0158]
In step SM2, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. Thus, in step SD3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0159]
In step SD4, a second reception process is executed. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0160]
In step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SK3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0161]
In step SK7, the reception processing unit 24 2 Issues a reception prohibition command to the NIC 10. Thus, in step SK8, the NIC reception interrupt is prohibited, and the NIC 10 is set to the above-described reception prohibited state. Therefore, the NIC 10 prohibits reception of a packet.
[0162]
In step SK9, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 Check of the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0163]
In this case, assuming that the check result is normal, in step SK10, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet. In step SK11, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0164]
Thereby, the second transmission process is executed in step SD5 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0165]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0166]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0167]
Thus, in step SD6 shown in FIG. 13, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether a transmission command has been received from.
[0168]
In this case, in step SL8 (see FIG. 25), the transmission processing unit 22 2 , The NIC transmission processing unit 11 sets the determination result in step SI1 to “Yes”.
[0169]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0170]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0171]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Thus, in step SD7 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0172]
After the switching, in step SD8, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0173]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0174]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0175]
Thereby, the first reception processing is executed in step SD9. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0176]
In step SM3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SM4, the NIC reception interrupt is prohibited. In step SM5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0177]
In step SM6, the reception processing unit 24 1 Stores the value of the reception buffer register 16 in the reception buffer 25. 1 To receive buffer 25 2 Rewrite to In step SM7, the reception processing unit 24 1 Releases the NIC interrupt prohibition. In step SM8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0178]
(Operation Example 5 of First Embodiment)
Next, an operation example 5 of the first embodiment will be described with reference to FIG. 14 and FIG. This operation example 5 corresponds to the OS 30 shown in FIG. 1 From OS30 2 This is an operation when a packet is transmitted to the server.
[0179]
In step SE1 shown in FIG. 15, a first transmission process is performed. Specifically, in step SN1 shown in FIG. 1 Is OS30 1 The destination IP address of the packet to be transmitted passed from the OS 30 2 After replacing with the IP address of the 1 To be stored.
[0180]
In step SN2, the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 2 From the transmission buffer 23 1 Rewrite to In step SN3, the transmission processing unit 22 1 Calls the NIC transmission processing unit 11 and issues a transmission command. In step SN4, the transmission processing unit 22 1 Determines whether a NIC transmission completion interrupt has occurred in the NIC 10, and in this case, the determination result is “No”.
[0181]
Further, when the NIC transmission processing unit 11 is called in step SN3, the NIC transmission processing is executed in step SE2 shown in FIG. Specifically, in step SI1 shown in FIG. 23, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether or not a transmission command has been received from, and in this case, the determination result is “Yes”.
[0182]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 1 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 2 To the network 50.
[0183]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0184]
Thereby, the transmission processing unit 22 1 Makes the determination result of step SN4 shown in FIG. 27 "Yes". In step SN5, the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to In step SN6, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call.
[0185]
As a result, in step SE3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0186]
In step SE4, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 2 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the packet is sent to the reception buffer 25 by the NIC reception processing unit 13. 2 Is stored in
[0187]
In step SE5, the OS 30 2 The second side performs the second receiving process. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0188]
In step SK5, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 A data check is performed on the packet stored in the. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0189]
In this case, it is assumed that the check result is normal, and in step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SK6, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0190]
(Operation Example 6 of First Embodiment)
Next, an operation example 6 of the first embodiment will be described with reference to FIGS. This operation example 6 corresponds to the OS 30 shown in FIG. 1 This is an operation when a packet is transmitted from to the other device connected to the network 50.
[0191]
In step SF1 shown in FIG. 17, a first transmission process is performed. Specifically, in step SN1 shown in FIG. 1 Is OS30 1 The destination IP address (in this case, the IP address of the other device) of the packet to be transmitted passed from the 2 After replacing with the IP address of the 1 To be stored. The IP address of the other device before replacement is stored in the data area of the packet.
[0192]
In step SN2, the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 2 From the transmission buffer 23 1 Rewrite to In step SN3, the transmission processing unit 22 1 Calls the NIC transmission processing unit 11 and issues a transmission command. In step SN4, the transmission processing unit 22 1 Determines whether a NIC transmission completion interrupt has occurred in the NIC 10, and in this case, the determination result is “No”.
[0193]
Further, when the NIC transmission processing unit 11 is called in step SN3, the NIC transmission processing is executed in step SF2 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether or not a transmission command has been received from, and in this case, the determination result is “Yes”.
[0194]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 1 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 2 To the network 50.
[0195]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0196]
Thereby, the transmission processing unit 22 1 Makes the determination result of step SN4 shown in FIG. 27 "Yes". In step SN5, the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to In step SN6, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call.
[0197]
Accordingly, in step SF3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0198]
In step SF4, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 2 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the NIC reception processing unit 13 replaces the transmission destination IP address of the packet with the IP address of another device, and then stores the packet in the reception buffer 25. 2 To be stored.
[0199]
In step SF5, the OS 30 2 The second side performs the second receiving process. Specifically, in step SK1 shown in FIG. 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0200]
In step SK5, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 A data check is performed on the packet stored in the. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0201]
In this case, it is assumed that the check result is normal, and in step SK2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SK3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “No”. In step SK4, the reception processing unit 24 2 Determines whether the destination IP address of the packet corresponds to another device, and in this case, the determination result is “Yes”.
[0202]
In step SK12, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 Copy the packet to In step SK13, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0203]
Thus, the second transmission process is performed in step SF6 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “No”.
[0204]
In step SL2, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11 of the NIC 10. In step SL3, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0205]
Thus, the NIC transmission process is executed in step SF7 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0206]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (addressed to another device) in the transmission buffer 12 to the network 50. Thereby, the packet is received by another device via the network 50.
[0207]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0208]
(Operation Example 7 of First Embodiment)
Next, an operation example 7 of the first embodiment will be described with reference to FIGS. This operation example 7 corresponds to the OS 30 shown in FIG. 2 This is an operation when a packet is transmitted from to the other device connected to the network 50.
[0209]
In step SG1 shown in FIG. 19, a second transmission process is performed. Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from OS 30 1 It is determined whether it corresponds to. In this case, it is assumed that the destination IP address of the packet corresponds to another device, and the transmission processing unit 22 2 Makes the determination result of step SL1 "No".
[0210]
In step SL2, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL3, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0211]
Thus, the NIC transmission processing is executed in step SG2 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0212]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (addressed to another device) in the transmission buffer 12 to the network 50. Thus, the packet is received by another device via the network 50.
[0213]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0214]
(Operation Example 8 of First Embodiment)
Next, an operation example 8 of the first embodiment will be described with reference to FIGS. This operation example 8 corresponds to the OS 30 shown in FIG. 2 From OS30 1 This is an operation when a packet is transmitted to the server.
[0215]
In step SH1 shown in FIG. 2 Is OS30 2 OS 30 passed by 1 Data check such as virus check is performed on the packet addressed to. If the check result is normal, a second transmission process is executed in step SH2.
[0216]
Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0219]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0218]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0219]
Thereby, the NIC transmission process is executed in step SH3 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0220]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0221]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0222]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Thus, in step SH4 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0223]
Then, after the switching, in step SH5, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0224]
In step SJ3, the NIC reception processing unit 13 1 After receiving the packet addressed to it, the packet is stored in the reception buffer 14. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0225]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0226]
Thereby, the OS 30 1 On the side, the first reception process is executed in step SH6 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0227]
In step SM3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SM4, the NIC reception interrupt is prohibited. In step SM5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0228]
In step SM6, the reception processing unit 24 1 Stores the value of the reception buffer register 16 in the reception buffer 25. 1 To receive buffer 25 2 Rewrite to In step SM7, the reception processing unit 24 1 Releases the NIC interrupt prohibition. In step SM8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0229]
As described above, according to the first embodiment, the normal connection destination in the transmission buffer 12 and the transmission buffer register 15 (storage unit) of the NIC 10 for temporarily storing data such as a packet to be communicated is changed to the OS 30. 2 And the communication target data is OS30 1 When the connection destination of the transmission buffer 12 and the transmission buffer register 15 (storage means) for temporarily storing data is 2 OS30 1 , So that the OS 30 1 And OS30 2 Can be simultaneously prevented from being attacked from the outside, and the security and reliability of the multi-operating system can be improved.
[0230]
According to the first embodiment, the normality of the packet (data) to be communicated is checked by the data check processing unit 26. 2 The communication processing is continued only when the operation is normal, so that the security and reliability of the multi-operating system can be further improved.
[0231]
(Embodiment 2)
In the first embodiment, the OS 30 is connected via the NIC 10 shown in FIG. 1 Communication (transmission and reception of packets) by OS 30 2 And the data check processing unit 26 2 Although the configuration example in which data check is performed has been described above, a configuration in which relaying and data check are not performed on a packet whose reliability has been confirmed may be adopted. Hereinafter, this configuration example will be described as a second embodiment.
[0232]
Here, in the second embodiment, the second reception processing shown in FIG. 34 is executed instead of FIG. 24, and the first transmission processing shown in FIG. 35 is executed instead of FIG.
[0233]
(Operation Example 1 of Second Embodiment)
First, an operation example 1 of the second embodiment will be described with reference to FIGS. This operation example 1 corresponds to the OS 30 shown in FIG. 2 Is running, the OS 30 1 This is an operation performed when the NIC 10 receives a packet addressed to the destination (a packet having high reliability).
[0234]
In step SO1 shown in FIG. 29, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 1 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, after the packet is received by the NIC reception processing unit 13, the reception buffer 25 2 Is stored in The packet has been transmitted from another device connected to the network 50.
[0235]
In step SO2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SR1 shown in FIG. 34, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0236]
In step SR2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SR3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0237]
In step SR14, the reception processing unit 24 2 Determines whether the source IP address of the packet is a previously registered IP address with high reliability, and in this case, the determination result is “Yes”.
[0238]
In step SR15, the reception processing unit 24 2 The reception buffer 25 does not perform a data check and does not pass through the NIC 10. 2 To receive buffer 25 1 Copy the packet to In this case, since the reliability of the packet has been confirmed, the packet may be copied via a shared memory (not shown).
[0239]
In step SR16, the reception processing unit 24 2 Is the OS switching processing unit 21 2 Call. Thus, in step SO3 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed. After the switching, the reception processing unit 24 2 Is the NIC device driver 20 1 Reception processing unit 24 1 Call.
[0240]
In step SO4 shown in FIG. 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to OS30 1 Executes a first reception process for receiving a packet.
[0241]
In FIG. 34, steps SR1 to SR13 correspond to steps SK1 to SK13 shown in FIG.
[0242]
(Operation Example 2 of Embodiment 2)
Next, an operation example 2 of the second embodiment will be described with reference to FIGS. This operation example 2 corresponds to the OS 30 shown in FIG. 1 Is running, the OS 30 1 This is an operation when the NIC 10 receives a packet addressed to the destination (a packet with high reliability).
[0243]
In step SP1 shown in FIG. 31, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. And repeat the same determination.
[0244]
Then, the OS 30 is transmitted from another device via the network 50. 1 When the packet addressed to the NIC arrives, the NIC reception processing unit 13 sets the determination result in step SJ1 to “Yes” and then sets the determination result in step SJ2 to “No”.
[0245]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0246]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0247]
As a result, the first reception processing is executed in step SP2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the NIC device driver 20 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, since no packet is stored, the determination result is “No”.
[0248]
In step SM2, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. Thereby, in step SP3 shown in FIG. 31, the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0249]
In step SP4, a second reception process is performed. Specifically, in step SR1 shown in FIG. 34, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0250]
In step SR2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and the result of the determination is “No”. In step SR3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0251]
In step SR14, the reception processing unit 24 2 Determines whether the source IP address of the packet is a previously registered IP address with high reliability, and in this case, the determination result is “Yes”.
[0252]
In step SR15, the reception processing unit 24 2 The reception buffer 25 does not perform a data check and does not pass through the NIC 10. 2 To receive buffer 25 1 Copy the packet to In this case, since the reliability of the packet has been confirmed, the packet may be copied via a shared memory (not shown).
[0253]
In step SR16, the reception processing unit 24 2 Is the OS switching processing unit 21 2 Call. Thus, in step SP5 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed. After the switching, the reception processing unit 24 2 Is the NIC device driver 20 1 Reception processing unit 24 1 Call.
[0254]
In step SP6, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to OS30 1 Executes a first reception process for receiving a packet.
[0255]
(Operation Example 3 of Second Embodiment)
Next, an operation example 3 of the second embodiment will be described with reference to FIG. 32 and FIG. This operation example 3 corresponds to the OS 30 shown in FIG. 1 This is an operation in the case where a packet (however, a packet with high reliability) is transmitted from to the other device connected to the network 50.
[0256]
In step SQ1 shown in FIG. 1 Is OS30 1 If the reliability of the packet to be transmitted passed from is higher than the reliability registered in advance, the first transmission process shown in FIG. 35 is executed. When the reliability of the packet is lower than the reliability registered in advance, the first transmission processing shown in FIG. 27 is executed.
[0257]
Specifically, in step SS1 shown in FIG. 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 2 From the transmission buffer 23 1 Rewrite to In step SS2, the transmission processing unit 22 1 Calls the NIC transmission processing unit 11 and issues a transmission command. In step SS3, the transmission processing unit 22 1 Determines whether a NIC transmission completion interrupt has occurred in the NIC 10, and in this case, the determination result is “No”.
[0258]
Further, when the NIC transmission processing unit 11 is called in step SS2, the NIC transmission processing is executed in step SQ2 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 , The judgment result is “Yes”.
[0259]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 1 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (addressed to another device) in the transmission buffer 12 to the network 50. Thus, the packet is received by another device (not shown) via the network 50.
[0260]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0261]
Thereby, the transmission processing unit 22 1 Makes the determination result of step SS3 shown in FIG. 35 "Yes". In step SS4, the transmission processing unit 22 1 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to
[0262]
As described above, according to the second embodiment, when the reliability of data is equal to or more than the value registered in advance, the OS 30 2 Without relaying the data to OS 30 1 The communication process can be sped up because the data is passed directly to the server.
[0263]
(Embodiment 3)
In the first embodiment, the values of the transmission buffer register 15 and the reception buffer register 16 of the NIC 10 shown in FIG. 1 And NIC device driver 20 2 Although the configuration example in which the rewriting can be performed by both is described, the rewriting authority is set to the NIC device driver 20 for the purpose of further enhancing the security. 2 It may be configured to be held only by the user. Hereinafter, this configuration example will be described as a third embodiment.
[0264]
FIG. 36 is a block diagram showing a configuration of the third embodiment according to the present invention. In this figure, parts corresponding to respective parts in FIG. 1 are denoted by the same reference numerals. In the figure, the NIC device driver 20 2 Transmission buffer register rewriting processing unit 27 2 And reception buffer register rewriting processing unit 28 2 Is newly provided.
[0265]
Here, in the third embodiment, the NIC device driver 20 2 Has the authority to rewrite the values of the transmission buffer register 15 and the reception buffer register 16 of the NIC 10. On the other hand, the NIC device driver 20 1 Does not have the authority to rewrite the values of the transmission buffer register 15 and the reception buffer register 16 of the NIC 10. Therefore, the NIC device driver 20 1 When the rewriting request occurs, the NIC device driver 20 2 Ask for rewriting.
[0266]
Transmission buffer register rewrite processing unit 27 2 Is the NIC device driver 20 1 In response to a rewrite request from the server, the value of the transmission buffer register 15 is rewritten as a proxy. Also, the receiving buffer register rewriting processing unit 28 2 Is the NIC device driver 20 1 In response to a rewrite request from the server, the value of the reception buffer register 16 is rewritten as a proxy.
[0267]
Next, operation outlines 1 to 4 of the third embodiment will be described with reference to FIGS.
[0268]
(Operation outline 1 of Embodiment 3)
First, the operation outline 1 of the third embodiment will be described with reference to the block diagram shown in FIG. In the operation overview 1, the OS 30 2 From OS30 1 The case where communication is performed to the server will be described.
[0269]
In FIG. 2 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0270]
In this state, in (1), the NIC device driver 20 2 Transmission processing unit 22 2 Is OS30 2 From the transmission buffer 23 2 To be stored. This packet is sent to the OS 30 2 From OS30 1 Sent to Therefore, the destination IP address of the packet is 1 192.168.1.3.
[0271]
In (2), the transmission processing unit 22 2 Stores the value of the reception buffer register 16 of the NIC 10 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In (3), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 2 Access to the transmission buffer 23 2 Is copied to the transmission buffer 12.
[0272]
In (4), the NIC transmission processing unit 11 reads a packet from the transmission buffer 12 and transmits the packet to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0273]
In (5), the NIC reception processing unit 13 refers to the reception buffer register 16 and 1 After the access to the receiving buffer 14, the receiving buffer 14 1 Copy the packet to
[0274]
In (6), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (7), the reception processing unit 24 1 Is the reception buffer 25 1 From the OS 30 after switching the packet. 1 Pass to
[0275]
In (8), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (9), the reception buffer register rewriting processor 28 2 Is OS30 1 From OS30 2 Switching to the NIC device driver 20 1 Instead of the value of the reception buffer register 16 1 To receive buffer 25 2 Rewrite to In (10), the data check processing unit 26 2 Changes the OS to OS30 1 From OS30 2 Switch to
[0276]
(Operation outline 2 of Embodiment 3)
Next, an outline 2 of the operation of the third embodiment will be described with reference to the block diagram shown in FIG. In the operation outline 2, the OS 30 1 From OS30 2 The case where communication is performed to the server will be described.
[0277]
In FIG. 1 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0278]
In this state, in (1), the NIC device driver 20 1 Transmission processing unit 22 1 Is OS30 1 From the transmission buffer 23 1 To be stored. This packet is sent to the OS 30 1 From OS30 2 Sent to Therefore, the destination IP address of the packet is 2 192.168.1.4.
[0279]
In (2), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (3), the transmission buffer register rewriting processor 27 2 Is OS30 1 From OS30 2 Switching to the NIC device driver 20 1 Is replaced with the value of the transmission buffer register 15 of the NIC 10 by the transmission buffer 23. 2 From the transmission buffer 23 1 Rewrite to
[0280]
In (4), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (5), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 1 Access to the transmission buffer 23 1 Is copied to the transmission buffer 12.
[0281]
In (6), the NIC transmission processing unit 11 reads out the packet from the transmission buffer 12 and transmits this to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0282]
In (7), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0283]
In (8), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (9), the reception processing unit 24 2 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to In (10), the reception processing unit 24 2 Is the reception buffer 25 1 From the OS 30 after switching the packet. 2 Pass to
[0284]
(Operation Outline 3 of Third Embodiment)
First, an outline 3 of the operation of the third embodiment will be described with reference to a block diagram shown in FIG. In the operation summary 3, the OS 30 is transmitted from another device (not shown) connected to the network 50. 1 The packet addressed to the OS 30 via the NIC 10 2 Will be described in the case of relaying and performing data check (virus check, etc.).
[0285]
In FIG. 2 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0286]
In this state, in (1), the NIC reception processing unit 13 of the NIC 10 sends the OS 30 from another device (not shown). 1 After the packet transmitted to the destination is received via the network 50, the packet is stored in the reception buffer 14. Here, the destination IP address of the packet is the OS 30 1 192.168.1.3.
[0287]
In (2), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0288]
In (3), the reception processing unit 24 2 Is the data check processing unit 26 2 Call. In (4), the data check processing unit 26 2 Is the reception buffer 25 2 Checks the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0289]
In this case, assuming that the check result is normal, in (5), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet.
[0290]
In (6), the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In (7), the NIC transmission processing unit 11 of the NIC 10 refers to the transmission buffer register 15 and 2 Is copied to the transmission buffer 12.
[0291]
In (8), the NIC transmission processing unit 11 reads out the packet from the transmission buffer 12 and transmits this to the network 50. Then, after the packet is received by the NIC reception processing unit 13, the packet is stored in the reception buffer 14.
[0292]
In (9), the NIC reception processing unit 13 refers to the reception buffer register 16 and 1 After the access to the receiving buffer 14, the receiving buffer 14 1 Copy the packet to
[0293]
In (10), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (11), the reception processing unit 24 1 Is the reception buffer 25 1 From the OS 30 after switching the packet. 1 Pass to
[0294]
In (12), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (13), the receiving buffer register rewriting processing unit 28 2 Is OS30 1 From OS30 2 Switching to the NIC device driver 20 1 Instead of the value of the reception buffer register 16 1 To receive buffer 25 2 Rewrite to In (14), the data check processing unit 26 2 Changes the OS to OS30 1 From OS30 2 Switch to
[0295]
(Operation outline 4 of Embodiment 3)
Next, an operation outline 4 of the third embodiment will be described with reference to the block diagram shown in FIG. In the operation summary 4, the OS 30 1 A packet addressed to another device (not shown) connected to the network 50 from the OS 30 via the NIC 10 2 Will be described in the case of relaying and performing data check (virus check, etc.).
[0296]
In FIG. 1 Is being executed, and the transmission buffer 23 is stored in the transmission buffer register 15. 2 Are stored in the reception buffer register 16 and the reception buffer 25 2 It is assumed that a value corresponding to is stored.
[0297]
In this state, in (1), the NIC device driver 20 1 Transmission processing unit 22 1 Is OS30 1 From the transmission buffer 23 1 To be stored. This packet is sent to the OS 30 1 To another device (not shown). Therefore, the destination IP address of the packet is the IP address assigned to the other device.
[0298]
In (2), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (3), the transmission buffer register rewriting processor 27 2 Is OS30 1 From OS30 2 Switching to the NIC device driver 20 1 Is replaced with the value of the transmission buffer register 15 by the transmission buffer 23. 2 From the transmission buffer 23 1 Rewrite to
[0299]
In (4), the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 Switch to In (5), the NIC transmission processing unit 11 refers to the transmission buffer register 15 and 1 Access to the transmission buffer 23 1 Is copied to the transmission buffer 12.
[0300]
In (6), the NIC transmission processing unit 11 reads the packet from the transmission buffer 12, and sets the destination IP address of this packet from the IP address of the other device to the OS 30. 2 To the IP address (192.168.1.4). Next, the NIC transmission processing unit 11 transmits the changed packet to the network 50. Next, after the packet is received by the NIC reception processing unit 13, the reception buffer 25 2 Is stored in
[0301]
In (7), the NIC reception processing unit 13 refers to the reception buffer register 16 and 2 After the access to the receiving buffer 14, the receiving buffer 14 2 Copy the packet to
[0302]
In (8), the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 Switch to In (9), the transmission buffer register rewriting processing unit 27 2 Is OS30 1 From OS30 2 Switching to the NIC device driver 20 1 Is replaced with the value of the transmission buffer register 15 by the transmission buffer 23. 1 From the transmission buffer 23 2 Rewrite to
[0303]
In (10), the reception processing unit 24 2 Is the data check processing unit 26 2 Call. In (11), the data check processing unit 26 2 Is the reception buffer 25 2 Checks the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0304]
In this case, assuming that the check result is normal, in (12), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet.
[0305]
In (13), the NIC transmission processing unit 11 of the NIC 10 refers to the transmission buffer register 15 and 2 Is copied to the transmission buffer 12.
[0306]
In (14), the NIC transmission processing unit 11 reads out the packet from the transmission buffer 12 and transmits this to the network 50. Then, the packet is received by another device (not shown) via the network 50.
[0307]
(Operation Example 1 of Third Embodiment)
Next, an operation example 1 of the third embodiment will be described with reference to FIG. 41 and FIG. This operation example 1 corresponds to the OS 30 shown in FIG. 2 Is running, the OS 30 2 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0308]
Here, in the third embodiment, the second reception processing shown in FIG. 59 instead of FIG. 24, the first reception processing shown in FIG. 60 instead of FIG. 26, and the first reception processing shown in FIG. 61 instead of FIG. Respectively performed first transmission processing.
[0309]
In step ST1 shown in FIG. 42, NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 41 determines whether or not a packet has arrived from the network 50. In this case, the determination result is “No”. And repeat the same determination.
[0310]
Then, the OS 30 via the network 50 2 When a packet addressed to the destination arrives, the NIC reception processing unit 13 sets the determination result of step SJ1 to “Yes”. In step SJ2, the NIC reception processing unit 13 determines whether or not the reception is prohibited, and in this case, the determination result is “No”.
[0311]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0312]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0313]
Thereby, the OS 30 2 On the side, the second reception process is executed in step ST2 shown in FIG. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0314]
In step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SSD7, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0315]
(Operation Example 2 of Third Embodiment)
Next, an operation example 2 of the third embodiment will be described with reference to FIG. 43 and FIG. This operation example 2 corresponds to the OS 30 shown in FIG. 2 Is running, the OS 30 1 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0316]
In step SU1 shown in FIG. 44, the NIC reception process (see FIG. 23) is executed as in the first operation example. In this NIC reception processing, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 1 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the packet is sent to the reception buffer 25 by the NIC reception processing unit 13. 2 Is stored in
[0317]
In step SU2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0318]
In step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SSD3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0319]
In step SSD8, the reception processing unit 24 2 Issues a reception prohibition command to the NIC 10. As a result, in step SSD9, the NIC reception interrupt is prohibited, and the NIC 10 is set to the above-described reception prohibited state. Therefore, the NIC 10 prohibits reception of a packet.
[0320]
In step SSD10, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 Check of the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0321]
In this case, assuming that the check result is normal, in step SSD11, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet. In step SSD12, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0322]
Thereby, the second transmission process is executed in step SU3 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0323]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0324]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0325]
Thus, in step SU4 shown in FIG. 44, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether a transmission command has been received from.
[0326]
In this case, in step SL8 (see FIG. 25), the transmission processing unit 22 2 , The NIC transmission processing unit 11 sets the determination result in step SI1 to “Yes”. If no transmission command has been received, the NIC transmission processing unit 11 repeats the determination in step SI1.
[0327]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0328]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0329]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Accordingly, in step SU5 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0330]
Then, after the switching, in step SU6, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0331]
In step SJ3, the NIC reception processing unit 13 1 After receiving the packet addressed to it, the packet is stored in the reception buffer 14. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0332]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0333]
Thereby, the OS 30 1 On the side, the first reception process is executed in step SU7 shown in FIG. Specifically, in step SSE1 shown in FIG. 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0334]
In step SSE3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SSE4, the NIC reception interrupt is prohibited. In step SSE5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0335]
In step SSE6, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. In step SSE7, the reception processing unit 24 1 Releases the NIC reception interrupt prohibition. In step SSE8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0336]
In step SU8 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed. In step SU9, the reception buffer register rewriting processing unit 28 2 Is OS30 1 From OS30 2 The rewriting process is executed by using the switch to the trigger as a trigger.
[0337]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the reception buffer register rewriting processing unit 28 2 Sets the determination result of step SSB1 to "Yes".
[0338]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 1 To receive buffer 25 2 Rewrite to
[0339]
In step SU10 shown in FIG. 2 Is called. Thereby, the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 The second OS switching process of switching to the second OS is executed.
[0340]
(Operation Example 3 of Third Embodiment)
Next, a third operation example of the third embodiment will be described with reference to FIG. 45 and FIG. This operation example 3 corresponds to the OS 30 shown in FIG. 1 Is running, the OS 30 2 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0341]
In step SV1 shown in FIG. 46, NIC reception processing is executed. More specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 45 determines whether or not a packet has arrived from the network 50. And repeat the same determination.
[0342]
Then, the OS 30 via the network 50 2 When the packet addressed to the NIC arrives, the NIC reception processing unit 13 sets the determination result in step SJ1 to “Yes” and then sets the determination result in step SJ2 to “No”.
[0343]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0344]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0345]
Thus, the first reception process is executed in step SV2 shown in FIG. Specifically, in step SSE1 shown in FIG. 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, since no packet is stored, the determination result is “No”.
[0346]
In step SSE2, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. Accordingly, in step SV3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0347]
In step SV4, a second reception process is performed. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0348]
In step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SSD7, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0349]
(Operation Example 4 of Third Embodiment)
Next, an operation example 4 of the third embodiment will be described with reference to FIG. 47 and FIG. This operation example 4 corresponds to the OS 30 shown in FIG. 1 Is running, the OS 30 1 This is an operation when the NIC 10 receives a packet addressed to the destination.
[0350]
In step SW1 shown in FIG. 48, an NIC reception process is performed. More specifically, in step SJ1 shown in FIG. 23, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 47 determines whether or not a packet has arrived from the network 50. And repeat the same determination.
[0351]
Then, the OS 30 via the network 50 1 When the packet addressed to the NIC arrives, the NIC reception processing unit 13 sets the determination result in step SJ1 to “Yes” and then sets the determination result in step SJ2 to “No”.
[0352]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 2 Copy to
[0353]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0354]
As a result, the first reception processing is executed in step SW2 shown in FIG. Specifically, in step SSE1 shown in FIG. 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, since no packet is stored, the determination result is “No”.
[0355]
In step SSE2, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. Accordingly, in step SW3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0356]
In step SW4, a second reception process is performed. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “No”.
[0357]
In step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SSD3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “Yes”.
[0358]
In step SSD8, the reception processing unit 24 2 Issues a reception prohibition command to the NIC 10. As a result, in step SSD9, the NIC reception interrupt is prohibited, and the NIC 10 is set to the above-described reception prohibited state. Therefore, the NIC 10 prohibits reception of a packet.
[0359]
In step SSD10, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 Check of the packet stored in the server for the possibility of virus infection or network attack. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0360]
In this case, assuming that the check result is normal, in step SSD11, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 To copy the packet. In step SSD12, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0361]
Thus, the second transmission process is performed in step SW5 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0362]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0363]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0364]
Thus, the NIC transmission processing is executed in step SW6 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether a transmission command has been received from.
[0365]
In this case, in step SL8 (see FIG. 25), the transmission processing unit 22 2 , The NIC transmission processing unit 11 sets the determination result in step SI1 to “Yes”.
[0366]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0367]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0368]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Accordingly, in step SW7 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0369]
After the switching, in step SW8, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0370]
In step SJ3, the NIC reception processing unit 13 stores the packet in the reception buffer 14 after receiving the packet. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0371]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0372]
As a result, the first reception processing is executed in step SW9 shown in FIG. Specifically, in step SSE1 shown in FIG. 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0373]
In step SSE3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SSE4, the NIC reception interrupt is prohibited. In step SSE5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0374]
In step SSE6, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. In step SSE7, the reception processing unit 24 1 Releases the NIC reception interrupt prohibition. In step SSE8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0375]
In step SW10 shown in FIG. 48, the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed. In step SW11, the reception buffer register rewriting processing unit 28 2 Is OS30 1 From OS30 2 The rewriting process is executed by using the switch to the trigger as a trigger.
[0376]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. In this case, the determination result is “Yes”.
[0377]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Changes the value of the reception buffer register 16 from the reception buffer 251 to the reception buffer 25 2 Rewrite to
[0378]
In step SW12 shown in FIG. 48, the OS switching processing unit 21 2 Is called. Thereby, the OS switching processing unit 21 2 Changes the OS to OS30 1 From OS30 2 The second OS switching process of switching to the second OS is executed.
[0379]
(Operation Example 5 of Third Embodiment)
Next, an operation example 5 of the third embodiment will be described with reference to FIGS. 49 and 50. This operation example 5 corresponds to the OS 30 shown in FIG. 1 From OS30 2 This is an operation when a packet is transmitted to the server.
[0380]
In step SX1 shown in FIG. 50, a first transmission process is executed. Specifically, in step SSF1 shown in FIG. 1 Is OS30 1 The destination IP address of the packet to be transmitted passed from the OS 30 2 After replacing with the IP address of the 1 To be stored.
[0381]
In step SSF2, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call. Thus, in step SX2 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0382]
In step SX3, the transmission buffer register rewriting processor 27 2 Is OS30 1 From OS30 2 The transmission buffer register rewriting process is executed with the switching to the trigger as a trigger.
[0383]
More specifically, in step SSC1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the transmission buffer register rewriting processor 27 2 Sets the determination result of step SSC1 to "Yes".
[0384]
In step SSC2, the transmission buffer register rewriting processor 27 2 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to
[0385]
In step SX4 shown in FIG. 2 Is called. Thereby, the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 The second OS switching process of switching to the second OS is executed.
[0386]
In step SX5, the transmission processing unit 22 1 Continues the first transmission process. That is, in step SSF3 shown in FIG. 1 Calls the NIC transmission processing unit 11 and issues a transmission command. In step SSF4, the transmission processing unit 22 1 Determines whether or not an NIC transmission completion interrupt has occurred in the NIC 10. In this case, the determination result is “No”, and the same determination is repeated.
[0387]
When the NIC transmission processing unit 11 is called in step SSF3 (see FIG. 61), the OS 30 2 From OS30 1 After switching to, in step SX6 shown in FIG. 50, NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether or not a transmission command has been received from, and in this case, the determination result is “Yes”.
[0388]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 1 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 2 To the network 50.
[0389]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0390]
Thereby, the transmission processing unit 22 1 Makes the determination result of step SSF4 shown in FIG. 61 "Yes". In step SSF5, the transmission processing unit 22 1 Is a transmission buffer register rewriting processing unit 27 2 The value of the transmission buffer register 15 is 1 From the transmission buffer 23 2 To be rewritten. In step SSF6, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call.
[0391]
As a result, in step SX7 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0392]
In step SX8, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 2 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the packet is sent to the reception buffer 25 by the NIC reception processing unit 13. 2 Is stored in
[0393]
In step SX9, the OS 30 2 The second side performs the second receiving process. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0394]
In step SSD5, the reception processing unit 24 2 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to In step SSD6, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 A data check is performed on the packet stored in the. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0395]
In this case, it is assumed that the check result is normal, and in step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “Yes”. In step SSD7, the reception processing unit 24 2 Is the reception buffer 25 2 From OS30 2 Copy the packet to
[0396]
(Operation Example 6 of Third Embodiment)
Next, an operation example 6 of the third embodiment will be described with reference to FIG. 51 and FIG. This operation example 6 corresponds to the OS 30 shown in FIG. 1 This is an operation when a packet is transmitted from to the other device connected to the network 50.
[0397]
In step SY1 shown in FIG. 52, a first transmission process is executed. Specifically, in step SSF1 shown in FIG. 1 Is OS30 1 The destination IP address (in this case, the IP address of the other device) of the packet to be transmitted passed from the 2 After replacing with the IP address of the 1 To be stored. The IP address of the other device before replacement is stored in the data area of the packet.
[0398]
In step SSF2, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call. Thereby, in step SY2 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0399]
In step SY3, the transmission buffer register rewriting processing unit 27 2 Is OS30 1 From OS30 2 The transmission buffer register rewriting process is executed with the switching to the trigger as a trigger.
[0400]
More specifically, in step SSC1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the transmission buffer register rewriting processor 27 2 Sets the determination result of step SSC1 to "Yes".
[0401]
In step SSC2, the transmission buffer register rewriting processor 27 2 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to
[0402]
In step SY4 shown in FIG. 2 Is called. Thereby, the OS switching processing unit 21 2 Changes the OS to OS30 2 From OS30 1 The second OS switching process of switching to the second OS is executed.
[0403]
In step SY5, the transmission processing unit 22 1 Continues the first transmission process. That is, in step SSF3 shown in FIG. 1 Calls the NIC transmission processing unit 11 and issues a transmission command. In step SSF4, the transmission processing unit 22 1 Determines whether a NIC transmission completion interrupt has occurred in the NIC 10, and in this case, the determination result is “No”.
[0404]
Further, when the NIC transmission processing unit 11 is called in step SSF3, the NIC transmission processing is executed in step SY6 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 1 Or the transmission processing unit 22 2 It is determined whether or not a transmission command has been received from, and in this case, the determination result is “Yes”.
[0405]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 2 To the network 50.
[0406]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0407]
Thereby, the transmission processing unit 22 1 Makes the determination result of step SSF4 shown in FIG. 61 "Yes". In step SSF5, the transmission processing unit 22 1 Is a transmission buffer register rewriting processing unit 27 2 The value of the transmission buffer register 15 is 1 From the transmission buffer 23 2 To be rewritten. In step SSF6, the transmission processing unit 22 1 Is the OS switching processing unit 21 1 Call.
[0408]
Accordingly, in step SY7 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0409]
In step SY8, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC reception processing unit 13 of the NIC 10 shown in FIG. 2 After the packet addressed to it is received, it is stored in the reception buffer 14. Next, the NIC reception processing unit 13 replaces the transmission destination IP address of the packet with the IP address of another device, and then stores the packet in the reception buffer 25. 2 To be stored.
[0410]
In step SY9, the OS 30 2 The second side performs the second receiving process. Specifically, in step SSD1 shown in FIG. 59, the NIC device driver 20 2 Reception processing unit 24 2 Is the reception buffer 25 2 The source IP address of the packet stored in OS 30 1 Is determined, and in this case, the determination result is “Yes”. In step SSD5, the reception processing unit 24 2 Stores the value of the transmission buffer register 15 in the transmission buffer 23 1 From the transmission buffer 23 2 Rewrite to
[0411]
In step SSD6, the reception processing unit 24 2 Is the data check processing unit 26 2 And receive buffer 25 2 A data check is performed on the packet stored in the. If the check result is abnormal, an alarm is raised and a series of processing is interrupted.
[0412]
In this case, it is assumed that the check result is normal, and in step SSD2, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 2 Is determined, and in this case, the determination result is “No”. In step SSD3, the reception processing unit 24 2 Indicates that the destination IP address of the packet is OS30 1 Is determined, and in this case, the determination result is “No”. In step SSD4, the reception processing unit 24 2 Determines whether the destination IP address of the packet corresponds to another device, and in this case, the determination result is “Yes”.
[0413]
In step SSD13, the reception processing unit 24 2 Is the reception buffer 25 2 From the transmission buffer 23 2 Copy the packet to In step SSD14, the reception processing unit 24 2 Is the transmission processing unit 22 2 Call.
[0414]
Thereby, the second transmission process is executed in step SY10 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the transmission buffer 23 2 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “No”.
[0415]
In step SL2, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11 of the NIC 10. In step SL3, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0416]
Thus, in step SY11 shown in FIG. 52, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0417]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (addressed to another device) in the transmission buffer 12 to the network 50. Thereby, the packet is received by another device via the network 50.
[0418]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0419]
(Operation Example 7 of Third Embodiment)
Next, an operation example 7 of the third embodiment will be described with reference to FIGS. This operation example 7 corresponds to the OS 30 shown in FIG. 2 This is an operation when a packet is transmitted from to the other device connected to the network 50.
[0420]
In step SZ1 shown in FIG. 54, a second transmission process is performed. Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from OS 30 1 It is determined whether it corresponds to. In this case, in this case, it is assumed that the destination IP address of the packet corresponds to another device, and the transmission processing unit 22 2 Makes the determination result of step SL1 "No".
[0421]
In step SL2, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL3, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0422]
Thus, in step SZ2 shown in FIG. 54, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0423]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (addressed to another device) in the transmission buffer 12 to the network 50. Thus, the packet is received by another device via the network 50.
[0424]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0425]
(Operation Example 8 of Embodiment 3)
Next, an operation example 8 of the third embodiment will be described with reference to FIGS. This operation example 8 corresponds to the OS 30 shown in FIG. 2 From OS30 1 This is an operation when a packet is transmitted to the server.
[0426]
In step SSA1 shown in FIG. 2 Is OS30 2 OS 30 passed by 1 Data check such as virus check is performed on the packet addressed to. If the check result is normal, a second transmission process is executed in step SSA2.
[0427]
Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0428]
In step SL4, the transmission processing unit 22 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 2 To receive buffer 25 1 Rewrite to In step SL5, the transmission processing unit 22 2 Releases the NIC reception interrupt prohibition.
[0429]
In step SL6, the transmission processing unit 22 2 Issues a reception prohibition release command to the NIC 10. Thereby, the reception prohibition in the NIC 10 is released. In step SL7, the transmission processing unit 22 2 Calls the NIC transmission processing unit 11. In step SL8, the transmission processing unit 22 2 Transfers the transmission command to the NIC transmission processing unit 11 and generates an NIC transmission interrupt.
[0430]
Thus, in step SSA3 shown in FIG. 56, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC transmission processing unit 11 2 , The judgment result is “Yes”.
[0431]
In step SI2, the NIC transmission processing unit 11 transmits the transmission buffer 23 corresponding to the transmission buffer register 15. 2 Is copied to the transmission buffer 12. In step SI3, the NIC transmission processing unit 11 transmits the packet (the OS 30 1 To the network 50.
[0432]
In step SI4, the NIC transmission processing unit 11 executes the running OS (in this case, the OS 30 2 ), The NIC 10 generates an NIC transmission completion interrupt indicating the completion of packet transmission.
[0433]
Further, in step SL9 shown in FIG. 2 Is the OS switching processing unit 21 2 Call. Accordingly, in step SSA4 shown in FIG. 2 Changes the OS to OS30 2 From OS30 1 A second OS switching process of switching to is performed.
[0434]
Then, after the switching, in step SSA5, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC reception processing unit 13 sets the determination result of step SJ1 shown in FIG. 23 to “Yes” and then sets the determination result of step SJ2 to “No”.
[0435]
In step SJ3, the NIC reception processing unit 13 1 After receiving the packet addressed to it, the packet is stored in the reception buffer 14. In step SJ4, the NIC reception processing unit 13 stores the packet in the reception buffer 14 into the reception buffer 25 corresponding to the reception buffer register 16. 1 Copy to
[0436]
In step SJ5, the NIC reception processing unit 13 executes the running OS (in this case, the OS 30 1 ), The NIC 10 generates a NIC reception completion interrupt indicating completion of packet reception.
[0437]
Thereby, the OS 30 1 On the side, the first reception processing is executed in step SSA6 shown in FIG. Specifically, in step SSE1 shown in FIG. 1 Reception processing unit 24 1 Is the reception buffer 25 1 Destination IP address of the packet stored in the OS 30 1 Is determined, and in this case, the determination result is “Yes”.
[0438]
In step SSE3, the reception processing unit 24 1 Issues a reception prohibition command to the NIC 10. In step SSE4, the NIC reception interrupt is prohibited. In step SSE5, the reception processing unit 24 1 Is the reception buffer 25 1 From OS30 1 Copy the packet to
[0439]
In step SSE6, the reception processing unit 24 1 Is the OS switching processing unit 21 1 Call. In step SSE7, the reception processing unit 24 1 Releases the NIC reception interrupt prohibition. In step SSE8, the reception processing unit 24 1 Issues a reception prohibition release command to the NIC 10.
[0440]
In step SSA7 shown in FIG. 56, the OS switching processing unit 21 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed. In step SSA8, the reception buffer register rewriting processor 28 2 Is OS30 1 From OS30 2 The rewriting process is executed by using the switch to the trigger as a trigger.
[0441]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. In this case, the determination result is “Yes”.
[0442]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Stores the value of the reception buffer register 16 in the reception buffer 25. 1 To receive buffer 25 2 Rewrite to
[0443]
In step SSA9 shown in FIG. 56, the OS switching processing unit 21 2 Is called. Thereby, the OS switching processing unit 21 2 Changes the OS to OS30 1 From OS30 2 The second OS switching process of switching to the second OS is executed.
[0444]
As described above, according to the third embodiment, regarding the setting of the connection destination of the transmission buffer 12 and the reception buffer 14, the OS 30 2 OS 30 that does not have the authority 1 The possibility of external attacks on the side is extremely low, and the security and reliability of the multi-operating system can be significantly improved.
[0445]
FIGS. 62A to 62D are diagrams for explaining application examples 1 to 4 of the above-described first to third embodiments. Application example 1 shown in FIG. 62A is an example in which new and old OSs coexist and are used at the time of system renewal. The new OS is, for example, OS 30 1 It corresponds to. On the other hand, the old OS is OS30 2 It corresponds to.
[0446]
The application example 2 shown in FIG. 62B is an example in which a new function is speed-developed on the source-public OS without utilizing the source-public OS and waiting for the release of the source non-public OS. The source non-public OS is an operating system whose source code is not disclosed. 1 It corresponds to. On the other hand, the source open OS is an operating system whose source code is open, and the OS 30 2 It corresponds to.
[0447]
Application example 3 shown in FIG. 62C is an example in which a dedicated OS and a general-purpose OS coexist. The dedicated OS shares functions specializing in real-time properties and the like. 1 It corresponds to. On the other hand, the general-purpose OS is Windows (registered trademark) of Microsoft Corporation or the like, which shares GUI functions, 2 It corresponds to.
[0448]
Application example 4 shown in FIG. 62D is an example in which resources are divided, and uses different methods depending on the purpose of use of OS1 and OS2. OS1 is, for example, OS30 1 It corresponds to. On the other hand, OS2 is 2 It corresponds to.
[0449]
FIG. 63 is a diagram illustrating a case where the first to third embodiments are applied to system migration. In the figure, in the conventional migration work, it is necessary to migrate all the modules of the old OS mounted on the old terminal to the new OS of the new terminal at a time, and there is a concern about safety.
[0450]
On the other hand, if there is a multi-operating system, each module of the old OS installed in the old terminal is transferred to the old OS of the intermediate terminal while confirming safety. Next, in the intermediate terminal, each module of the old OS is transferred to the new OS while confirming the security.
[0451]
Next, all the modules of the new OS of the intermediate terminal are transferred at once to the new OS of the new terminal. In this case, no problem occurs because the transition is between new OSs. The transition by the multi-OS is effective when a new function is quickly added to a specific module.
[0452]
FIG. 64 is a diagram illustrating a case where the first to third embodiments are applied to a high security gateway. In the figure, the hardware includes a multi-operating system (OS1 and OS2) and is connected to the Internet via a NIC (network interface card). This hardware functions as a high security gateway.
[0453]
The OS 1 manages an AP (application program) 1 used by a user and stores a communication log in a DK (disk) 1. On the other hand, the OS 2 monitors a communication packet from the Internet and accumulates a monitoring log in the DK 2.
[0454]
In the OS 2, the NIC is directly controlled to perform communication. For this reason, the OS2 provides the OS1 with a pseudo NIC-I / F that simulates an interface for providing software to the NIC in order to support the communication of the OS1. AP2 is an application program for collecting packet monitoring logs, and operates on OS2.
[0455]
The AP 2 does not infect the virus because it only looks at the communication packet from the outside and does not process the execution code included in the communication packet. The monitoring log stored in the DK2 is not falsified by a malicious third party. Therefore, it is possible to leave a trace of the attack.
[0456]
Here, when a security attack is performed on the environment of the user (such as the OS1), the communication log of the OS1 may be falsified. However, in the first to third embodiments, since the monitoring logs of the OS1 and the OS2 are separately managed by the multi-operating system, it is possible to track an attacker. Thereby, an effect of suppressing an attack on the security gateway can be expected.
[0457]
FIG. 65 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a desktop Grid terminal. In FIG. 1, the hardware includes a multi-operating system (OS1 and OS2), and is connected to the Internet via an NIC. A Grid server is connected to the Internet. The hardware functions as a desktop grid terminal.
[0458]
The desktop grid terminal is a terminal for performing a desktop grid calculation for realizing the calculation by allocating a part of a large calculation while the user does not use the computer. Here, from the user's point of view, there is a concern that the above-mentioned calculation whose contents are unknown will adversely affect its own computer environment.
[0459]
Therefore, in the same figure, the above adverse effect can be eliminated by managing its own computer environment by OS1 and managing the grid calculation processing environment by OS2. That is, all data and programs used in the Grid calculation are managed and executed only under the control of the OS 2. On the other hand, access to computer resources such as DK1 and MEM (memory) 1 under the control of OS1 is not permitted. Therefore, adverse effects from the grid calculation program are eliminated.
[0460]
FIG. 66 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a remote management terminal. In FIG. 1, the hardware includes a multi-operating system (OS1 and OS2) and is connected to a network via an NIC. A system administrator machine and other machines are connected to the network. The hardware functions as a remote management terminal.
[0461]
In the figure, a category that can be managed by a user is limited to OS1, and management of OS2 is performed by a system administrator machine via a network. This allows the system administrator to construct a default environment for a personal computer used in an office environment or the like under the control of the OS 2, while setting the environment to be used according to the personal preference or situation of the user under the control of the OS 1. Can be built with
[0462]
Therefore, it is possible to prevent the environment prepared by the system from causing an operation failure due to the user's personal environment setting. The OS 2 is managed by a system administrator on a system administrator machine and provides an environment designed on the system side. When using the environment, the user reads the file information of OS2 into OS1 and starts it, or requests OS2 to start it and executes it in a client / server mode.
[0463]
FIG. 67 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a high-efficiency network service providing terminal. In FIG. 1, the hardware includes a multi-operating system (OS1 and OS2) and is connected to a network via an NIC. A content provider server and other machines are connected to the network. The hardware functions as a highly efficient network service providing terminal.
[0464]
In the figure, the high-efficiency network service providing terminal is similar to the remote management terminal (see FIG. 66), in which one OS1 is under the management of the user and the other OS2 is under the management of the net service. Is a terminal that distributes in advance the content under the management of OS2 (DK2) and realizes the immediate use of the content from the DK1 managed by OS1 at the release time.
[0465]
After the content is distributed from the content provider server to the DK2 under the management of the OS2 via the network, the content is provided from the DK2 to the DK1 under the management of the OS1 at the request of the user, and the content can be used immediately. . In this way, in the content provider server, concentration of download access is prevented by pre-delivery.
[0466]
FIG. 68 is a diagram illustrating a case where the first to third embodiments are applied to a high-security Web service providing server. In FIG. 1, the hardware includes a multi-operating system (OS1 and OS2) and is connected to a network via an NIC. A web browsing terminal is connected to the network. The hardware functions as a high security Web service providing server.
[0467]
In the high security Web service providing server shown in FIG. 1, an environment accessible from outside is OS2, and an environment accessible only by local users is OS1.
[0468]
For example, Web published contents and usage logs are stored in the DK2 managed by the OS2. On the other hand, data that is not desired to be disclosed is stored in the DK1 under the management of the OS1. In this case, it is possible to avoid a situation in which information that is not desired to be disclosed is erroneously disclosed on the Web due to a setting error or the like. Further, even when the OS2 side is attacked by a malicious third party from the outside, the OS1 can operate except for the network function.
[0469]
Although the first to third embodiments according to the present invention have been described in detail with reference to the drawings, specific examples of the configuration are not limited to the first to third embodiments and depart from the gist of the present invention. Even if there is a design change within the range not to be included, it is included in the present invention.
[0470]
For example, in the above-described first to third embodiments, a program for realizing the above-described multi-operating system control method is recorded on the computer-readable recording medium 200 shown in FIG. Each function may be realized by causing the computer 100 shown in the figure to read the executed program and executing the program.
[0471]
The computer 100 shown in FIG. 1 includes a CPU 110 that executes the above-described program, an input device 120 such as a keyboard and a mouse, a ROM (Read Only Memory) 130 that stores various data, and a RAM (Random) that stores calculation parameters and the like. Access Memory) 140, a reading device 150 that reads a program from the recording medium 200, an output device 160 such as a display and a printer, and a bus 170 that connects each unit of the device.
[0472]
After reading the program recorded on the recording medium 200 via the reading device 150, the CPU 110 executes the program to realize the functions described above. Note that the recording medium 200 includes an optical disk, a flexible disk, a hard disk, and the like.
[0473]
In the first and second embodiments, the two operating systems 30 shown in FIG. 1 , OS30 2 However, the present invention also includes a configuration example having three or more OSs.
[0474]
For example, in the case of a configuration having n OSs of OS1, OS2, OS3,..., OSn, when an interrupt (1) occurs during the running of the OS1, the system switches from the OS1 to the OS2 and interrupts the running of the OS1 When (2) occurs, switching from OS1 to OS3 is performed, and similarly, control is performed so as to switch from OS1 to OSn when an interruption (n-1) occurs during the running of OS1.
[0475]
【The invention's effect】
As described above, according to the present invention, the normal connection destination in the storage means for temporarily storing data to be communicated is set to the second operating system, and the data to be communicated is stored in the first operating system. In the related case, the connection destination of the storage unit for temporarily storing data is set to the first operating system via the second operating system, so that the first operating system and the second operating system can be connected during communication. It is possible to avoid the possibility that the system is simultaneously attacked from the outside, and it is possible to improve the security and reliability of the multi-operating system.
[0476]
Further, according to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is established via the second operating system. Since the first operating system is set, it is possible to improve the security and reliability of the multi-operating system in data communication addressed to the first operating system.
[0477]
Further, according to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is directly transmitted to the first operating system without relaying the second operating system. Since the transfer is performed, the communication processing can be speeded up.
[0478]
According to the present invention, when data addressed to the second operating system is stored in the storage unit while the first operating system is being executed, switching from the first operating system to the second operating system is performed. Therefore, the effect is obtained that the security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0479]
Further, according to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the first operating system, the connection destination of the storage unit is relayed to the second operating system. Therefore, the security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0480]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second connection destination as a normal connection destination. After the setting is changed from the operating system to the first operating system and the data from the first operating system is stored in the storage, the connection destination of the storage is changed from the first operating system to the second operating system. Therefore, there is an effect that security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0481]
Further, according to the present invention, when communication from the first operating system to another device is performed, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination. After changing the setting to the first operating system, storing data from the first operating system in the storage means, and changing the connection destination of the storage means from the first operating system to the second operating system. Therefore, there is an effect that security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0482]
Further, according to the present invention, when the reliability of the data is equal to or more than a pre-registered value, the data stored in the storage unit is not changed without changing the setting, and without relaying the second operating system. Is transmitted directly to another device, so that the communication processing can be speeded up.
[0483]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the operating system to the first operating system, it is possible to improve the security and reliability of the multi-operating system in data communication from the second operating system to the first operating system. Play.
[0484]
Further, according to the present invention, the normality of the data is checked and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved. Play.
[0485]
Further, according to the present invention, since only the second operating system is authorized to set the connection destination of the storage unit, the first operating system having no authority can be attacked from outside. And the security and reliability of the multi-operating system can be significantly improved.
[0486]
Further, according to the present invention, since the multi-operating system control method according to any one of claims 1 to 11 is executed by a computer, the program can be read by a computer. 11 has the effect that the operation of the invention described in any one of the eleventh aspect can be executed by a computer.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a first exemplary embodiment according to the present invention.
FIG. 2 is a block diagram illustrating an operation outline 1 according to the first embodiment.
FIG. 3 is a block diagram illustrating an operation outline 2 according to the first embodiment.
FIG. 4 is a block diagram illustrating an outline 3 of operation in the first embodiment.
FIG. 5 is a block diagram illustrating an operation outline 4 in the first embodiment.
FIG. 6 is a block diagram illustrating an operation example 1 according to the first embodiment.
FIG. 7 is a flowchart illustrating an operation example 1 according to the first embodiment.
FIG. 8 is a block diagram illustrating an operation example 2 according to the first embodiment.
FIG. 9 is a flowchart illustrating an operation example 2 in the first embodiment.
FIG. 10 is a block diagram illustrating an operation example 3 in the first embodiment.
FIG. 11 is a flowchart illustrating an operation example 3 in the first embodiment.
FIG. 12 is a block diagram illustrating an operation example 4 in the first embodiment.
FIG. 13 is a flowchart illustrating an operation example 4 in the first embodiment.
FIG. 14 is a block diagram illustrating an operation example 5 in the first embodiment.
FIG. 15 is a flowchart illustrating an operation example 5 in the first embodiment.
FIG. 16 is a block diagram illustrating an operation example 6 in the first embodiment.
FIG. 17 is a flowchart illustrating an operation example 6 in the first embodiment.
FIG. 18 is a block diagram illustrating an operation example 7 in the first embodiment.
FIG. 19 is a flowchart illustrating an operation example 7 in the first embodiment.
FIG. 20 is a block diagram illustrating an operation example 8 in the first embodiment.
FIG. 21 is a flowchart illustrating an operation example 8 in the first embodiment.
FIG. 22 is a flowchart illustrating NIC transmission processing.
FIG. 23 is a flowchart illustrating NIC reception processing.
FIG. 24 is a flowchart illustrating a second reception process.
FIG. 25 is a flowchart illustrating a second transmission process.
FIG. 26 is a flowchart illustrating a first reception process.
FIG. 27 is a flowchart illustrating a first transmission process.
FIG. 28 is a block diagram illustrating an operation example 1 of the second embodiment according to the present invention;
FIG. 29 is a flowchart illustrating an operation example 1 of the second embodiment.
FIG. 30 is a block diagram illustrating an operation example 2 of the second embodiment.
FIG. 31 is a flowchart illustrating an operation example 2 of the second embodiment.
FIG. 32 is a block diagram illustrating an operation example 3 of the second embodiment.
FIG. 33 is a flowchart illustrating an operation example 3 of the second embodiment.
FIG. 34 is a flowchart illustrating a second reception process.
FIG. 35 is a flowchart illustrating a first transmission process.
FIG. 36 is a block diagram showing a configuration of a third exemplary embodiment of the present invention.
FIG. 37 is a block diagram illustrating an operation outline 1 according to the third embodiment.
FIG. 38 is a block diagram illustrating an outline of operation 2 in the third embodiment.
FIG. 39 is a block diagram illustrating an outline of operation 3 in the third embodiment.
FIG. 40 is a block diagram illustrating an outline of operation 4 in the third embodiment.
FIG. 41 is a block diagram illustrating an operation example 1 of the third embodiment.
FIG. 42 is a flowchart illustrating an operation example 1 of the third embodiment.
FIG. 43 is a block diagram illustrating an operation example 2 of the third embodiment.
FIG. 44 is a flowchart illustrating an operation example 2 of the third embodiment.
FIG. 45 is a block diagram illustrating an operation example 3 of the third embodiment.
FIG. 46 is a flowchart illustrating an operation example 3 of the third embodiment.
FIG. 47 is a block diagram illustrating an operation example 4 of the third embodiment.
FIG. 48 is a flowchart illustrating an operation example 4 of the third embodiment.
FIG. 49 is a block diagram illustrating an operation example 5 of the third embodiment.
FIG. 50 is a flowchart illustrating an operation example 5 of the third embodiment.
FIG. 51 is a block diagram illustrating an operation example 6 of the third embodiment.
FIG. 52 is a flowchart illustrating an operation example 6 of the third embodiment.
FIG. 53 is a block diagram illustrating an operation example 7 of the third embodiment.
FIG. 54 is a flowchart illustrating an operation example 7 of the third embodiment.
FIG. 55 is a block diagram illustrating an operation example 8 of the third embodiment.
FIG. 56 is a flowchart illustrating an operation example 8 of the third embodiment.
FIG. 57 is a flowchart illustrating a reception buffer register rewriting process.
FIG. 58 is a flowchart illustrating a transmission buffer register rewriting process.
FIG. 59 is a flowchart illustrating a second reception process.
FIG. 60 is a flowchart illustrating a first reception process.
FIG. 61 is a flowchart illustrating a first transmission process.
FIG. 62 is a diagram illustrating applied examples 1 to 4 of the first to third embodiments according to the present invention.
FIG. 63 is a diagram illustrating a case where the first to third embodiments are applied to system migration;
FIG. 64 is a diagram illustrating a case where the first to third embodiments are applied to a high security gateway.
FIG. 65 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a desktop Grid terminal.
FIG. 66 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a remote management terminal.
FIG. 67 is a diagram illustrating a case where Embodiments 1 to 3 are applied to a high-efficiency network service providing terminal.
FIG. 68 is a diagram illustrating a case where the first to third embodiments are applied to a high security Web service providing server.
FIG. 69 is a block diagram showing a configuration of a modification of the first to third embodiments.
FIG. 70 is a block diagram illustrating a configuration example 1 of a conventional multi-operating system.
FIG. 71 is a block diagram illustrating a configuration example 2 of a conventional multi-operating system.
[Explanation of symbols]
10 NIC
11 NIC transmission processing unit
12 Transmission buffer
13 NIC reception processing unit
14 Receive buffer
15 Transmit buffer register
16 Receive buffer register
20 1 NIC device driver
21 1 OS switching processing unit
22 1 Transmission processing unit
23 1 Transmit buffer
24 1 Reception processing unit
25 1 Receive buffer
20 2 NIC device driver
21 2 OS switching processing unit
22 2 Transmission processing unit
23 2 Transmit buffer
24 2 Reception processing unit
25 2 Receive buffer
26 2 Data check processing unit
27 2 Transmission buffer register rewrite processing unit
28 2 Reception buffer register rewrite processing unit
30 1 OS
30 2 OS
100 computer
140 RAM

Claims (23)

一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
A normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is temporarily stored. Setting a connection destination of the storage means to be set to the first operating system via the second operating system;
A method for controlling a multi-operating system, comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When the data addressed to the first operating system is stored in the storage unit while the second operating system is running, the connection of the storage unit is changed to the first operation system via the second operating system. Setting process to set in the operating system,
A method for controlling a multi-operating system, comprising:
前記設定工程では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする請求項1または2に記載のマルチオペレーティングシステム制御方法。In the setting step, when the reliability of the data is equal to or greater than a value registered in advance, the data stored in the storage unit is transferred to the first operating system without relaying the second operating system. 3. The multi-operating system control method according to claim 1, wherein the data is directly passed. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、
前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
Setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
A step of switching from the first operating system to the second operating system when data addressed to the second operating system is stored in the storage unit during execution of the first operating system;
A method for controlling a multi-operating system, comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When data addressed to the first operating system is stored in a storage unit during execution of the first operating system, the connection destination of the storage unit is set to the first operating system via the second operating system. Configuration process to configure the operating system of the
A method for controlling a multi-operating system, comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to the second operating system, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. A first setting change step of changing settings to the operating system of
A storing step of storing data from the first operating system in the storing means;
A second setting change step of changing the connection destination of the storage means from the first operating system to the second operating system;
A method for controlling a multi-operating system, comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、
前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to another device, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. A first setting change step of changing a setting;
A storing step of storing data from the first operating system in the storing means;
A second setting change step of changing the connection destination of the storage means from the first operating system to the second operating system;
A transmission step of transmitting the data stored in the storage means to the other device via the second operating system,
A method for controlling a multi-operating system, comprising:
前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更工程では、前記設定変更を行わず、また、前記送信工程では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする請求項7に記載のマルチオペレーティングシステム制御方法。If the reliability of the data is equal to or greater than a value registered in advance, the setting change is not performed in the second setting change step, and the second operating system is not relayed in the transmission step. 8. The multi-operating system control method according to claim 7, wherein the data stored in the storage unit is directly transmitted to the other device. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、
前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。
A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
Setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
When performing communication from the second operating system to the first operating system, a storing step of storing data from the second operating system in the storing unit;
A setting change step of changing the connection destination of the storage means from the second operating system to the first operating system;
A method for controlling a multi-operating system, comprising:
前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック工程、を含むことを特徴とする請求項1〜9のいずれか一つに記載のマルチオペレーティングシステム制御方法。The multi-operating system control method according to any one of claims 1 to 9, further comprising a data check step of checking the normality of the data and continuing communication processing only when the data is normal. 前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする請求項1〜10のいずれか一つに記載のマルチオペレーティングシステム制御方法。11. The multi-operating system control method according to claim 1, wherein only the second operating system is authorized to set the connection destination of the storage unit. 請求項1〜11のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるプログラム。A program for causing a computer to execute the multi-operating system control method according to claim 1. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
A normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is temporarily stored. Setting means for setting the connection destination of the storage means to be set to the first operating system via the second operating system;
A multi-operating system control device characterized by comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When the data addressed to the first operating system is stored in the storage unit while the second operating system is running, the connection of the storage unit is changed to the first operation system via the second operating system. Setting means for setting in the operating system,
A multi-operating system control device characterized by comprising:
前記設定手段では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする請求項13または14に記載のマルチオペレーティングシステム制御装置。In the setting unit, when the reliability of the data is equal to or more than a value registered in advance, the data stored in the storage unit is transferred to the first operating system without relaying the second operating system. The multi-operating system control device according to claim 13, wherein the multi-operating system control device is passed directly. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、
前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
Setting means for setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
Switching means for switching from the first operating system to the second operating system when data addressed to the second operating system is stored in the storage means during execution of the first operating system;
A multi-operating system control device characterized by comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When data addressed to the first operating system is stored in a storage unit during execution of the first operating system, the connection destination of the storage unit is set to the first operating system via the second operating system. Setting means for setting the operating system of the
A multi-operating system control device characterized by comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to the second operating system, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. First setting change means for changing the setting to the operating system of
Storage control means for storing data from the first operating system in the storage means;
Second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system;
A multi-operating system control device characterized by comprising:
一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、
前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to another device, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. First setting change means for changing the setting;
Storage control means for storing data from the first operating system in the storage means;
Second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system;
A transmission unit that relays the data stored in the storage unit to the other device by relaying the second operating system;
A multi-operating system control device characterized by comprising:
前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更手段では、前記設定変更を行わず、また、前記送信手段では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする請求項19に記載のマルチオペレーティングシステム制御装置。When the reliability of the data is equal to or greater than a value registered in advance, the second setting change unit does not change the setting, and the transmitting unit does not relay the second operating system. 20. The multi-operating system control device according to claim 19, wherein the data stored in the storage unit is directly transmitted to the other device. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、
前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。
A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
Setting means for setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
A storage control unit configured to store data from the second operating system in the storage unit when performing communication from the second operating system to the first operating system;
Setting change means for changing the connection destination of the storage means from the second operating system to the first operating system;
A multi-operating system control device characterized by comprising:
前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック手段、を備えたことを特徴とする請求項13〜21のいずれか一つに記載のマルチオペレーティングシステム制御装置。22. The multi-operating system control device according to claim 13, further comprising a data check unit that checks the normality of the data and continues communication processing only when the data is normal. . 前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする請求項13〜22のいずれか一つに記載のマルチオペレーティングシステム制御装置。23. The multi-operating system control device according to claim 13, wherein an authority is given only to the second operating system with respect to the setting of the connection destination of the storage unit.
JP2003043312A 2003-02-20 2003-02-20 Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system Pending JP2004252776A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003043312A JP2004252776A (en) 2003-02-20 2003-02-20 Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003043312A JP2004252776A (en) 2003-02-20 2003-02-20 Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system

Publications (1)

Publication Number Publication Date
JP2004252776A true JP2004252776A (en) 2004-09-09

Family

ID=33026346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003043312A Pending JP2004252776A (en) 2003-02-20 2003-02-20 Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system

Country Status (1)

Country Link
JP (1) JP2004252776A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783810B2 (en) 2006-02-01 2010-08-24 Sony Corporation Apparatus and method of processing information
US8718629B2 (en) 2006-07-18 2014-05-06 Nec Corporation Information communication processing device, information communication terminal, information communication system, function switching method and function switching program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783810B2 (en) 2006-02-01 2010-08-24 Sony Corporation Apparatus and method of processing information
US8718629B2 (en) 2006-07-18 2014-05-06 Nec Corporation Information communication processing device, information communication terminal, information communication system, function switching method and function switching program
JP5621191B2 (en) * 2006-07-18 2014-11-05 日本電気株式会社 Information communication processing device, information communication terminal, information communication system, function switching method, and function switching program

Similar Documents

Publication Publication Date Title
US11824962B2 (en) Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
CN1924863B (en) Method and system for operating software configured for internet access on a remote computer
US6253334B1 (en) Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6314525B1 (en) Means for allowing two or more network interface controller cards to appear as one card to an operating system
US20180039507A1 (en) System and method for management of a virtual machine environment
CN115473907A (en) Method and system for facilitating inter-container communication via cloud exchange
JP2006107500A (en) Updating software during its execution
Nakao et al. CoreLab: An emerging network testbed employing hosted virtual machine monitor
US20150277953A1 (en) Using virtual local area networks in a virtual computer system
US6170015B1 (en) Network apparatus with Java co-processor
KR20070032734A (en) Physical device sharing between multiple clients
CN113127077B (en) Server-based microkernel operating system deployment method and operating system
US9325666B2 (en) Securely virtualizating network services
CN114363170A (en) Container service network configuration method and related product
JP2014195178A (en) Information processing device, transmission control method, and transmission control program
CN113312141B (en) Computer system, storage medium and method for offloading serial port simulation
Ribiere Emulation of obsolete hardware in open source virtualization software
JP2007221364A (en) Expansion method of controller, control system, and control device
JP2004252776A (en) Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system
Richardson et al. Maverick: Providing web applications with safe and flexible access to local devices
JP3863117B2 (en) Multi-operating system control method, program for causing computer to execute the method, and multi-operating system control device
Briegel et al. The Fermilab ACNET upgrade
JP3863094B2 (en) Multi-operating system control method, program for causing computer to execute the method, and multi-operating system control device
WO2024038605A1 (en) Management server, management method, and management program
CN101009594A (en) A virtual network system and its implementation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060502