(57)【要約】【課題】複数のＯＳが動作する環境で、アプリケーションの特性に応じて最適なＯＳを選択するマルチＯＳ計算装置、オペレーティングシステム選択方法、プログラム、を提供すること。【解決手段】複数のオペレーティングシステムＯＳ１，ＯＳ２を並行して実行可能な情報処理装置１０において、オペレーティングシステム上で実行されるアプリケーションプログラムＡＰ１、ＡＰ２のＡＰ特性情報４８を記憶した記憶手段１７と、オペレーティングシステムの負荷状況を測定するＯＳ負荷測定手段４４と、ＯＳ負荷測定手段４４により測定された負荷状況、及び、ＡＰ特性情報４８に基づき、アプリケーションプログラムを実行するオペレーティングシステムを選択するＯＳ選択手段４５と、を有することを特徴とする。【選択図】図２
2008262419.tif 000002
【特許請求の範囲】
【請求項１】
複数のオペレーティングシステムを並行して実行可能な情報処理装置において、
前記オペレーティングシステム上で実行されるアプリケーションプログラムのＡＰ特性情報を記憶した記憶手段と、
オペレーティングシステムの負荷状況を測定するＯＳ負荷測定手段と、
前記ＯＳ負荷測定手段により測定された負荷状況、及び、前記ＡＰ特性情報に基づき、アプリケーションプログラムを実行するオペレーティングシステムを選択するＯＳ選択手段と、
を有することを特徴とする情報処理装置。
【請求項２】
アプリケーションプログラムの処理負荷を測定するＡＰ負荷測定手段と、
前記ＡＰ負荷測定手段が測定した処理負荷に基づきアプリケーションプログラムの特性を分析するＡＰ特性分析手段と、
前記ＡＰ特性分析手段により分析された特性を前記ＡＰ特性情報に登録するＡＰ特性登録手段と、
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
実行するアプリケーションプログラムに最適なオペレーティングシステムが起動していない場合、実行するアプリケーションプログラムに最適なＯＳを起動させるＯＳ起動手段、を有することを特徴とする、  
請求項１記載の情報処理装置。
【請求項４】
複数のオペレーティングシステムを並行して実行可能な情報処理装置のオペレーティングシステム選択方法において、
ＯＳ負荷測定手段が、オペレーティングシステムの負荷状況を測定するステップと、
ＯＳ選択手段が、前記ＯＳ負荷測定手段により測定された負荷状況と、及び、記憶手段に記憶された前記オペレーティングシステム上で実行されるアプリケーションプログラムのＡＰ特性情報とに基づき、アプリケーションプログラムを実行するオペレーティングシステムを選択するステップと、
を有することを特徴とする情報処理装置のオペレーティングシステム選択方法。
【請求項５】
請求項４記載のオペレーティングシステム選択方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオペレーティングシステムを並行して実行可能な情報処理装置等に関し、特に、アプリケーションプログラムに最適なＯＳを選択できる情報処理装置、オペレーティングシステム選択方法、プログラムに関する。
【背景技術】
【０００２】
アプリケーションプログラム（以下、ＡＰ）はハードウェアとオペレーティングシステム（以下、ＯＳ）の組み合わせからなる所定のプラットフォーム上で実行することが多いが、あるＡＰが異なるプラットフォームを必要とする場合に、別のプラットフォーム又は別の計算機を準備するのは困難な場合が多い。
【０００３】
そこで、１台の計算機で複数の異なるプラットフォームを動作可能とする技術が提案されている（例えば、特許文献１参照。）。特許文献１には、第１ＯＳと第２ＯＳとが互いに独立して各種の処理を実行することを可能に制御する制御部を有し、１台の計算機で複数のＯＳを独立に実行することを可能にするマルチＯＳ構成方法が記載されている。
【０００４】
このように１台のコンピュータで複数のプラットフォームを動作可能であれば、一方のプラットフォームで実行されるＡＰの障害を、他方のプラットフォームで実行されるＡＰにより監視し、一方のＡＰの障害につながる兆候を検出して、起こりうる障害に対する処理を他方のＡＰにより処理することが可能となる（例えば、特許文献２参照。）。すなわち、１台の計算機で複数のプラットフォームが独立して実行可能であれば、一方のＡＰに障害が生じても、他方のＡＰは監視機能を失われることなく起こりうる障害に対処することができる。
【特許文献１】特開平１１−１４９３８５号公報
【特許文献２】特開２００５−１１５７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に記載された障害の監視方法のように、複数のプラットフォームが利用できるにも関わらず、プラットフォームとＡＰの関係を固定してしまうと、資源の効率的な活用ができないという問題が生じる。例えば、一方のプラットフォームが低負荷な状態であっても、そのプラットフォームでＡＰを実行することができず、計算機の資源を効率的に活用することができない。また、ＣＰＵやメモリに高負荷を要求するＡＰがある一方、低負荷なＡＰもあるため、プラットフォームとＡＰの関係を固定してしまうと、１台の計算機としては処理効率が低下してしまう。
【０００６】
本発明は、上記課題に鑑み、複数のＯＳが動作する環境で、アプリケーションの特性に応じて最適なＯＳを選択するマルチＯＳ計算装置、オペレーティングシステム選択方法、プログラム、を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題に鑑み、本発明は、複数のオペレーティングシステムを並行して実行可能な情報処理装置において、オペレーティングシステム上で実行されるアプリケーションプログラムのＡＰ特性情報を記憶した記憶手段（例えば、ハードディスク１７）と、オペレーティングシステムの負荷状況を測定するＯＳ負荷測定手段と、ＯＳ負荷測定手段により測定された負荷状況、及び、ＡＰ特性情報に基づき、アプリケーションプログラムを実行するオペレーティングシステムを選択するＯＳ選択手段と、を有することを特徴とする。
【０００８】
本発明によれば、予め記憶されたＡＰ特性情報と、測定されたＯＳ負荷状況に応じて最適なＯＳを選択することができるので、計算機の資源を効率的に活用することができる。
【発明の効果】
【０００９】
複数のＯＳが動作する環境で、アプリケーションの特性に応じて最適なＯＳを選択するマルチＯＳ計算装置、オペレーティングシステム選択方法、プログラム、を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を参照しながら説明する。
図１は、マルチＯＳ計算装置１０のハードウェア構成図の一例を示す。図１では、マルチＯＳ計算装置１０がＣＡＮ（Controller  Area  Network）やＬＩＮ（Local  Interconnect  Network）等の車内ＬＡＮ１９を介してＧＰＳ装置２１及びエアコン２２と接続され、車載システム１００を構成している。
【００１１】
マルチＯＳ計算装置１０は、プログラムを実行するＣＰＵ１３、プログラム実行の作業領域となりまた一時的にデータを記憶するメモリ（ＲＡＭ）１６、車内ＬＡＮ１９を介してデータを入出力する入出力部１５、ブートプログラムやＢＩＯＳを記憶するＲＯＭ１４、及び、プログラムやファイルを記憶するハードディスク１７がバスにより接続されたコンピュータである。
【００１２】
マルチＯＳ計算装置１０は、例えば、ＧＰＳ装置２１を利用したナビアプリケーションプログラムとエアコン２２を制御するエアコン制御プログラムを１台で実行する。運転者は、操作入力装置１１から目的地や所望の気温を入力でき、マルチＯＳ計算装置１０はディスプレイ１２に現在地や道路地図、現在の温度などを表示する。
【００１３】
図２は、マルチＯＳ計算装置１０の機能ブロック図を示す。本実施形態のマルチＯＳ計算装置１０は、１つのハードウェア（以下、ＨＷという）３０上で２つの異なるオペレーティングシステム（以下、ＯＳという）１及びＯＳ２が独立かつ並行に動作する。また、ＯＳ１上ではアプリケーション（以下、ＡＰという）１及びＡＰ２が独立に実行可能であり、一方の処理が他方の処理結果に影響を与えない。
【００１４】
以下、ＡＰ１（例えば、ナビアプリケーションプログラム）とＡＰ２（例えば、エアコン制御プログラム）を区別する必要がない場合は単にＡＰと称し、ＯＳ１（例えば、Windows（登録商標））とＯＳ２（例えば、LINUX（登録商標））と区別する必要がない場合は単にＯＳと称する。
【００１５】
本実施形態ではＡＰ１はＯＳ１とＯＳ２のいずれでも実行可能であり、ＡＰ２はＯＳ１とＯＳ２のいずれでも実行可能である。なお、図２では、ＯＳの数は２つであるがこれは３以上でよく、ＡＰの数も２つであるがこれも３以上でもよい。
【００１６】
ＯＳ１とＯＳ２には優劣はなく、以下で説明する機能は全てのＯＳが保持しうるが、いずれか一方のＯＳが処理すればよい場合、そのＯＳをマスターＯＳという場合がある。マスターＯＳは、例えば予め定められたＯＳや起動の早いほうのＯＳであるが、本実施形態ではＯＳ１がマスターＯＳである。
【００１７】
電源オンされると、ＣＰＵ１３は、ＲＯＭ１４から起動プログラムやＢＩＯＳを読み出し、コントローラ３１を起動し、ついで、予め定められたＯＳ（例えばマスターＯＳ）を自動的に起動する。また、ＯＳに次いで自動的に起動するよう設定されたＡＰがあれば、後述するように最適なＯＳ（ＯＳ１又はＯＳ２）上で当該ＡＰを実行する。
【００１８】
ＨＷ３０は、ＣＰＵ１３、メモリ１６、Ｉ／Ｏデバイス（例えば、操作入力装置１１、ディスプレイ１２）、その他、画像処理など特定の処理に供されるＩＣである。本実施形態では複数のＯＳ１、ＯＳ２を並行に動作するため、特にＣＰＵ１３は、同じＣＰＵ１、２、３が複数設けられたマルチＣＰＵ又は演算ユニットを複数設けたマルチコア型である。
【００１９】
コントローラ３１は、運転者が存在を意識することのない常駐型のソフトウェアで、ＯＳ１、２に対しＨＷ３０を論理的（時間的にも）に分割し割り当てる。コントローラ３１は、この論理分割を利用して複数の仮想的な計算機の実行環境を作り、それらの実行環境の上で複数のＯＳ１、ＯＳ２を動作させる。仮想的な実行環境の制御に必要なＨＷ３０はコントローラ３１によりＯＳ１又はＯＳ２から隠蔽されている。ＯＳ１又はＯＳ２はシステムコールを発行することで各種のサービスをコントローラ３１に要求することができる。
【００２０】
コントローラ３１はＯＳ１，ＯＳ２が通信するための手段としてＯＳ間通信手段３１ａを有する。ＯＳ間通信手段３１ａは、ＯＳ１とＯＳ２のインターフェイスを提供するのもで、例えば、実行環境間の割り込み（イベント発生）、メッセージ送受信、共有メモリ等を提供する。また、ＯＳ間通信手段３１ａは、ＯＳ１からＯＳ２が使用している物理メモリをアクセス可能としたり、ＯＳ２の所定のメモリの内容をＯＳ１にコピーするなど、ＯＳ間での情報交換を可能としてもよい。したがって、コントローラ３１により、ＯＳ１とＯＳ２は相互に、次述するＡＰ１，ＡＰ２のＡＰ特性情報４８やＯＳ負荷状況を取得することができる。
【００２１】
〔ハードディスク１７に記憶されるプログラム、ＡＰ登録情報４７、ＡＰ特性情報４８〕
それぞれのＯＳ（図２ではＯＳ１）は、ＣＰＵ１３がプログラムを実行することで実現されるＡＰの処理状況を測定するＡＰ負荷測定手段４１、ＡＰの特性を分析するＡＰ特性分析手段４２、ＡＰの特性を登録するＡＰ特性登録手段４３、ＯＳの負荷状況を測定するＯＳ負荷測定手段４４、最適なＯＳを選択するＯＳ選択手段４５、及び、ＯＳを起動させるＯＳ起動手段４６を有する。
【００２２】
図３は、各ＯＳ毎にハードディスク１７に記憶された、ＯＳ１プログラム５０、アプリケーションプログラム４９、ＡＰ登録情報４７、ＡＰ特性情報４８の構成を示す図である。
【００２３】
同じＡＰであっても実行するＯＳが異なるとバイナリデータは異なったものとなるので、ＯＳ毎にアプリケーションプログラム４９が記憶され、同様に、ＡＰ負荷測定手段４１等の手段を実現するプログラムは各ＯＳ毎にコンパイルされ、記憶されている（ソースプログラムを１つ記憶しておき、実行時にＯＳに応じてコンパイルしてもよい）。
【００２４】
このため、ＯＳ毎に、ＡＰ負荷測定手段４１を実現するＡＰ負荷測定プログラム４１Ｐ、ＡＰ特性分析手段４２を実現するＡＰ特性分析プログラム４２Ｐ、ＡＰ特性登録手段４３を実現するＡＰ特性登録プログラム４３Ｐ、ＯＳ負荷測定手段４４を実現するＯＳ負荷測定プログラム４４Ｐ、ＯＳ選択手段４５を実現するＯＳ選択プログラム４５Ｐ、ＯＳを起動させるＯＳ起動手段４６Ｐが記憶されている。
【００２５】
ＡＰ登録情報４７は、各ＡＰの特性を把握するための登録情報を実行日又は取得した日毎に応じ、時系列的に登録したものである。各ＡＰはハッシュ値などの識別情報により識別され、図３では実行日毎に、特定ＨＷ１８の要・不要、常住処理の要・不要、処理負荷、が記憶されている。特定ＨＷ１８は、そのＡＰが所定のＯＳでのみしかサポートされない特定ＨＷ１８（例えば、画像認識用のＩＣ）を利用するか否かを示す情報であり、常駐処理はＡＰがＯＳに常駐するため常駐処理が必要か否かを示す情報であり、処理負荷は当該ＡＰを実行した場合の負荷の大きさを示す情報である。
【００２６】
処理負荷について一例を説明する。処理負荷はＡＰ負荷測定手段４１が取得するが、ＡＰ負荷測定手段４１が実行されたＯＳではＡＰ負荷測定手段４１の実行によりＡＰの負荷を正確に測定できない。そこで、一方のＯＳのＡＰ負荷測定手段４１は、他方のＯＳ上で実行されるＡＰの処理負荷を測定する（すなわち、ＯＳ１のＡＰ負荷測定手段４１がＯＳ２上で実行されるＡＰの処理負荷を測定する）。
【００２７】
図４（ａ）は、処理負荷の測定の概念図を示す。ＯＳのアイドル状態（運転者等から操作が入力されないＯＳの定常状態）でＡＰが実行された場合の処理負荷の増大分は、ＯＳでなく当該ＡＰの処理負荷による増大分と考えてよいので、ＡＰ負荷測定手段４１はＯＳ１及びＯＳ２がアイドル状態の時にＡＰ２の処理負荷を測定する。なお、ＯＳ２がアイドル状態か否かは、ＯＳ１のＡＰ負荷測定手段４１がコントローラ３１に問い合わせて検知する。
【００２８】
本実施形態では、処理負荷をＣＰＵ負荷率から測定する。ＣＰＵ負荷率は例えば、０〜１００％の間で変動し、ＯＳ２がアイドル状態の場合はほぼ０〜数％である。ＡＰ負荷測定手段４１は、ＡＰ２実行時のＣＰＵ負荷率の変化量、例えば、起動から数秒間のＣＰＵ負荷率の平均、起動された直後の極大値、等からＡＰ２の処理負荷を計測する。ＯＳ１のＡＰ負荷測定手段４１は、ＯＳ２のＣＰＵ負荷率をコントローラ３１に問い合わせて取得する。
【００２９】
ＡＰ負荷測定手段４１は、例えば１日１回などを上限にしてＡＰ２が実行された場合にＡＰ２の処理負荷を測定する。ＡＰ特性登録手段４３は、測定した処理負荷をＡＰ２の識別番号に対応づけてハードディスク１７に記憶していく。
【００３０】
なお、ＡＰ１の処理負荷も、同様にＯＳ２上ではＡＰ１を実行して取得することができる。運転者等からＡＰ１の実行要求がない場合は、ＡＰ負荷測定手段４１はＯＳ２の負荷状況がそれほど高くない場合に、コントローラ３１を介してＯＳ２上でＡＰ１を実行させ、処理負荷を取得する。
【００３１】
図３に戻り、ＡＰ特性情報４８は処理負荷を統計処理した各ＡＰの処理量を示す情報を有している。ＡＰ特性分析手段４２は、例えば、所定日経過毎又は各ＡＰの所定実行回数毎に、ＡＰ登録情報４７から処理負荷を抽出し、処理負荷の平均値と所定の閾値を比較したり、他のＡＰの処理負荷と比較するなどして、各ＡＰの処理量を更新する。例えば、ＡＰ特性分析手段４２は、処理負荷の平均値と所定の閾値を比較して、処理量を大・中・小の３段階に分類する。ＡＰ特性登録手段４３は、更新された処理量をＡＰ１、ＡＰ２の識別番号に対応づけてハードディスク１７に記憶していく。
【００３２】
なお、図４（ａ）のようにＡＰ２を実際に実行した時の処理負荷から処理量を求めずに、予めＡＰ２の処理量をＡＰ特性情報４８に登録しておいてもよい。ＡＰの処理量は同じＡＰであれば大きく変化するものではないので、予め登録しておいてもＡＰの処理負荷を反映したものとすることができる。
【００３３】
ＯＳ１プログラム５０に相当するＯＳｘプログラム（ｘ：２、３，…）、ＡＰ登録情報４７及びＡＰ特性情報４８は、各ＯＳ毎に記憶されている。なお、ＡＰ登録情報４７及びＡＰ特性情報４８がＯＳに依存しない場合、これらは所定のＯＳ（例えばマスターＯＳ）が管理し、他の複数のＯＳと共有すればよい。
【００３４】
〔ＯＳ負荷状況〕
ＡＰの処理量が過去の統計情報であるのに対し、ＯＳ負荷状況は原理的には常に変動する。ＯＳ負荷状況は、ＣＰＵ負荷率、ロードアベレージ（平均負荷）、メモリ使用量、スワップ使用量（仮想メモリ量）、ネットワーク使用量、等（以下、これらを負荷測定パラメータという）により決定される。ＯＳ負荷測定手段４４は、定期的又は所定のタイミングで負荷測定パラメータを検出し、各負荷測定パラメータの値に基づきＯＳ負荷状況を測定する。例えば、各負荷測定パラメータの値に重み付けして加算したものを所定の閾値と比較して、高・中・低のようにＯＳ負荷状況を決定する。
【００３５】
図４（ｂ）は、ＯＳ負荷状況の測定の概念図を示す。ＯＳ１とＯＳ２が動作している場合、それぞれのＯＳ負荷状況を測定する必要がある。この場合、ＯＳ１又はＯＳ２のいずれか（マスターＯＳ）のＯＳ負荷測定手段４４がＯＳ１のＯＳ負荷状況を測定し、ＯＳ２のＯＳ負荷状況をコントローラ３１を介して測定する。図４（ｂ）では、ＯＳ１のＯＳ負荷測定手段４４がＯＳ１とＯＳ２の負荷状況を測定している。なお、ＯＳ１とＯＳ２それぞれのＯＳ負荷測定手段４４がそれぞれＯＳ負荷状況を測定して、コントローラ３１を介して相互にＯＳ負荷状況を送信してもよい。
【００３６】
〔ＯＳの選択〕
ＯＳ１のＯＳ選択手段４５は、ＡＰの実行が要求された時にＯＳ負荷測定プログラム４４Ｐが測定したＯＳ１負荷状況とＯＳ２負荷状況、及び、ＡＰ特性情報４８に基づき、実行要求されたＡＰをＯＳ１又はＯＳ２のいずれで実行するかを選択する。
【００３７】
ＯＳ選択手段４５は、原則的に、実行するＡＰの処理量が大きい場合には処理状況の低いＯＳを選択するようにすることで、特定のＯＳだけが負荷が集中することを防止する。例えば図３では、識別番号ＡＡ１２３ＢＢ（ＡＰ１）の処理量は「大」なので、ＡＰ１を実行する場合、ＯＳ選択手段４５はＯＳ負荷状況が「低」のＯＳ１を選択する。同様に、実行要求されたＡＰの処理量が「中」の場合には、ＯＳ負荷状況が「中」又は「低」のＯＳを選択し、実行要求されたＡＰの処理量が「小」の場合には、ＯＳ負荷状況が「大」〜「低」のＯＳを選択する。
【００３８】
ＯＳ起動手段４６は、ＯＳ選択手段４５が起動しているＯＳから最適なＯＳを選択できない場合、ＯＳ選択手段４５が指示する最適なＯＳを起動させる。
【００３９】
また、ＯＳ選択手段４５は、特定ＨＷ１８が「要」のＡＰの実行要求があった場合、その特定ＨＷ１８の例えばデバイスドライバを有するＯＳを選択する。したがって、特定ＨＷ１８が「要」のＡＰの実行要求があった場合は、ＯＳ選択手段４５が選択するＯＳは固定されるか、又は、選択範囲が狭められ最適なＯＳが選択されるとは限らない。このため、ＯＳ選択手段４５は、次の場合、ＯＳ起動手段４６に新たに特定ＨＷ１８に対応したＯＳの起動を要求する。
【００４０】
・特定ＨＷ１８が「要」のＡＰの処理量が「大」の場合で特定ＨＷ１８に対応したＯＳのＯＳ負荷状況が「低」でない場合
・特定ＨＷ１８が「要」のＡＰの処理量が「中」で特定ＨＷ１８に対応したＯＳのＯＳ負荷状況が「中」又は「低」でない場合
・特定ＨＷ１８に対応したＯＳが起動していない場合
〔ＡＰ登録情報４７、ＡＰ特性情報４８の登録〕
続いて、ＡＰ登録情報４７の登録処理の手順について、図５のフローチャート図に基づき説明する。図５のフローチャート図は、ＯＳ１及びＯＳ２がすでに起動し、ＡＰ１もＡＰ２も実行されていない状態からスタートする。また、図５はＯＳ１（マスターＯＳ）がＡＰ２のＡＰ登録情報４７を登録する処理である。
【００４１】
例えば運転者からＡＰ２の実行を要求されると、ＡＰ特性登録手段４３はＡＰ２の識別番号を取得する（Ｓ１０）。この識別番号は、上記のようにハッシュ値等であり一意に定まる。
【００４２】
ついで、ＡＰ特性登録手段４３は、ハードディスク１７に記憶されているＡＰ特性情報４８を参照してＡＰ２のＡＰ特性情報４８が登録されているか否かを判定する（Ｓ２０）。登録されていない場合（Ｓ２０のＮｏ）、ＡＰ特性登録手段４３はＡＰ登録情報４７とＡＰ特性情報４８に新たに登録欄を確保する（Ｓ３０）。
【００４３】
登録されている場合（Ｓ２０のＹｅｓ）、ＯＳ１のＯＳ負荷測定手段４４は、他のＯＳのＯＳ負荷状況を測定する（Ｓ４０）。他のＯＳは、ここではＯＳ２である。ＯＳ負荷測定手段４４は、コントローラ３１を介してＯＳ２のＯＳ負荷状況を取得する。
【００４４】
そして、ＯＳ負荷測定手段４４は他のＯＳがアイドル状態であるか否かを判定する（Ｓ５０）。アイドル状態であれば、ＡＰ２の処理負荷を精度よく測定できるので、アイドル状態でない場合は（Ｓ５０のＮｏ）、ＯＳ負荷測定手段４４はアイドル状態になるまで待機する。
【００４５】
他のＯＳがアイドル状態の場合（Ｓ５０のＹｅｓ）、ＡＰ負荷測定手段４１は他のＯＳ上でＡＰ２を実行し、処理負荷（ＣＰＵ負荷率）を測定する（Ｓ６０）。他のＯＳ上で実行するので、ＯＳ負荷測定手段４４はコントローラ３１を介して他のＯＳ（ＯＳ２）にＡＰ２の実行を要求すると共に、ＣＰＵ負荷率を受信することで処理負荷を測定する。
【００４６】
処理負荷が測定されたらＡＰ負荷測定手段４１は、ハードディスク１７のＡＰ登録情報４７に、ＡＰ２の識別番号、特定ＨＷ１８、常駐処理、処理負荷、実行日、を記憶させる（Ｓ７０）。
【００４７】
ついで、ＡＰ負荷測定手段４１は、ＡＰ２の処理負荷が測定されていない他のＯＳがあるか否かを判定する（Ｓ８０）。この判定は、ＯＳ２だけでなくＯＳ３、ＯＳ４等が起動している場合、それらのＯＳ上でＡＰ２の処理負荷を測定するためのものである。したがって、ＡＰ２の処理負荷が測定されていない他のＯＳがある場合（Ｓ８０のＹｅｓ）、ステップＳ４０に戻り、ＯＳ負荷状況の測定から繰り返す。以上の処理により、ＯＳ１を除き、起動しているＯＳ上でＡＰ２の処理負荷が測定され、ＡＰ登録情報４７に登録される。なお、ＯＳ１におけるＡＰ２の処理負荷は、ＯＳ２のＡＰ負荷測定手段４１がＯＳ１の負荷状況が低い場合にＯＳ１上で仮想的にＡＰ２を実行して測定する。
【００４８】
ついで、ＡＰ特性分析手段４２は、ＡＰ登録情報４７を参照し必要であれば処理量を更新するので、ＡＰ特性登録手段４３は更新された処理量をＡＰ特性情報４８に登録する（Ｓ９０）。以上の処理により、ＡＰの処理量（大・中・小）を測定することができる。
【００４９】
〔最適なＯＳの選択〕
続いて、ＯＳ選択手段４５がＡＰに最適なＯＳを選択する手順について、図６のフローチャート図に基づき説明する。図６のフローチャート図は、ＯＳ１及びＯＳ２がすでに起動し、ＡＰ１もＡＰ２も実行されていない状態からスタートする。また、図５はＯＳ１（マスターＯＳ）がＡＰに最適なＯＳを選択する処理である。
【００５０】
例えば運転者からＡＰ（以下、実行ＡＰという）の実行を要求されると、ＯＳ選択手段４５はＡＰの識別番号を取得する（Ｓ１１０）。この識別番号は、上記のようにハッシュ値等であり一意に定まる。
【００５１】
ついで、ＯＳ選択手段４５は、ハードディスク１７に記憶されているＡＰ特性情報４８を参照して実行ＡＰのＡＰ特性情報４８を抽出する（Ｓ１２０）。なお、実行ＡＰのＡＰ特性情報４８が登録されていない場合、ＯＳ１又はＯＳ２のうち負荷状況の低いＯＳで実行しておき、図５のフローチャート図のようにＡＰ登録情報４７、ＡＰ特性情報４８を登録する。
【００５２】
ついで、ＯＳ負荷測定手段４４は、起動しているＯＳ（ＯＳ１、ＯＳ２）のＯＳ負荷状態を測定する（Ｓ１３０）。これにより、ＯＳ１とＯＳ２の現在のＯＳ負荷状態がそれぞれ測定された。
【００５３】
ついで、ＯＳ選択手段４５は実行ＡＰが特定ＨＷ１８を必要とするか否かを判定する（Ｓ１４０）。ＯＳ選択手段４５は、ＯＳ登録情報４６を参照して実行ＡＰの特定ＨＷ１８を「要」であるか否か、「要」の場合は特定ＨＷ１８に対応したＯＳを抽出する。
【００５４】
実行ＡＰが特定ＨＷ１８を必要としない場合（Ｓ１４０のＮｏ）、ＯＳ選択手段４５は最適なＯＳが起動しているか否かを判定する（Ｓ１５０）。すなわち、
実行ＡＰの処理量が「大」の場合には、ＯＳ負荷状況が「低」のＯＳが起動しているか否か、
実行ＡＰの処理量が「中」の場合には、ＯＳ負荷状況が「中」又は「低」のＯＳが起動しているか否か、
実行ＡＰの処理量が「小」の場合には、ＯＳ負荷状況が「大」〜「低」のＯＳが起動しているか否か、を判定する。
【００５５】
このような最適なＯＳが起動している場合（Ｓ１５０のＹｅｓ）、ＯＳ選択手段４５はコントローラ３１を介して、選択した最適なＯＳに実行ＡＰの実行を要求し、選択されたＯＳが実行ＡＰを実行する（Ｓ１６０）。
【００５６】
ステップＳ１４０に戻り、実行ＡＰが特定ＨＷ１８を必要とする場合（Ｓ１４０のＹｅｓ）、ＯＳ選択手段４５は、特定ＨＷ１８に対応したＯＳが実行ＡＰに最適なＯＳか否かを判定する（Ｓ１７０）。
【００５７】
すなわち、
実行ＡＰの処理量が「大」の場合には、特定ＨＷ１８に対応したＯＳのＯＳ負荷状況が、「低」か否か、
実行ＡＰの処理量が「中」の場合には、特定ＨＷ１８に対応したＯＳのＯＳ負荷状況が、「中」又は「低」か否か、
実行ＡＰの処理量が「小」の場合には、特定ＨＷ１８に対応したＯＳのＯＳ負荷状況が、「大」〜「低」か否か、
特定ＨＷ１８に対応したＯＳが起動しているか、判定する。
【００５８】
特定ＨＷ１８に対応したＯＳが実行ＡＰに最適なＯＳである場合（Ｓ１７０のＹｅｓ）、ステップＳ１６０に進み、ＯＳ選択手段４５はコントローラ３１を介して、選択した最適なＯＳに実行ＡＰの実行を要求し、選択されたＯＳが実行ＡＰを実行する（Ｓ１６０）。
【００５９】
特定ＨＷ１８に対応したＯＳが実行ＡＰに最適なＯＳでない場合（Ｓ１７０のＮｏ）、ＯＳ選択手段４５は特定ＨＷ１８に対応したＯＳをＯＳ起動手段４６に指示し、ＯＳ起動手段４６は新たにＯＳを起動する（Ｓ１８０）。
【００６０】
同様に、ステップＳ１５０において、最適なＯＳが起動していない場合（Ｓ１５０のＮｏ）、ＯＳ選択手段４５は最適なＯＳをＯＳ起動手段４６に指示し、ＯＳ起動手段４６は新たにＯＳを起動する（Ｓ１８０）。
【００６１】
新たにＯＳが起動した場合、ＯＳ選択手段４５はコントローラ３１を介して、起動した最適なＯＳに実行ＡＰの実行を要求し、新たに起動されたＯＳが実行ＡＰを実行する（Ｓ１９０）。
【００６２】
したがって、ＯＳ１は、ＡＰ特性情報４８とＯＳ負荷状況に基づき実行するＡＰに最適なＯＳを自動的に選択してＡＰを振り分けることができる。
【００６３】
また、このように、複数ＯＳを独立かつ並行して動作可能とすることで、車載するＥＣＵ（電子制御ユニット）を統合してその数を低減することが可能となる。また、統合することで、最適なＯＳ上でＡＰを実行することができるので、余裕のあるＥＣＵの処理能力を有効に活用することができる。
【００６４】
また、複数の異なるＯＳを並列に実行できるので、仮に特定のＯＳでしか実行できないＡＰがあっても、そのＡＰを１つのマルチＯＳ計算装置１０で実行できるので、過去のソフトウェアを有効活用できる。また、複数のＯＳは互いに独立に影響を受けることなく動作するので、あるＯＳに障害が生じてもその障害が他のＯＳに波及することがない。
【図面の簡単な説明】
【００６５】
【図１】マルチＯＳ計算装置のハードウェア構成図の一例である。
【図２】マルチＯＳ計算装置の機能ブロック図である。
【図３】ＯＳ１プログラム、アプリケーションプログラム、ＡＰ登録情報、ＡＰ特性情報の構成を示す図である。
【図４】処理負荷の測定、ＯＳ負荷状況の測定、の概念図である。
【図５】ＡＰ登録情報の登録処理の手順を示すフローチャート図である。
【図６】ＯＳ選択手段がＡＰに最適なＯＳを選択する手順を示すフローチャート図である。
【符号の説明】
【００６６】
１０      マルチＯＳ計算装置
１１      操作入力装置
１２      ディスプレイ
１３      ＣＰＵ
１４      ＲＯＭ
１５      入出力部
１６      メモリ
１７      ハードディスク
１８      特定ＨＷ
１９      車内ＬＡＮ
２１      ＧＰＳ装置
２２      エアコン
３０      ハードウェア（ＨＷ）
４１      ＡＰ負荷測定手段
４２      ＡＰ特性分析手段
４３      ＡＰ特性登録手段
４４      ＯＳ負荷測定手段
４５      ＯＳ選択手段
４６      ＯＳ起動手段
４７      ＡＰ登録情報
４８      ＡＰ特性情報
【図１】
2008262419.tif 000003
【図２】
2008262419.tif 000004
【図３】
2008262419.tif 000005
【図４】
2008262419.tif 000006
【図５】
2008262419.tif 000007
【図６】
2008262419.tif 000008