JP2004252629A - マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法 - Google Patents

マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法 Download PDF

Info

Publication number
JP2004252629A
JP2004252629A JP2003040925A JP2003040925A JP2004252629A JP 2004252629 A JP2004252629 A JP 2004252629A JP 2003040925 A JP2003040925 A JP 2003040925A JP 2003040925 A JP2003040925 A JP 2003040925A JP 2004252629 A JP2004252629 A JP 2004252629A
Authority
JP
Japan
Prior art keywords
operating system
processing
grid
execution
interrupt
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
JP2003040925A
Other languages
English (en)
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 JP2003040925A priority Critical patent/JP2004252629A/ja
Publication of JP2004252629A publication Critical patent/JP2004252629A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】高い安全性を確保しつつグリッド処理を実行可能なシステムを提供する。
【解決手段】一つの計算機で稼動する第1のオペレーティングシステム30および第2のオペレーティングシステム20を制御するマルチオペレーティングシステム1であって、第1のオペレーティングシステム30は、通信回線200を介して、他の装置との共同処理を行う第1の処理手段と、第1の管理者を認証する第1の認証手段と、第1の認証手段が認証に成功した場合に、第1の処理手段による共同処理の実行を許可する第1の処理制御手段とを有し、第2のオペレーティングシステム20は、当該システム1内における単独処理を行う第2の処理手段と、第2の管理者を認証する第2の認証手段と、第2の認証手段が認証に成功した場合に、第2の処理手段による単独処理の実行を許可する第2の処理制御手段とを有する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、1つの計算機で2つのオペレーティングシステムが稼動するマルチオペレーティングシステム、およびマルチオペレーティングシステム制御方法に関する。
【0002】
【従来の技術】
通常の計算機では、一つのオペレーティングシステムのみが動作する。そして、オペレーティングシステムが計算機のプロセッサ、メモリ、二次記憶装置等の計算機資源を管理し、計算機が効率良く動作できるように資源スケジュールを実施している。オペレーティングシステムとしては、バッチ処理に優れるものや、TSS(Time Sharing System)に優れるもの、GUI(Graphical User Interface)に優れているものなど多種のものが知られている。
【0003】
複数のオペレーティングシステムを一台の計算機で同時に実行するいわゆるマルチオペレーティングシステムも開発されている。例えば、一台の計算機に、実際の業務に伴うオンライン処理を実行するオペレーティングシステムと、開発用のオペレーティングシステムとを搭載し、各オペレーティングシステムを実行するシステムが知られている。
【0004】
さらに、マルチオペレーティングシステムにおける不正アクセスを防止する技術も開示されている(例えば、特許文献1,特許文献2参照)。
【0005】
一方、ネットワークを介して複数の HYPERLINK ”http://e−words.jp/w/E382B3E383B3E38394E383A5E383BCE382BF.html” コンピュータを結ぶことで仮想的に高性能コンピュータをつくり、複数のコンピュータに並列処理を行わせる、いわゆるグリッドコンピューティングが知られている。グリッドコンピューティングによれば、一台一台のコンピュータの性能は低くとも、全体として高速に大量の処理を実行できる。近年では、ビジネス利用や学術研究など、グリッドコンピューテリングの利用の機会が検討されている。
【0006】
【特許文献1】
特開2002−318719号公報
【特許文献2】
特開2002−251326号公報
【0007】
【発明が解決しようとする課題】
グリッドコンピューティングを制御するグリッドサーバから悪意で、不正なアプリケーションが送り込まれる恐れがある。これにより、個人のコンピュータからの情報が盗まれる、または情報が破壊されるという問題が生じる。
【0008】
逆に、個人のコンピュータのユーザが誤操作や悪意などによりグリッドサーバから送られたアプリケーションを改ざんする恐れもある。アプリケーションが改ざんされた場合には、正しい結果がグリッドサーバに返送されないという問題が生じる。
【0009】
この発明は上記に鑑みてなされたもので、高い安全性を確保しつつグリッド処理を実行可能なシステムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、一つの計算機で稼動する、少なくとも第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステムであって、前記第1のオペレーティングシステムは、ネットワークを介して外部と通信する通信手段と、第1の管理者を認証する第1の認証手段と、前記第1の認証手段が認証に成功した場合に、前記通信手段を介して、他のコンピュータと仮想的に一体となって共同処理を行う第1の処理手段とを有し、前記第2のオペレーティングシステムは、第2の管理者を認証する第2の認証手段と、前記第2の認証手段が認証に成功した場合に、当該システム内における単独処理を行う第2の処理手段とを有することを特徴とする。
【0011】
この請求項1の発明によれば、第1のオペレーティングシステムと第2のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができる。
【0012】
また、請求項2にかかる発明は、請求項1に記載のマルチオペレーティングシステムであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムのいずれか一方の処理の実行を許可する実行管理手段をさらに備え、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムのうち前記実行管理手段に許可された一方のみが処理を実行することを特徴とする。
【0013】
この請求項2の発明によれば、切り替え制御手段は、第1のオペレーティングシステムおよび第2のオペレーティングシステムのいずれか一方にのみ実行権を与えるので、これにより、2つのオペレーティングシステムは、1つのハードウェア資源を時分割して有効に活用することができる。
【0014】
また、請求項3にかかる発明は、請求項1に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記通信手段が通信を開始すると、第1のオペレーティングシステムの処理の実行を許可し、前記第1のオペレーティングシステムの前記第1の処理手段は、実行管理手段から実行を許可された場合に、前記共同処理を実行することを特徴とする。
【0015】
この請求項3の発明によれば、通信手段は、グリッド処理などの共同処理を実行するオペレーティングシステム側にのみ割り当てられているので、外部から不正アクセスがあった場合であっても、その被害が第2のオペレーティングシステムに及ぶのを防ぐことができる。
【0016】
また、請求項4にかかる発明は、請求項3に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記通信手段が前記共同処理を統括する統括サーバから実行指示を取得した場合に、前記第1のオペレーティングシステムの処理の実行を許可することを特徴とする。
【0017】
この請求項4の発明によれば、グリッドサーバからの指示を取得したことを条件として第1のオペレーティングシステムに実行権を与えることができる。このように、所定のイベントによりオペレーティングシステムを切り替えることにより、不正アクセスなど一方のオペレーティングシステムにおける悪影響が他方に及ぶのを避けることができる。
【0018】
また、請求項5にかかる発明は、請求項2から4のいずれか一項に記載のマルチオペレーティングシステムであって、利用者からの指示を受け付けるユーザインターフェースをさらに備え、前記実行管理手段は、前記ユーザインターフェースが指示を受け付けない状態で、予め定められた時間が経過した場合に、前記第1のオペレーティングシステムの処理の実行を許可することを特徴とする。
【0019】
この請求項5の発明によれば、利用者から指示を受け付けない状態で、所定の時間が経過した場合に、第1のオペレーティングシステムに切り替えることができる。これにより、ユーザによる誤操作の影響が第1のオペレーティングシステムに及ぶのを避けることができる。
【0020】
また、請求項6にかかる発明は、請求項2から5のいずれか一項に記載のマルチオペレーティングシステムであって、前記実行管理手段は、前記第2のオペレーティングシステムの処理の実行が許可されており、かつ前記第2の処理手段が処理を実行しない状態で、予め定められた時間が経過した場合に、前記第1のオペレーティングシステムの処理を許可することを特徴とする。
【0021】
この請求項6の発明によれば、第2のオペレーティングシステムにおける処理がアイドル状態になった場合に、第1のオペレーティングシステムに切り替えることができる。これにより、ハードウェア資源を有効に活用することができる。
【0022】
また、請求項7にかかる発明は、請求項2から6のいずれか一項に記載のマルチオペレーティングシステムであって、利用者からの指示を受け付けるユーザインターフェースをさらに備え、前記実行管理手段は、前記ユーザインターフェースが利用者からの指示を受け付けると、前記第2のオペレーティングシステムに実行権を与えることを特徴とする。
【0023】
この請求項7の発明によれば、利用者からの指示を受け付けた場合に、第2のオペレーティングシステムに切り替えることができるので、ユーザの利便性を保つことができる。
【0024】
また、請求項8にかかる発明は、請求項2から7のいずれか一項に記載のマルチオペレーティングシステムであって、前記第1のオペレーティングシステムの前記第1の処理手段の実行が開始すると、時間計測を開始する時間計測手段をさらに備え、前記実行管理手段は、前記時間計測手段が予め定められた時間を計測すると、前記第2のオペレーティングシステムの実行を許可することを特徴とする。
【0025】
この請求項8の発明によれば、第1のオペレーティングシステムが所定の時間実行されると、第2のオペレーティングシステムに切り替えることができる。これにより、第1のオペレーティングシステムは、ハードウェア資源を時間単位で占有することができる。このように時間単位の実行を可能とすることにより、ひいては、時間チャージでのハードウェア資源のレンタルなども可能である。
【0026】
また、請求項9にかかる発明は、請求項1から8のいずれか一項に記載のマルチオペレーティングシステムであって、前記第1のオペレーティングシステムは、第1のメモリをさらに有し、前記第2のオペレーティングシステムは、前記第1のメモリと物理的に異なる領域に割り当てられた第2のメモリをさらに有することを特徴とする。
【0027】
この請求項9の発明によれば、第1のオペレーティングシステムおよび第2のオペレーティングシステムには、それぞれ物理的に異なるメモリが割り当てられている。したがって、一方に不正アクセスがあった場合でも、他方のメモリにその影響が及ぶのを避けることができる。
【0028】
また、請求項10にかかる発明は、請求項9に記載のマルチオペレーティングシステムであって、前記第1のオペレーティングシステムの前記第1のメモリは、予め定められた大きさの領域を有することを特徴とする。
【0029】
この請求項10の発明によれば、第1のオペレーティングシステムの第1のメモリは、予め定められた大きさの領域を有しているので、第2のオペレーティングシステムが大きな容量のメモリを必要とする場合であっても、第2のオペレーティングシステムに対して一定のメモリ容量が確保されているので、オペレーティングシステムが併存することにより、第2のオペレーティングシステムの処理効率が低下するのを避けることができる。
【0030】
また、請求項11にかかる発明は、請求項9または10に記載のマルチオペレーティングシステムであって、前記第1のメモリおよび前記第2のメモリの一方は、前記第1のオペレーティングシステムと前記第2のオペレーティングシステムとを切り替える切り替え命令を処理順番Nに対応付けて格納し、前記第1のメモリおよび前記第2のメモリの他方は、切り替え先のオペレーティングシステムにおける処理の命令を処理順番(N+1)に対応付けて格納し、前記実行管理手段は、前記処理順番に沿って、前記切り替え命令および前記処理の命令を実行することにより前記第1のオペレーティングシステムと前記第2のオペレーティングシステムとを切り替えることを特徴とする。
【0031】
この請求項11の発明によれば、切り替え処理命令と、切り替え先のオペレーティングシステムにおける処理とが連続して実行されるべく格納されているので、処理順番に沿って命令が実行されることにより、自動的にオペレーティングシステムを切り替えることができる。
【0032】
また、請求項12にかかる発明は、請求項1から11のいずれか一項に記載のマルチオペレーティングシステムであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムは、それぞれ前記第1のファイルシステムおよび前記第2のファイルシステムを有し、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムは、それぞれ前記第2のファイルシステムおよび前記第1のファイルシステムへのアクセスが禁止されていることを特徴とする。
【0033】
この請求項12の発明によれば、第1のオペレーティングシステムおよび第2のオペレーティングシステムは、それぞれ第2のファイルシステムおよび第1のファイルシステムへのアクセスが禁止されているので、一方に不正アクセスがあった場合であっても、他方のオペレーティングシステムのファイルシステムに不正アクセスの影響が及ぶのを避けることができる。
【0034】
また、請求項13にかかる発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム方法であって、前記第1のオペレーティングシステムが、ネットワークを介して外部と通信する通信ステップと、前記第1のオペレーティングシステムが、第1の管理者を認証する第1の認証ステップと、前記第1の認証ステップにおいて認証に成功した場合に、前記第1のオペレーティングシステムが、前記通信手段を介して他の装置との共同処理を行う第1の処理ステップと、前記第2のオペレーティングシステムが、第2の管理者を認証する第2の認証ステップと、前記第2の認証ステップにおいて認証に成功した場合に、当該システム内における単独処理を行う第2の処理ステップとを有することを特徴とする。
【0035】
この請求項13の発明によれば、第1のオペレーティングシステムと第2のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができる。
【0036】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるマルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法の好適な実施の形態を詳細に説明する。
【0037】
(実施の形態1)
図1は、この発明の実施の形態1であるマルチオペレーティングシステム1の全体構成を示すブロック図である。
【0038】
マルチオペレーティングシステム1は、一つのハードウェア10上に単独処理オペレーティングシステム(OS)20およびグリッド専用オペレーティングシステム(OS)30を搭載している。ここで、単独処理OS20は、例えば、Windows(R)などであってもよい。また、グリッド専用OS30は、例えばUNIX(R)やLinux(R)であってもよい。グリッド専用OS30は、単独処理OS20よりもセキュリティ面で優れたOSであることが望ましい。
【0039】
グリッド専用OS30は、グリッドミドルウェア32を搭載している。そして、グリッドミドルウェア32は、さらに第1グリッドアプリケーション(AP)34および第2グリッドアプリケーション(AP)35を搭載している。グリッドミドルウェア32は、第1グリッドAP34および第2グリッドAP35と、グリッド専用OS30との不一致を吸収し、グリッド30上での、第1グリッドAP34および第2グリッドAP35の実行を可能にする。
【0040】
単独処理OS20は、第1単独処理アプリケーション(AP)22および第2単独処理アプリケーション(AP)23を搭載している。単独処理OS20は、これらのプログラムを実行して当該マルチオペレーティングシステム1における独立した処理である単独処理を行う。
【0041】
ここで、グリッド専用OS30および単独処理OS20は、それぞれ本発明の第1のオペレーティングシステムおよび第2のオペレーティングシステムを構成する。
【0042】
グリッド専用OS30は、ネットワーク200を介してグリッドサーバ2と通信し、他の装置と共同してグリッド処理を行う。なお、グリッドサーバ2は、本発明の統括サーバを構成する。
【0043】
ここで、グリッド処理とは、ネットワーク200を介して複数の HYPERLINK ”http://e−words.jp/w/E382B3E383B3E38394E383A5E383BCE382BF.html” コンピュータを結ぶことで仮想的に高性能コンピュータをつくり、複数のコンピュータに処理の一部を行わせる並列処理のことである。ユーザがコンピュータを利用しない間に、当該コンピュータに大きな計算の一部を割り当てることができる。このように、複数のコンピュータが並列処理を行うことにより、短時間で大量の処理を実行できる。
【0044】
図2は、図1に示したマルチオペレーティングシステム1の機能構成を示すブロック図である。グリッドミドルウェア32は、実行スケジュール管理部320と、コマンド送受信部322と、ファイルアクセス制御部324と、認証部326とを有している。
【0045】
実行スケジュール管理部320は、第1グリッドAP34および第2グリッドAP35により実行されるグリッド処理のスケジュールを管理する。コマンド送受信部322は、例えばグリッドサーバ2など外部から取得したコマンドを第1グリッドAP34または第2グリッドAP35に送る。コマンド送受信部322はまた、第1グリッドAP34または第2グリッドAP35から取得したコマンドをグリッド専用OS30に送る。
【0046】
ファイルアクセス制御部324は、第1グリッドAP34および第2グリッドAP35からのファイルアクセスを制御する。認証部326は、グリッドサーバ2から取得した認証用パケットの認証を行う。
【0047】
単独処理OS20は、グリッド専用OS30と同様に実行スケジュール管理部220と、コマンド送受信部222と、ファイルアクセス制御部224と、認証部226とを有している。なお、各部は、グリッド専用OS30における同一名の各部と同様の処理を行う。
【0048】
なお、単独処理OS20の認証部226およびグリッド専用OS30の認証部326は、それぞれ異なる利用者を認証する。すなわち、単独処理OS20の利用権限を利用者のみに割り当て、グリッド専用OS30の利用権限をグリッド管理者のみに割り当てる。これにより、利用者がグリッド専用OS30に不正にアクセスするのを防ぐことができる。また、単独処理OS20や単独処理OS20に搭載された第1単独処理AP22および第2単独処理AP23がグリッド専用OS30に不正にアクセスするのを防ぐことができる。同様にグリッド専用OS30やグリッド専用OS30に搭載されたグリッドミドルウェア32、第1グリッドAP34、第2グリッドAP35が単独処理OS20に不正にアクセスするのを防ぐことができる。
【0049】
また、単独処理OS20およびグリッド専用OS30は、互いのOSを切り替えるOS切り替え処理部24およびOS切替え処理部33をそれぞれ有している。また、ハードウェア10は、単独処理OS20およびグリッド専用OS30の処理の実行を制御する実行管理部150を有している。
【0050】
図3は、マルチオペレーティングシステム1のハードウェア構成を示している。マルチオペレーティングシステム1は、ハードウェア構成として、CRT(Cathode Ray Tube)ディスプレイ100と、キーボード、マウスなどのユーザインターフェース102と、CPU104と、メモリ12と、タイマ108と、NIC(Network Interface Card)110と、第1ディスク120と、第2ディスク130とを有している。
【0051】
CPU100は、単独処理OS20およびグリッド専用OS30の両方を制御する。メモリ12およびタイマ108は、いずれも単独処理OS20およびグリッド専用OS30の両方に割り当てられている。また、CRTディスプレイ100、ユーザインターフェース102および第1ディスク120は、単独処理OS20のみに割り当てられている。
【0052】
NIC110および第2ディスク130は、グリッド専用OS30のみに割り当てられている。グリッド処理は、グリッドサーバ2からの指示により自動的に実行されるのでユーザインターフェース102からの指示を必要としない。そこで、ユーザインターフェース102を単独処理OS20にのみ割り当てている。
【0053】
グリッドサーバ2との通信を介して他の装置との共同による処理を行っているため、この通信を利用した不正アクセスなどにより、ハードウェア10の環境に悪影響を及ぼす可能性がある。
【0054】
これに対して、本実施の形態においては、単独処理OS20とグリッド専用OS30とが独立して併存している。すなわち、単独処理OS20から第2ディスク130へアクセスできないなど、単独処理OS20とグリッド専用OS30が利用するハードウェア資源も物理的に分離されているので、一方のOSの影響が他方のOSに及ぶのを避けることができる。
【0055】
NIC110は、グリッドサーバ2から通信がきた場合に、電文内容を判別し、電文がグリッドミドルウェア32または第1グリッドAP34、第2グリッドAP35宛である場合には、グリッド専用OS30に電文を渡す。一方、単独処理OS20側宛である場合には、擬似NIC−I/F120を介して単独処理OS20等に電文を送る。ここで、擬似NIC−I/F120は、NICの対ソフトウェアインターフェースを擬似したインターフェースであり、単独処理OS20の通信を支援する。
【0056】
図4は、図2を参照しつつ説明したマルチオペレーティングシステム1の機能構成をより具体的に示したブロック図である。ハードウェア10は、制御部11、物理メモリ12、割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14、その他レジスタ15、プログラムカウンタ16等を有している。
【0057】
単独処理OS20は、割り込み振分処理部21、割り込み処理部22 、割り込みベクタテーブル23 、ページテーブル24 、レジスタ退避領域25 等を有している。
【0058】
一方、グリッド専用OS30は、単独処理OS20と併設されており、割り込み振分処理部21、割り込み処理部22 、割り込みベクタテーブル23 、ページテーブル24 、レジスタ退避領域25 等を有している。
【0059】
ハードウェア10において、制御部11は、CPU等であり、プログラム実行により各部を制御する。物理メモリ12は、物理的に実在する大容量の記憶装置であり、図5に示したように、仮想記憶制御方式に用いられ、各種命令やデータ等を実際に記憶する。
【0060】
物理メモリ12に対応して、仮想メモリ空間40および仮想メモリ空間40が仮想的に構築されている。仮想メモリ空間40は、単独処理OS20側に対応して設けられている。また、仮想メモリ空間40は、グリッド専用OS30側に対応して設けられている。このように、仮想メモリ空間40および仮想メモリ空間40の容量は、予め定められている。したがって、例えばグリッド専用OS30の第1グリッドAP34等が大量にメモリを消費するプログラムであっても、単独処理OS20側の仮想メモリ空間40を利用することがないので、単独処理OS20の処理に影響を与えることはない。また、グリッド専用OS30がCPU使用率の高いプログラムであっても、ハードウェア割り込み等を契機にOSが切り替るので、単独処理OS20の処理に影響を与えることはない。
【0061】
仮想メモリ空間40は、単独処理OS20側に対応して設けられており、物理メモリ12のOS用物理メモリ領域12a およびAP用物理メモリ領域12bにマッピングされている。
【0062】
すなわち、物理メモリ12に対応して、仮想メモリ空間40および仮想メモリ空間40が仮想的に構築されている。仮想メモリ空間40は、単独処理OS20側に対応して設けられており、物理メモリ12のOS用物理メモリ領域12a およびAP用物理メモリ領域12bにマッピングされている。
【0063】
具体的には、OS用仮想メモリ空間40aは、単独処理OS20で利用されるメモリ空間であり、OS用物理メモリ領域12aにマッピングされている。AP用仮想メモリ空間40b は、第1単独処理AP22および第2単独処理AP23で利用されるメモリ空間であり、AP用物理メモリ領域12bにマッピングされている。
【0064】
一方、仮想メモリ空間40は、グリッド専用OS30側に対応して設けられており、物理メモリ12のOS用物理メモリ領域12a およびAP用物理メモリ領域12bにマッピングされている。
【0065】
具体的には、OS用仮想メモリ空間40aは、グリッド専用OS30で利用されるメモリ空間であり、OS用物理メモリ領域12aにマッピングされている。AP用仮想メモリ空間40b は、第1グリッド34および第2グリッドAP35で利用されるメモリ空間であり、AP用物理メモリ領域12bにマッピングされている。
【0066】
物理メモリ12では、物理的な記憶単位に物理アドレスが付与されている。一方、仮想メモリ空間40および仮想メモリ空間40では、プログラム中で用いられる論理アドレスによって命令やデータが特定される。仮想記憶制御方式では、ページング方式、セグメンテーション方式、ページング/セグメンテーション方式により、論理アドレスを物理アドレスに変換している。
【0067】
ページング方式では、アドレス変換がページと呼ばれるブロック単位(4キロバイト)で行われる。このため、単独処理OS20においては、仮想メモリ空間40の仮想ページが、物理メモリ12のどの物理ページに対応しているかを表すページテーブル(変換テーブル)24が設けられている。同様にして、グリッド専用OS30においても、仮想メモリ空間40のページが、物理メモリ12のどのページに対応しているかを表すページテーブル(変換テーブル)24が設けられている。
【0068】
また、図6(b)に示したように、仮想メモリ空間40のN番地(論理アドレス)には、単独処理OS20からグリッド専用OS30へ切り替えるための切替命令Aが記憶されている。一方、仮想メモリ空間40において、仮想メモリ空間40のN番地と同一のN番地には、グリッド専用OS30から単独処理OS20へ切り替えるための切替命令Bが記憶されている。
【0069】
図4に戻り、割り込みベクタテーブルレジスタ13は、割り込みに応じた割込番号を格納するレジスタである。この割込番号は、後述する割り込みベクタテーブル23または割り込みベクタテーブル23での割り込み処理ルーチンの論理アドレスに対応している。
【0070】
ページテーブルレジスタ14は、ページテーブル24またはページテーブル24へのページインデックスを格納するレジスタである。その他レジスタ15は、汎用レジスタ、フラグレジスタ等である。プログラムカウンタ16は、仮想メモリ空間から命令をフェッチする論理アドレスを1インクリメントする。
【0071】
単独処理OS20において、割り込み振分処理部21は、割り込み発生時に、割り込みベクタテーブルレジスタ13の割込番号に基づいて、割り込みベクタテーブル23を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部21の処理は、割り込み発生時に制御部11内部で実行される。
【0072】
割り込み処理部22は、割り込み処理ルーチン、OS切り替え処理(単独処理OS20からグリッド専用OS30)を実行する。割り込みベクタテーブル23は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル24は、仮想メモリ空間40(図5参照)の各仮想ページと、物理メモリ12の各物理ページとの対応関係を表すテーブルである。
【0073】
レジスタ退避領域25は、OS切り替え時に、切り替え前のOSに対応するレジスタ(割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14、その他レジスタ15)の内容を退避するための領域である。具体的には、単独処理OS20からグリッド専用OS30へ切り替えられる場合、レジスタ退避領域25には、図6(a)に示したように、単独処理OS20に対応するレジスタの内容が退避される。
【0074】
一方、グリッド専用OS30において、割り込み振分処理部21は、割り込み発生時に、割り込みベクタテーブルレジスタ13の割込番号に基づいて、割り込みベクタテーブル23を参照して、所定の割り込み処理ルーチンへジャンプさせる。なお、実際には、割り込み振分処理部21の処理は、割り込み発生時に制御部11内部で実行される。
【0075】
割り込み処理部22は、割り込み処理ルーチン、OS切り替え処理(グリッド専用OS30から単独処理OS20)を実行する。割り込みベクタテーブル23は、上述した割込番号毎の、割り込み処理に対応する論理アドレスを格納している。ページテーブル24は、仮想メモリ空間40(図5参照)の各仮想ページと、物理メモリ12の各物理ページとの対応関係を表すテーブルである。
【0076】
レジスタ退避領域25は、OS切り替え時に、切り替え前のOSに対応するレジスタ(割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14、その他レジスタ15)の内容を退避するための領域である。具体的には、グリッド専用OS30から単独処理OS20へ切り替えられる場合、レジスタ退避領域25には、図6(a)に示したように、グリッド専用OS30に対応するレジスタの内容が退避される。
【0077】
つぎに、図7を参照して、OS切替え処理部24およびOS切替え処理部33の具体的な動作原理について説明する。同図の例では、単独処理OS20が動作状態にあり、グリッド専用OS30が待機状態にあるものとする。この状態で、単独処理OS20側で割り込みが発生すると、割り込みベクタテーブルレジスタ13の割込番号に基づいて、割り込みベクタテーブル23が参照され、仮想メモリ空間40のL番地より、割り込み処理ルーチンが実行される。
【0078】
以後、プログラムカウンタ16(図4参照)が1インクリメントされる毎に、仮想メモリ空間40の番地が1つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間40のN番地で切替命令Aが実行され、単独処理OS20からグリッド専用OS30へ切り替えられる。
【0079】
つぎに、プログラムカウンタ16が1インクリメントされ、論理アドレスがN+1番地になると、仮想メモリ空間40のN+1番地の命令が実行される。以後、プログラムカウンタ16が1インクリメントされる毎に、仮想メモリ空間40の番地が1つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間40のS番地でジャンプ命令が実行され、仮想メモリ空間40のN−M番地へジャンプされる。
【0080】
以後、プログラムカウンタ16が1インクリメントされる毎に、仮想メモリ空間40の番地が1つ移行し、当該番地の命令が順次実行される。そして、仮想メモリ空間40のN番地で切替命令Bが実行され、グリッド専用OS30から単独処理OS20へ切り替えられる。
【0081】
つぎに、プログラムカウンタ16が1インクリメントされ、論理アドレスがN+1番地になると、仮想メモリ空間40のN+1番地のIRETが実行され、割り込みから復帰される。なお、グリッド専用OS30側で割り込みが発生した場合も、上述と同様に動作する。
【0082】
図8は、一方のOSから他方のOSに実行権を移す場合、すなわちOSを切り替える場合のマルチオペレーティングシステム1全体の処理を示すフローチャートである。
【0083】
単独処理OS20における処理が実行中であるときに(ステップS100,Yes)、グリッド専用OS30に割り当てられたNIC110が、グリッドサーバ2からグリッド管理者認証用のパケットおよび実行指示を受信すると(ステップS102,Yes)、実行管理部150は、グリッド専用OS30の処理を許可する(ステップS110)。これにより、グリッド専用OS30は、グリッド処理を開始する(ステップS112)。なお、このときグリッド処理がすでに実行され、中断されている状態である場合には、中断されている時点から処理を続行する。
【0084】
他の例としては、実行管理部150は、NIC110が通信を開始したことを条件としてグリッド専用OS30の処理を許可してもよい。
【0085】
また、単独処理OS20における処理の実行中に(ステップS100,Yes)、ユーザインターフェース102から指示を受け付ない状態で、予め定められた時間が経過した場合(ステップS104,Yes)、および単独処理OS20がアイドル状態で予め定められた時間が経過した場合、すなわち、単独処理OS20における処理が実行されていない状態で所定の時間が経過した場合(ステップS106,Yes)にも、同様に実行管理部150は、グリッド専用OS30の処理を許可する(ステップS110)。
【0086】
一方、グリッド専用OS30における処理が実行中であるときに(ステップS100,No)、単独処理OS20に割り当てられたユーザインターフェース102から指示を受け付けると(ステップS120,Yes)、実行管理部150は、単独処理OS20の処理を許可する(ステップS130)。これにより、単独処理OS20は、単独処理を開始する(ステップS132)。なお、このとき単独処理がすでに実行され、中断された状態である場合には、中断されている時点から処理を続行する。
【0087】
また、グリッド専用OS30における処理が開始してから所定の時間が経過した場合にも(ステップS122)、実行管理部150は、実行権をグリッド専用OS30から単独処理OS20に与える(ステップS130)。
【0088】
ここで、グリッド専用OS30における処理が開始してから所定の時間が経過したか否かは、タイマ108の計測した時間に基づいて実行管理部150が判断する。具体的には、グリッド専用OS30の処理が開始すると、タイマ108は、時間の計測を開始する。そして、実行管理部150は、タイマ108が予め定められた時間を計測したことを条件として、グリッド専用OS30から単独処理OS20の処理を許可する。
【0089】
このように、所定の時間が経過すると、単独処理OS20に実行権が与えられるので、一旦グリッド処理が開始すると、マルチオペレーティングシステム1の資源がグリッド処理に使われ続けるという状況を避けることができる。このように、所定の時間だけハードウェア資源をグリッド処理に割り当てることができるので、ハードウェア資源を有効に活用することができる。
【0090】
なお、グリッド専用OS30から単独処理OS20に切り替える条件となる時間は、ユーザインターフェース102を介して利用者が設定してもよい。
【0091】
以上の処理は、物理メモリ12に格納されている命令の実行スケジュールに沿って実行される。例えば、仮想メモリ空間40において、ユーザインターフェース102による入力割り込み処理ルーチンに続いて単独処理OS20の処理が実行されるようスケジュールされている。一方、仮想メモリ空間40において、入力割り込み処理ルーチンに続いて単独処理OS20の処理が実行されるようスケジュールされている。そしてこの命令が実行スケジュールに沿って実行されると、ユーザインターフェース102からの割り込みの発生に続いて、自動的にグリッド専用OS30の処理から単独処理OS20の処理に移行する。
【0092】
また、例えば仮想メモリ空間40において、NIC110が認証用パケットを受信した場合の受信割り込み処理ルーチンに続いてグリッド専用OS30の処理が実行されるようスケジュールされている。一方、仮想メモリ空間40においては、受信割り込み処理ルーチンに続いてグリッド専用OS30の処理が実行されるようスケジュールされている。そして、この命令が実行スケジュールに沿って実行されると、受信割り込みの発生に続いて、自動的に単独処理OS20の処理からグリッド専用OS30の処理に移行する。
【0093】
ここで、単独処理OS20の処理からグリッド専用OS30の処理に移行する場合の処理についてさらに詳述する。
【0094】
実行スケジュール管理部320は、図9に示すOS切り替えテーブル321を有している。OS切り替えテーブル321は、OS切り替え要因を識別するOS切り替え要因割り込み番号と、各切り替え要因の閾値とを対応付けている。実行スケジュール管理部320は、予めグリッドタスク量指数を設定しておく。
【0095】
ここで、グリッドタスク量指数とは、グリッド処理のタスク量を評価するための値である。実行スケジュール管理部320は、グリッドタスク量指数の大きさに基づいて、OSを切り替えるか否かを決定する。
【0096】
また、実行スケジュール管理部320は、第1グリッドAP34および第2グリッドAP35の稼動状況を監視し、稼動状況に合わせグリッドタスク量指数を更新する。さらにまた、NIC110を介してグリッドサーバ2から受信したコマンドを解析し、解析結果に応じてグリッドタスク量指数を更新する。
【0097】
例えば、グリッド専用OS30の走行中に、タイマ割り込みが発生すると、OS切替え処理部33は、実行スケジュール管理部320にタイマ割り込みを識別する割り込み番号を送る。そして、実行スケジュール管理部320は、コマンド送受信部322において、受け取った割り込み番号に対応付けられているOS切り替え閾値と、現在設定されているグリッドタスク量指数とを比較する。OS切り替え閾値がグリッドタスク量指数に比べて大きい場合には、OS切替え処理部33に対して、OSの切り替え命令を送る。また、OS切り替え閾値がグリッドタスク量指数に比べて小さい場合にはOS切替え処理部33に対してOSを切り替えを行わない旨の命令を送る。このように、実行スケジュール管理部320は、OS切替え処理部33によるOSの切り替えを制御している。
【0098】
切り替えを行わない旨の命令を送った場合には、その後もグリッド処理が継続して実行されるので、次回割り込みが発生した場合には、切り替えイベントの発生時には必ずOSを切り替えるべく、OS切り替え閾値をより大きな値に更新しても良い。これにより、グリッドタスク量が大きな値であっても確実にOSの切り替えを実行することができる。
【0099】
このように、実行スケジュール管理部320は、グリッド処理のタスク量に応じてOSの切り替えを制御しているので、各OSのタスク量に応じたハードウェア資源の割り当てを行うことができる。
【0100】
次に、図10を参照しつつ、図5におけるステップS102において認証用パケットを受信した場合の、ステップS112におけるグリッド専用OS30における処理について説明する。
【0101】
認証用パケットを受信した場合には、認証用パケットからグリッド管理者であることを認証する(ステップS200)。認証に成功した場合には(ステップS202)、実行ユーザの権限を付与する(ステップS204)。次に、第1グリッドAP34または第2グリッドAP35からファイルアクセスがあった場合には(ステップS206,Yes)、ファイルアクセス制御部324は、ファイルアクセスのユーザ権限を認証する(ステップS208)。認証に成功した場合には(ステップS210)、ファイルアクセス制御部324は、第1グリッドAP34または第2グリッドAP35から第2ディスク130へのアクセスを許可する(ステップS220)。
【0102】
また、実行ユーザ権限の認証に成功しなかった場合には(ステップS210,No)、ファイルアクセス制御部324は、第1グリッドAP34または第2グリッドAP35から第2ディスク130へのアクセスを禁止する(ステップS230)。そして、第1グリッドAP34または第2グリッドAP35に対してエラーを返す(ステップS232)。以上で、ステップS112における処理が終了する。
【0103】
次に、図11から図23を参照しつつ、切り替え処理における動作例1〜9について説明する。
【0104】
(動作例1)
図11は、一実施の形態の動作例1を説明する図である。動作例1では、仮想メモリ空間40および仮想メモリ空間40の各論理アドレスには、同図に示した処理に対応する各種命令が割り当てられている。
【0105】
同図の例では、単独処理OS20が動作状態にあり、グリッド専用OS30が待機状態にあるものとする。この状態で、単独処理OS20側で割り込みが発生すると、割り込み振分処理部21は、▲1▼で、割り込みベクタテーブルレジスタ13の割込番号に基づいて、割り込みベクタテーブル23を参照し、当該割り込み処理へジャンプする。
【0106】
これにより、割り込み処理部22は、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンを実行する。以後、プログラムカウンタ16(図4参照)が1インクリメントされる毎に、仮想メモリ空間40の番地が1つ移行し、当該番地の命令が順次実行される。
【0107】
そして、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のY番地で、単独処理OS20に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。
【0108】
つぎに、割り込み処理部22は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間40のS番地でジャンプ命令が実行され、仮想メモリ空間40のN−M番地へジャンプされる(▲5▼)。
【0109】
つぎに、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のN−M番地で、グリッド専用OS30に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される(▲6▼)。
【0110】
つぎのOS切り替え処理(IDTR切り替え命令等)では、割り込みベクタテーブルレジスタ13が、グリッド専用OS30用から単独処理OS20用に切り替えられる。つぎのOS切り替え処理(ページテーブルレジスタ変更命令)では、仮想メモリ空間40のN番地で、ページテーブルレジスタ14がグリッド専用OS30用から単独処理OS20用に変更される。これにより、グリッド専用OS30から単独処理OS20へ切り替えられる(▲7▼)。
【0111】
(動作例2)
図12は、一実施の形態の動作例2を説明する図である。この図において、図11の各部に対応する部分には同一の符号、文字を対応させている。動作例2では、▲1▼で割り込みが発生すると、動作例1のように割り込み処理ルーチン(L番地〜)が実行されずに、Y番地でOS切り替え処理(レジスタをレジスタ退避領域に退避)が実行される。以降の動作については、動作例1と同様である。
【0112】
(動作例3)
さて、図11に示した動作例1では、単独処理OS20側でOS切り替え処理の前後に割り込み処理ルーチンを実行し、グリッド専用OS30側でOS切り替え処理の前に割り込み処理ルーチンを実行する例について説明したが、単独処理OS20側およびグリッド専用OS30側の双方でOS切り替え処理の前に割り込み処理ルーチンを実行するようにしてもよい。以下では、この動作例を動作例3として説明する。
【0113】
図13は、一実施の形態の動作例3を説明する図である。同図において、単独処理OS20側で割り込みが発生すると(▲1▼)、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンが実行される。
【0114】
そして、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のY番地で、単独処理OS20に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。
【0115】
以後、動作例1と同様の処理が実行される。そして、OS切り替え処理(ページテーブルレジスタ変更命令)では、仮想メモリ空間40のN番地で、ページテーブルレジスタ14が単独処理OS20用からグリッド専用OS30用に変更される。これにより、単独処理OS20からグリッド専用OS30へ切り替えられる(▲3▼)。
【0116】
つぎに、仮想メモリ空間40のN+1番地で、以前にレジスタ退避領域25に退避されていたグリッド専用OS30用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲4▼)。
【0117】
つぎに仮想メモリ空間40のN+2番地でジャンプ命令が実行され、仮想メモリ空間40のN−P番地へジャンプされる(▲5▼)。N−P番地以降では、割り込み処理ルーチン、OS切り替え処理が順次実行される(▲6▼)。
【0118】
そして、仮想メモリ空間40のN番地では、ページテーブルレジスタ14がグリッド専用OS30用から単独処理OS20用に変更される。これにより、グリッド専用OS30から単独処理OS20へ切り替えられる(▲7▼)。
【0119】
仮想メモリ空間40において、つぎのOS切り替え処理(レジスタ退避領域からレジスタを復帰)では、仮想メモリ空間40のN+1番地で、先にレジスタ退避領域25に退避されていた単独処理OS20用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲8▼)。
【0120】
そして、仮想メモリ空間40のN+2番地でIRET(割り込み復帰命令)が実行され、処理ルーチンが割り込み処理ルーチンから通常処理ルーチンへ復帰される(▲9▼)。
【0121】
(動作例4)
さて、図11に示した動作例1では、グリッド専用OS30側で実行させる割り込み処理ルーチンの量が多い場合、ジャンプ命令で分割処理を実行するようにしてもよい。以下では、この動作例を動作例4として説明する。
【0122】
図14は、一実施の形態の動作例4を説明する図である。同図において、単独処理OS20側で割り込みが発生すると(▲1▼)、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンが実行される。以後、▲3▼〜▲4▼では、動作例1と同様の処理が実行される。
【0123】
そして、仮想メモリ空間40のS番地でジャンプ命令が実行され、仮想メモリ空間40のS+Q番地へジャンプされる(▲4▼’)。S+Q番地以降では、分割された割り込み処理ルーチンが順次実行される(▲4▼’’)。そして、仮想メモリ空間40のS+R番地でジャンプ命令が実行され、仮想メモリ空間40のN−M番地へジャンプされる(▲5▼)。
【0124】
つぎに、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のN−M番地で、グリッド専用OS30に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。以後、▲6▼〜▲9▼では、動作例1と同様の処理が実行される。
【0125】
(動作例5)
さて、図11に示した動作例1では、OS切り替え処理を実行中に、より優先度が高い割り込みが多重的に入ることを防止するため、OS切り替え処理の前後に割り込み禁止命令および割り込み許可命令を実行し、排他制御を行うようにしてもよい。以下では、この動作例を動作例5として説明する。
【0126】
図15は、一実施の形態の動作例5を説明する図である。同図においては、仮想メモリ空間40におけるOS切り替え処理の前に割り込み禁止命令(Y−1番地)が、同OS切り替え処理の後に割り込み許可命令(N+2番地)が実行される。
【0127】
同様にして、仮想メモリ空間40におけるOS切り替え処理の前に割り込み禁止命令(N−M−1番地)が、同OS切り替え処理の後に割り込み許可命令(N+2番地)が実行される。割り込み禁止命令が実行されると、他の割り込みを受け付けない状態とされる。一方、割り込み許可命令が実行されると、他の割り込みを受け付ける状態とされる。
【0128】
同図において、単独処理OS20側で割り込みが発生すると(▲1▼)、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンが実行される。そして、Y−1番地では、割り込み禁止命令が実行される。
【0129】
そして、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のY番地で、単独処理OS20に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。
【0130】
つぎのOS切り替え処理(IDTR切り替え命令等)では、割り込みベクタテーブルレジスタ13が、単独処理OS20用からグリッド専用OS30用に切り替えられる。つぎのOS切り替え処理(ページテーブルレジスタ変更命令)では、仮想メモリ空間40のN番地で、ページテーブルレジスタ14が単独処理OS20用からグリッド専用OS30用に変更される。これにより、単独処理OS20からグリッド専用OS30へ切り替えられる(▲3▼)。
【0131】
仮想メモリ空間40において、つぎのOS切り替え処理(レジスタ退避領域からレジスタを復帰)では、仮想メモリ空間40のN+1番地で、以前にレジスタ退避領域25に退避されていたグリッド専用OS30用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲4▼)。
【0132】
仮想メモリ空間40のN+2番地では、割り込み許可命令が実行される。つぎに、割り込み処理部22は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間40のS番地でジャンプ命令が実行され、仮想メモリ空間40のN−M−1番地へジャンプされる(▲5▼)。
【0133】
N−M−1番地では、割り込み禁止命令が実行される。以後、▲6▼および▲7▼では、動作例1と同様にして、OS切り替え処理により、グリッド専用OS30から単独処理OS20へ切り替えられる。
【0134】
仮想メモリ空間40において、つぎのOS切り替え処理(レジスタ退避領域からレジスタを復帰)では、仮想メモリ空間40のN+1番地で、先にレジスタ退避領域25に退避されていた単独処理OS20用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲8▼)。仮想メモリ空間40のN+2番地では、割り込み許可命令が実行される。以後、動作例1と同様の処理が実行される。
【0135】
図16は、上記動作例5を説明するフローチャートである。同図において、割り込みが発生すると、ステップSA1では、単独処理OS20のアプリケーション走行が中止され、割り込み振分処理部21が起動される。ステップSA2では、単独処理OS20の割り込み振分処理部21が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ13から取得する。
【0136】
ステップSA3では、割り込み振分処理部21により、割り込みベクタテーブル23が参照され、仮想メモリ空間40における割り込み処理ルーチンのある論理アドレスにジャンプされる(図14の▲1▼)。ステップSA4では、割り込み処理ルーチンが実行される(図14の▲2▼)。
【0137】
ステップSA5では、割り込み禁止命令が実行される(図15のY−1番地)。ステップSA6では、OS切り替え処理(レジスタをレジスタ退避領域に退避)が実行される。ステップSA7では、OS切り替え処理(IDTR切り替え命令等)が実行される。ステップSA8では、OS切り替え処理(ページテーブルレジスタ変更命令)が実行され(図15の▲3▼)、単独処理OS20からグリッド専用OS30へ切り替わる。
【0138】
ステップSA9では、グリッド専用OS30でOS切り替え処理(レジスタ退避領域からレジスタを復帰)が実行される(図15のN+1番地)。ステップSA10では、割り込み許可命令が実行される(図15のN+2番地)。ステップSA11では、割り込み処理ルーチンが実行される。ステップSA12では、ジャンプ命令が実行され、N−M−1番地にジャンプされる(図15の▲5▼)。
【0139】
図17に示したステップSA13では、割り込み禁止命令が実行される(図14のN−M−1番地)。ステップSA14では、OS切り替え処理(レジスタをレジスタ退避領域に退避)が実行される。ステップSA15では、OS切り替え処理(IDTR切り替え命令等)が実行される。ステップSA16では、OS切り替え処理(ページテーブルレジスタ変更命令)が実行され(図15の▲7▼)、グリッド専用OS30から単独処理OS20へ切り替わる。
【0140】
ステップSA17では、単独処理OS20でOS切り替え処理(レジスタ退避領域からレジスタを復帰)が実行される(図15のN+1番地)。ステップSA18では、割り込み許可命令が実行される(図15のN+2番地)。ステップSA19では、割り込み処理ルーチンが実行される。ステップSA20では、IRET(割り込み復帰命令)が実行され、割り込みから復帰される。
【0141】
(動作例6)
さて、図11に示した動作例1では、単独処理OS20からグリッド専用OS30へのOS切り替え後に、グリッド専用OS30から単独処理OS20へ切り戻し、単独処理OS20で割り込み復帰を行う例について説明したが、切り戻しを行わず、グリッド専用OS30で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例6として説明する。
【0142】
図18は、一実施の形態の動作例6を説明する図である。同図において、単独処理OS20側で割り込みが発生すると(▲1▼)、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンが実行される。そして、Y−1番地では、割り込み禁止命令が実行される。
【0143】
そして、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のY番地で、単独処理OS20に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。
【0144】
つぎのOS切り替え処理(IDTR切り替え命令等)では、割り込みベクタテーブルレジスタ13が、単独処理OS20用からグリッド専用OS30用に切り替えられる。つぎのOS切り替え処理(ページテーブルレジスタ変更命令)では、仮想メモリ空間40のN番地で、ページテーブルレジスタ14が単独処理OS20用からグリッド専用OS30用に変更される。これにより、単独処理OS20からグリッド専用OS30へ切り替えられる(▲3▼)。
【0145】
仮想メモリ空間40において、つぎのOS切り替え処理(レジスタ退避領域からレジスタを復帰)では、仮想メモリ空間40のN+1番地で、以前にレジスタ退避領域25に退避されていたグリッド専用OS30用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲4▼)。
【0146】
仮想メモリ空間40のN+2番地では、割り込み許可命令が実行される。つぎに、割り込み処理部22は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間40のS番地でIRET(割り込み復帰命令)が実行され、割り込みから復帰される。これにより、前回、グリッド専用OS30で割り込みが発生した箇所へ制御が戻され(▲5▼)、グリッド専用OS30で第1グリッド34や第2グリッドAP35 が走行される。
【0147】
図19は、上記動作例6を説明するフローチャートである。同図において、割り込みが発生すると、ステップSB1では、単独処理OS20のアプリケーション走行が中止され、割り込み振分処理部21が起動される。ステップSB2では、単独処理OS20の割り込み振分処理部21が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ13から取得する。
【0148】
ステップSB3では、割り込み振分処理部21により、割り込みベクタテーブル23が参照され、仮想メモリ空間40における割り込み処理ルーチンのある論理アドレスにジャンプされる(図18の▲1▼)。ステップSB4では、割り込み処理ルーチンが実行される(図18の▲2▼)。
【0149】
ステップSB5では、割り込み禁止命令が実行される(図18のY−1番地)。ステップSB6では、OS切り替え処理(レジスタをレジスタ退避領域に退避)が実行される。ステップSB7では、OS切り替え処理(IDTR切り替え命令等)が実行される。ステップSB8では、OS切り替え処理(ページテーブルレジスタ変更命令)が実行され(図18の▲3▼)、単独処理OS20からグリッド専用OS30へ切り替わる。
【0150】
ステップSB9では、グリッド専用OS30でOS切り替え処理(レジスタ退避領域からレジスタを復帰)が実行される(図18のN+1番地)。ステップSB10では、割り込み許可命令が実行される(図18のN+2番地)。ステップSB11では、割り込み処理ルーチンが実行される。ステップSB12では、仮想メモリ空間40のS番地でIRET(割り込み復帰命令)が実行され、割り込みから復帰される。
【0151】
(動作例7)
さて、図18に示した動作例6では、単独処理OS20からグリッド専用OS30へのOS切り替え後に、切り戻しを行わず、グリッド専用OS30で割り込み復帰を行う例について説明したが、逆に、グリッド専用OS30から単独処理OS20へのOS切り替え後に、切り戻しを行わず、単独処理OS20で割り込み復帰を行うようにしてもよい。以下では、この動作例を動作例7として説明する。
【0152】
図20は、一実施の形態の動作例7を説明する図である。同図において、グリッド専用OS30側で割り込みが発生すると(▲1▼)、▲2▼で、仮想メモリ空間40のL番地より割り込み処理ルーチンが実行される。そして、Y−1番地では、割り込み禁止命令が実行される。
【0153】
そして、OS切り替え処理(レジスタをレジスタ退避領域に退避)では、仮想メモリ空間40のY番地で、グリッド専用OS30に対応する割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15の内容がレジスタ退避領域25に退避される。
【0154】
つぎのOS切り替え処理(IDTR切り替え命令等)では、割り込みベクタテーブルレジスタ13が、グリッド専用OS30用から単独処理OS20用に切り替えられる。つぎのOS切り替え処理(ページテーブルレジスタ変更命令)では、仮想メモリ空間40のN番地で、ページテーブルレジスタ14がグリッド専用OS30用から単独処理OS20用に変更される。これにより、グリッド専用OS30から単独処理OS20へ切り替えられる(▲3▼)。
【0155】
仮想メモリ空間40において、つぎのOS切り替え処理(レジスタ退避領域からレジスタを復帰)では、仮想メモリ空間40のN+1番地で、以前にレジスタ退避領域25に退避されていた単独処理OS20用のレジスタの内容が割り込みベクタテーブルレジスタ13、ページテーブルレジスタ14およびその他レジスタ15にそれぞれ復帰される(▲4▼)。
【0156】
仮想メモリ空間40のN+2番地では、割り込み許可命令が実行される。つぎに、割り込み処理部22は、割り込み処理ルーチンを順次実行する。そして、仮想メモリ空間40のS番地でIRET(割り込み復帰命令)が実行され、割り込みから復帰される。これにより、前回、単独処理OS20で割り込みが発生した箇所へ制御が戻され(▲5▼)、単独処理OS20で第1単独処理AP22や第2単独処理AP23が走行される。
【0157】
図21は、上記動作例7を説明するフローチャートである。同図において、割り込みが発生すると、ステップSC1では、グリッド専用OS30のアプリケーション走行が中止され、割り込み振分処理部21が起動される。ステップSC2では、グリッド専用OS30の割り込み振分処理部21が割り込みに対応する割込番号を割り込みベクタテーブルレジスタ13から取得する。
【0158】
ステップSC3では、割り込み振分処理部21により、割り込みベクタテーブル23が参照され、仮想メモリ空間40における割り込み処理ルーチンのある論理アドレスにジャンプされる(図20の▲1▼)。ステップSC4では、割り込み処理ルーチンが実行される(図20の▲2▼)。
【0159】
ステップSC5では、割り込み禁止命令が実行される(図20のY−1番地)。ステップSC6では、OS切り替え処理(レジスタをレジスタ退避領域に退避)が実行される。ステップSC7では、OS切り替え処理(IDTR切り替え命令等)が実行される。ステップSC8では、OS切り替え処理(ページテーブルレジスタ変更命令)が実行され(図20の▲3▼)、グリッド専用OS30から単独処理OS20へ切り替わる。
【0160】
ステップSC9では、単独処理OS20でOS切り替え処理(レジスタ退避領域からレジスタを復帰)が実行される(図20のN+1番地)。ステップSC10では、割り込み許可命令が実行される(図20のN+2番地)。ステップSC11では、割り込み処理ルーチンが実行される。ステップSC12では、仮想メモリ空間40のS番地でIRET(割り込み復帰命令)が実行され、割り込みから復帰される。
【0161】
(動作例8)
さて、前述した動作例6では、図18に示した仮想メモリ空間40および仮想メモリ空間40の実装例について説明したが、図22に示した動作例8のように、仮想メモリ空間40および仮想メモリ空間40の実装を行うようにしてもよい。なお、動作例8における動作は、動作例6と同様である。
【0162】
(動作例9)
さて、前述した動作例7では、図20に示した仮想メモリ空間40および仮想メモリ空間40の実装例について説明したが、図23に示した動作例9のように、仮想メモリ空間40および仮想メモリ空間40の実装を行うようにしてもよい。なお、動作例9における動作は、動作例7と同様である。
【0163】
(実施の形態2)
次に、実施の形態2にかかるマルチオペレーティングシステム1について説明する。図24は、実施の形態2にかかるマルチオペレーティングシステム1の全体構成を示すブロック図である。
【0164】
実施の形態2に係るマルチオペレーティングシステム1は、1つのハードウェア10上にエミュレータ40を搭載している。さらに、エミュレータ40上に単独処理OS50とグリッド専用OS60の2つのOSを搭載している。
【0165】
単独処理OS50は、第1AP52および第2AP53を搭載している。グリッド専用OS60は、第1グリッドAP64および第2グリッドAP65を搭載している。
【0166】
ここで、エミュレータ40は、一のハードウェア向けに開発されたOSを他のハードウェア上で実行させるためのソフトウェアである。すなわち、エミュレータ40は、単独処理OS50向けのCPUの機能およびグリッド処理OS60向けのCPUの機能をハードウェア10上で実現する。これにより、ハードウェア10上で、異なる2つのOSを走行させることができる。
【0167】
この場合も、実施の形態1と同様に一つのハードウェア10上に、2つのOSを独立に併存させ、一方のOSにグリッド処理を割り当てることができる。
【0168】
なお、これ以外のマルチオペレーティングシステム1の構成および機能は、実施の形態1において説明したマルチオペレーティングシステム1の構成および機能と同様である。
【0169】
(実施の形態3)
次に、実施の形態3にかかるマルチオペレーティングシステム1について説明する。図25は、実施の形態3に係るマルチオペレーティングシステム1の全体構成を示すブロック図である。
【0170】
実施の形態3に係るマルチオペレーティングシステム1は、1つのハードウェア10上にVM(Virtual Machine)モニタ42を搭載している。ここで、VMモニタ42とは、ハードウェア10の全てを制御するプログラムである。VMモニタ42は、単独処理OS50およびグリッド専用OS60の両方のハードウェア10に対するインターフェースをエミュレートする。
【0171】
さらに、VMモニタ42上に単独処理OS50とグリッド専用OS60の2つのOSを搭載している。単独処理OS50は、第1AP52および第2AP53を搭載している。グリッド専用OS60は、第1グリッドAP64および第2グリッドAP65を搭載している。
【0172】
この場合も、実施の形態1および実施の形態2と同様に一つのハードウェア10上に2つのOSを独立に併存させ、一方のOSにグリッド処理を割り当てることができる。
【0173】
なお、これ以外のマルチオペレーティングシステム1の構成および機能は、実施の形態1において説明したマルチオペレーティングシステム1の構成および機能と同様である。
【0174】
他の例としては、VMモニタ42にかえて、マイクロカーネルを備えても良い。この場合も、エミュレータの場合と同様に、マイクロカーネル上に単独処理OS50と、グリッド専用OS60とが搭載されている。
【0175】
ここで、マイクロカーネルとは、OSに必要最低限の機能と、これ以外の機能とを分離した構成のOSである。このように、機能を分離することにより、機能性の向上を図っている。
【0176】
(実施の形態4)
次に実施の形態4に係るマルチオペレーティングシステム1について説明する。図26は、実施の形態4に係るマルチオペレーティングシステム1の全体構成を示すブロック図である。
【0177】
実施の形態4に係るマルチオペレーティングシステム1は、1つのハードウェア10上に、基盤OS44が搭載されている。基盤OS44上に、さらに単独処理OS50およびグリッドミドルウェア32が搭載されている。この場合、基盤OS44は、実施の形態1におけるグリッド専用OSとしての機能を備えている。さらに、単独処理OS50がハードウェア10向けのOSでない場合には、基盤OS44は、ハードウェア10に対するインターフェースをエミュレートする。
【0178】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【0179】
そうした第1の変更例としては、本実施の形態においては、マルチオペレーティングシステム1は、グリッドミドルウェア32を備えていたが、他の形態としては、グリッドミドルウェア32を備えなくともよい。この場合、グリッドミドルウェア32の構成および機能は、グリッド専用OS30,60または基盤OS44が備える。これにより、グリッドミドルウェア32を備えない場合でも、本実施の形態にかかるマルチオペレーティングシステム1と同様の処理を行うことができる。
【0180】
そうした第2の変更例としては、本実施の形態においては、マルチオペレーティングシステム1は、擬似NIC−I/F120を備えていたが、他の例としては、擬似NIC−I/F120を備えなくともよい。この場合、単独処理OS20とグリッド専用OS30との間に共有メモリ領域を備える。そして、単独処理OS20とグリッド専用OS30とは、共有メモリ領域を介して通信データをやり取りする。
【0181】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、第1のオペレーティングシステムと第2のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができるという効果を奏する。
【0182】
また、請求項2にかかる発明によれば、切り替え制御手段は、第1のオペレーティングシステムおよび第2のオペレーティングシステムのいずれか一方にのみ実行権を与えるので、これにより、2つのオペレーティングシステムは、1つのハードウェア資源を時分割して有効に活用することができるという効果を奏する。
【0183】
また、請求項3にかかる発明によれば、通信手段は、グリッド処理などの共同処理を実行するオペレーティングシステム側にのみ割り当てられているので、外部から不正アクセスがあった場合であっても、その被害が第2のオペレーティングシステムに及ぶのを防ぐことができるという効果を奏する。
【0184】
また、請求項4にかかる発明によれば、グリッドサーバからの指示を取得したことを条件として第1のオペレーティングシステムに実行権を与えることができる。このように、所定のイベントによりオペレーティングシステムを切り替えることにより、不正アクセスなど一方のオペレーティングシステムにおける悪影響が他方に及ぶのを避けることができるという効果を奏する。
【0185】
また、請求項5にかかる発明によれば、利用者から指示を受け付けない状態で、所定の時間が経過した場合に、第1のオペレーティングシステムに切り替えることができる。これにより、ユーザによる誤操作の影響が第1のオペレーティングシステムに及ぶのを避けることができるという効果を奏する。
【0186】
また、請求項6にかかる発明によれば、第2のオペレーティングシステムにおける処理がアイドル状態になった場合に、第1のオペレーティングシステムに切り替えることができる。これにより、ハードウェア資源を有効に活用することができるという効果を奏する。
【0187】
また、請求項7にかかる発明によれば、利用者からの指示を受け付けた場合に、第2のオペレーティングシステムに切り替えることができるので、ユーザの利便性を保つことができるという効果を奏する。
【0188】
また、請求項8にかかる発明によれば、第1のオペレーティングシステムが所定の時間実行されると、第2のオペレーティングシステムに切り替えることができる。これにより、第1のオペレーティングシステムは、ハードウェア資源を時間単位で占有することができるという効果を奏する。
【0189】
また、請求項9にかかる発明によれば、第1のオペレーティングシステムおxよび第2のオペレーティングシステムには、それぞれ物理的に異なるメモリが割り当てられている。したがって、一方に不正アクセスがあった場合でも、他方のメモリにその影響が及ぶのを避けることができるという効果を奏する。
【0190】
また、請求項10にかかる発明によれば、第1のオペレーティングシステムの第1のメモリは、予め定められた大きさの領域を有しているので、第2のオペレーティングシステムが大きな容量のメモリを必要とする場合であっても、第2のオペレーティングシステムに対して一定のメモリ容量が確保されているので、オペレーティングシステムが併存することにより、第2のオペレーティングシステムの処理効率が低下するのを避けることができるという効果を奏する。
【0191】
また、請求項11にかかる発明によれば、切り替え処理命令と、切り替え先のオペレーティングシステムにおける処理とが連続して実行されるべく格納されているので、処理順番に沿って命令が実行されることにより、自動的にオペレーティングシステムを切り替えることができるという効果を奏する。
【0192】
また、請求項12にかかる発明によれば、第1のオペレーティングシステムおよび第2のオペレーティングシステムは、それぞれ第2のファイルシステムおよび第1のファイルシステムへのアクセスが禁止されているので、一方に不正アクセスがあった場合であっても、他方のオペレーティングシステムのファイルシステムに不正アクセスの影響が及ぶのを避けることができるという効果を奏する。
【0193】
また、請求項13にかかる発明によれば、第1のオペレーティングシステムと第2のオペレーティングシステムは、それぞれ異なる管理者を認証し、当該管理者のみにアクセス権限を与える。したがって、各オペレーティングシステムの独立性を保つことができ、セキュリティを向上させることができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかるマルチオペレーティングシステム1の全体構成を示すブロック図である。
【図2】図1に示したマルチオペレーティングシステム1の機能構成を示すブロック図である。
【図3】マルチオペレーティングシステム1のハードウェア構成を示す図である。
【図4】図2を参照しつつ説明したマルチオペレーティングシステム1の機能構成をより具体的に示したブロック図である。
【図5】物理メモリ12における仮想記憶方式を説明するための図である。
【図6】物理メモリ12における仮想記憶方式を説明するための図である。
【図7】OS切替え処理部24およびOS切替え処理部33の具体的な動作原理について説明するための図である。
【図8】OSを切り替える場合のマルチオペレーティングシステム1の処理を示すフローチャートである。
【図9】OS切り替えテーブル321のデータ構成を示す図である。
【図10】図5におけるステップS102において認証用パケットを受信した場合の、ステップS112におけるグリッド専用OS30における処理の実行について説明するための図である。
【図11】マルチオペレーティングシステム1の動作例1を説明するための図である。
【図12】マルチオペレーティングシステム1の動作例2を説明するための図である。
【図13】マルチオペレーティングシステム1の動作例3を説明するための図である。
【図14】マルチオペレーティングシステム1の動作例4を説明するための図である。
【図15】マルチオペレーティングシステム1の動作例5を説明するための図である。
【図16】マルチオペレーティングシステム1の動作例5を説明するフローチャートである。
【図17】マルチオペレーティングシステム1の動作例5を説明するフローチャートである。
【図18】マルチオペレーティングシステム1の動作例6を説明するための図である。
【図19】マルチオペレーティングシステム1の動作例6を説明するフローチャートである。
【図20】マルチオペレーティングシステム1の動作例7を説明するための図である。
【図21】マルチオペレーティングシステム1の動作例7を説明するフローチャートである。
【図22】マルチオペレーティングシステム1の動作例8を説明するための図である。
【図23】マルチオペレーティングシステム1の動作例9を説明するための図である。
【図24】実施の形態2にかかるマルチオペレーティングシステム1の全体構成を示すブロック図である。
【図25】実施の形態3に係るマルチオペレーティングシステム1の全体構成を示すブロック図である。
【図26】実施の形態4に係るマルチオペレーティングシステム1の全体構成を示すブロック図である。
【符号の説明】
1 マルチオペレーティングシステム
2 グリッドサーバ
10 ハードウェア
11 制御部
12 物理メモリ
13 ベクタテーブルレジスタ
14 ページテーブルレジスタ
16 プログラムカウンタ
20,50 単独処理OS
22,52 第1単独処理AP
23,54 第2単独処理AP
24 処理部
30,60 グリッド専用OS
32 グリッドミドルウェア
33 処理部
34,64 第1グリッドAP34
35,65 第1グリッドAP35
40 エミュレータ
42 VMモニタ
44 基盤OS
100 CRTディスプレイ
102 ユーザインターフェース
106 メモリ
108 タイマ
120 第1ディスク
130 第2ディスク
150 実行管理部
200 ネットワーク
220 実行スケジュール管理部
222 コマンド送受信部
224 ファイルアクセス制御部
226 認証部
320 実行スケジュール管理部
321 OS切り替えテーブル
322 コマンド送受信部
324 ファイルアクセス制御部
326 認証部

Claims (13)

  1. 一つの計算機で稼動する、少なくとも第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステムであって、
    前記第1のオペレーティングシステムは、
    ネットワークを介して外部と通信する通信手段と、
    第1の管理者を認証する第1の認証手段と、
    前記第1の認証手段が認証に成功した場合に、前記通信手段を介して他のコンピュータと仮想的に一体となって共同処理を行う第1の処理手段と
    を有し、
    前記第2のオペレーティングシステムは、
    第2の管理者を認証する第2の認証手段と、
    前記第2の認証手段が認証に成功した場合に、当該システム内における単独処理を行う第2の処理手段と、
    を有することを特徴とするマルチオペレーティングシステム。
  2. 前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムのいずれか一方の処理の実行を許可する実行管理手段をさらに備え、
    前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムのうち前記実行管理手段に許可された一方のみが処理を実行することを特徴とする請求項1に記載のマルチオペレーティングシステム。
  3. 前記実行管理手段は、前記通信手段が通信を開始すると、前記第1のオペレーティングシステムの処理の実行を許可し、
    前記第1のオペレーティングシステムの前記第1の処理手段は、前記実行管理手段から実行を許可された場合に、前記共同処理を実行することを特徴とする請求項1に記載のマルチオペレーティングシステム。
  4. 前記実行管理手段は、前記通信手段が前記共同処理を統括する統括サーバから実行指示を取得した場合に、前記第1のオペレーティングシステムの処理の実行を許可することを特徴とする請求項3に記載のマルチオペレーティングシステム。
  5. 利用者からの指示を受け付けるユーザインターフェースをさらに備え、
    前記実行管理手段は、前記ユーザインターフェースが指示を受け付けない状態で、予め定められた時間が経過した場合に、前記第1のオペレーティングシステムの処理の実行を許可することを特徴とする請求項2から4のいずれか一項に記載のマルチオペレーティングシステム。
  6. 前記実行管理手段は、前記第2のオペレーティングシステムの処理の実行が許可されており、かつ前記第2の処理手段が処理を実行しない状態で、予め定められた時間が経過した場合に、前記第1のオペレーティングシステムの処理を許可することを特徴とする請求項2から5のいずれか一項に記載のマルチオペレーティングシステム。
  7. 利用者からの指示を受け付けるユーザインターフェースをさらに備え、
    前記実行管理手段は、前記ユーザインターフェースが利用者からの指示を受け付けると、前記第2のオペレーティングシステムに実行権を与えることを特徴とする請求項2から6のいずれか一項に記載のマルチオペレーティングシステム。
  8. 前記第1のオペレーティングシステムの前記第1の処理手段の実行が開始すると、時間計測を開始する時間計測手段をさらに備え、
    前記実行管理手段は、前記時間計測手段が予め定められた時間を計測すると、前記第2のオペレーティングシステムの実行を許可することを特徴とする請求項2から7のいずれか一項に記載のマルチオペレーティングシステム。
  9. 前記第1のオペレーティングシステムは、第1のメモリをさらに有し、
    前記第2のオペレーティングシステムは、前記第1のメモリと物理的に異なる領域に割り当てられた第2のメモリをさらに有することを特徴とする請求項1から8のいずれか一項に記載のマルチオペレーティングシステム。
  10. 前記第1のオペレーティングシステムの前記第1のメモリは、予め定められた大きさの領域を有することを特徴とする請求項9に記載のマルチオペレーティングシステム。
  11. 前記第1のメモリおよび前記第2のメモリの一方は、前記第1のオペレーティングシステムと前記第2のオペレーティングシステムとを切り替える切り替え命令を処理順番Nに対応付けて格納し、
    前記第1のメモリおよび前記第2のメモリの他方は、切り替え先のオペレーティングシステムにおける処理の命令を処理順番(N+1)に対応付けて格納し、
    前記実行管理手段は、前記処理順番に沿って、前記切り替え命令および前記処理の命令を実行することにより前記第1のオペレーティングシステムと前記第2のオペレーティングシステムとを切り替えることを特徴とする請求項9または10に記載のマルチオペレーティングシステム。
  12. 前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムは、それぞれ第1のファイルシステムおよび第2のファイルシステムを有し、
    前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムは、それぞれ前記第2のファイルシステムおよび前記第1のファイルシステムへのアクセスが禁止されていることを特徴とする請求項1から11のいずれか一項に記載のマルチオペレーティングシステム。
  13. 一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム方法であって、
    前記第1のオペレーティングシステムが、ネットワークを介して外部と通信する通信ステップと、
    前記第1のオペレーティングシステムが、第1の管理者を認証する第1の認証ステップと、
    前記第1の認証ステップにおいて認証に成功した場合に、前記第1のオペレーティングシステムが、前記通信手段を介して他の装置との共同処理を行う第1の処理ステップと、
    前記第2のオペレーティングシステムが、第2の管理者を認証する第2の認証ステップと、
    前記第2の認証ステップにおいて認証に成功した場合に、当該システム内における単独処理を行う第2の処理ステップと、
    を有することを特徴とするマルチオペレーティングシステム制御方法。
JP2003040925A 2003-02-19 2003-02-19 マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法 Pending JP2004252629A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003040925A JP2004252629A (ja) 2003-02-19 2003-02-19 マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003040925A JP2004252629A (ja) 2003-02-19 2003-02-19 マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法

Publications (1)

Publication Number Publication Date
JP2004252629A true JP2004252629A (ja) 2004-09-09

Family

ID=33024643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003040925A Pending JP2004252629A (ja) 2003-02-19 2003-02-19 マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法

Country Status (1)

Country Link
JP (1) JP2004252629A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007108062A1 (ja) * 2006-03-17 2007-09-27 Fujitsu Limited サーバ管理方法、プログラム及び装置
WO2008117411A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited グリッド処理制御装置
WO2011114655A1 (ja) * 2010-03-16 2011-09-22 パナソニック株式会社 情報処理装置、仮想マシン生成方法及びアプリ配信システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007108062A1 (ja) * 2006-03-17 2007-09-27 Fujitsu Limited サーバ管理方法、プログラム及び装置
JPWO2007108062A1 (ja) * 2006-03-17 2009-07-30 富士通株式会社 サーバ管理方法、プログラム及び装置
WO2008117411A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited グリッド処理制御装置
US8225080B2 (en) 2007-03-27 2012-07-17 Fujitsu Limited Grid processing control apparatus
JP5218394B2 (ja) * 2007-03-27 2013-06-26 富士通株式会社 グリッド処理制御装置
WO2011114655A1 (ja) * 2010-03-16 2011-09-22 パナソニック株式会社 情報処理装置、仮想マシン生成方法及びアプリ配信システム
US9081596B2 (en) 2010-03-16 2015-07-14 Panasonic Intellectual Property Management Co., Ltd. Information processing device, virtual machine creation method, and application distribution system

Similar Documents

Publication Publication Date Title
US10235515B2 (en) Method and apparatus for on-demand isolated I/O channels for secure applications
Huang et al. A case for high performance computing with virtual machines
JP2003518287A (ja) デュアルモードプロセッサ
EP1682981B1 (en) System for invoking a privileged function in a device
KR100832664B1 (ko) 장치의 동작 모드들 간 전이를 제공하는 시스템
US8151147B2 (en) Synchronize error handling for a plurality of partitions
WO2006134691A1 (ja) 情報処理装置、復旧装置、プログラム及び復旧方法
JP2004258840A (ja) 仮想化されたi/oデバイスをもつ計算機システム
Vilanova et al. Direct Inter-Process Communication (dIPC) Repurposing the CODOMs Architecture to Accelerate IPC
US7552434B2 (en) Method of performing kernel task upon initial execution of process at user level
US7546600B2 (en) Method of assigning virtual process identifier to process within process domain
Masti et al. Enabling trusted scheduling in embedded systems
Gebhardt et al. Challenges for inter virtual machine communication
JP2004252629A (ja) マルチオペレーティングシステムおよびマルチオペレーティングシステム制御方法
Al-Sakran et al. An overview of the Internet of things closed source operating systems
JP4853671B2 (ja) アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム
JP3863117B2 (ja) マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置
JP3863094B2 (ja) マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置
Yiu The Next Steps in the Evoluation of Embedded Processors for the Smart Connected Era,”
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
CN117744067B (zh) 访问空间切换方法、装置、处理器、设备及存储介质
JP3863091B2 (ja) マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置
Primorac Combining Dataplane Operating Systems and Containers for Fast and Isolated Datacenter Applications
WO2009113571A1 (ja) 複数の基盤ソフトウェアを動作可能な情報処理装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051107

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