(57)【特許請求の範囲】
【請求項１】
第１のオペレーティングシステムを実行する第１の処理部と、
第２のオペレーティングシステムを実行する第２の処理部と、
前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、
前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
【請求項２】
前記第１のアプリケーションプログラムが前記第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第２のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第１のアプリケーションプログラムに基づいて、前記第２のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第２のアプリケーションプログラムを起動させる処理であることを特徴とする、請求項１記載の情報処理装置。
【請求項３】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第２のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第２の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第２の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、請求項１記載の情報処理装置。
【請求項４】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第１のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である請求項１記載の情報処理装置。
【請求項５】
前記第１のオペレーティングシステムは、前記第２のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
請求項１ないし４のいずれか１項記載の情報処理装置。
【請求項６】
前記第１のオペレーティングシステムと前記第２のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第２のアプリケーションプログラムを起動する処理は、前記第２のアプリケーションプログラムを起動するのに先だって、前記第２のオペレーティングシステムを起動させる処理であることを特徴とする、
請求項１ないし５のいずれか１項記載の情報処理装置。
【請求項７】
第１のオペレーティングシステムを実行する第１の処理部と、第２のオペレーティングシステムを実行する第２の処理部と、前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
【請求項８】
第１のオペレーティングシステムを実行する第１の処理部と、第２のオペレーティングシステムを実行する第２の処理部と、前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
従来、複数のオペレーティングシステム（以下、ＯＳと表記する）を搭載した情報処理装置が知られている。ＯＳを切り替え可能とすることによって、ユーザは各ＯＳに依存するアプリケーションプログラム（以下、アプリと表記する）を一台の情報処理装置で利用すること等が可能となり、情報処理装置の利便性が向上する。
【０００３】
図１は、二種類のＯＳを搭載するデュアルＯＳ端末（情報処理装置）のユーザによる使用態様を例示した図である。まず、時点（１）において、ユーザは第１のＯＳ上で動作するアプリによって動画鑑賞を行っている。次に、時点（２）において、ユーザは鑑賞した動画の編集を行いたいと考える。仮に、動画編集に関するアプリは、第２のＯＳの方が充実しているものとすると、ユーザは第２のＯＳに切り替えたいと考えることが想定される。従って、時点（３）において、ユーザは、ＯＳ並びに表示画面等を手動で第２のＯＳ側に切り替える。時点（４）において第２のＯＳが起動した後、ユーザは、動画編集に関するアプリを探して起動させる。そして、時点（５）において、起動させたアプリによって動画編集が可能となる。
【０００４】
係る技術に関連し、動作環境を排他的に切り替えることが可能な情報処理装置が知られている（例えば、特許文献１参照）。特許文献１記載の情報処理装置では、第１のＯＳと第２のＯＳのうちいずれか一方が動作できるように動作環境を切り替えている。また、特許文献１記載の情報処理装置では、ＯＳを切り替える際には、実行中のＯＳをユーザが一度終了させた後、情報処理装置の起動時に切り替えを指示するものとしている。また、特許文献１記載の情報処理装置では、第１のＯＳの実行中に所定のメッセージが記憶装置に格納された場合、その後、電源投入や再起動が行われると、メッセージを実行すべきＯＳ（例えば第２のＯＳ）の動作を開始させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２０２６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の情報処理装置は、ユーザがＯＳを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要があるため、手間や時間を要するものであった。また、切り替えられたＯＳ上で所望のアプリを探して起動させるために、更に手間や時間を要するものであった。
【０００７】
特許文献１に記載の情報処理装置は、起動時に選択されるＯＳを自動的に決定することはできるものの、ＯＳを切り替える際にはユーザの操作が必要であり、手間を要する点は同じである。また、ＯＳやアプリの切り替え時間をユーザが待つ必要があるという問題は解消されない。
【０００８】
このように、従来の情報処理装置では、ＯＳやアプリの切り替えに関する利便性が十分でなかった。
【０００９】
１つの側面では、本発明は、情報処理装置の利便性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための一態様は、
第１のオペレーティングシステムを実行する第１の処理部と、
第２のオペレーティングシステムを実行する第２の処理部と、
前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、
前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置である。
【発明の効果】
【００１１】
１実施態様によれば、情報処理装置の利便性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】二種類のＯＳを搭載するデュアルＯＳ端末（情報処理装置）のユーザによる使用態様を例示した図である。
【図２】本発明の一実施例に係る情報処理装置１のハードウエア構成例である。
【図３】本発明の第１実施例に係る情報処理装置１の機能構成例である。
【図４】関連アプリデータテーブル１１４の一例である。
【図５】情報処理装置１によって実行される処理の流れを示すシーケンス図である。
【図６】他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。
【図７】アプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。
【図８】自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。
【図９】本発明の第２実施例に係る情報処理装置２の機能構成例である。
【図１０】情報処理装置２によって実行される処理の流れを示すシーケンス図である。
【図１１】他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。
【図１２】第２のＯＳ用電源制御部２１０によって実行される第２のＯＳ２００の起動処理の流れを示すフローチャートである。
【図１３】第２のＯＳ用電源制御部２１０によって実行される第２のＯＳ１００の終了処理の流れを示すフローチャートである。
【図１４】アプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。
【図１５】自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１４】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【００１５】
［ハードウエア構成］
図２は、本発明の一実施例に係る情報処理装置１のハードウエア構成例である。情報処理装置１は、例えば、ＣＰＵ（Central  Processing  Unit）１０と、ドライブ装置１２と、補助記憶装置１６と、メモリ装置１８と、インターフェース装置２０と、入力装置２２と、表示装置２４と、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【００１６】
ＣＰＵ１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。
【００１７】
ドライブ装置１２は、記憶媒体１４からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体１４がドライブ装置１２に装着されると、プログラムが記憶媒体１４からドライブ装置１２を介して補助記憶装置１６にインストールされる。記憶媒体１４は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型の記憶媒体である。また、補助記憶装置１６は、例えば、ＨＤＤ（Hard  Disk  Drive）やフラッシュメモリである。
【００１８】
プログラムのインストールは、上記のように記憶媒体１４を用いる他、インターフェース装置２０がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置１６にインストールすることによって行うこともできる。ネットワークは、インターネット、ＬＡＮ（Local  Area  Network）、無線ネットワーク等である。また、プログラムは、情報処理装置１の出荷時に、予め補助記憶装置１６やＲＯＭ（Read  Only  Memory）等に格納されていてもよい。
【００１９】
このようにしてインストール又は予め格納されたプログラムをＣＰＵ１０が実行することにより、図２に示す態様の情報処理装置が、本実施例の情報処理装置１として機能することができる。
【００２０】
メモリ装置１８は、例えば、ＲＡＭ（Random  Access  Memory）やＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）である。インターフェース装置２０は、上記ネットワークとの接続等を制御する。
【００２１】
入力装置２２は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、表示装置２４は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）等の表示装置である。情報処理装置１は、表示装置２４の他、プリンタ、スピーカ等の他の種類の出力装置を備えてもよい。
【００２２】
［機能構成］
図３は、本発明の第１実施例に係る情報処理装置１の機能構成例である。情報処理装置１は、第１のＯＳ１００と第２のＯＳ２００が、プラットフォーム５０を共用して動作可能となっている。プラットフォーム５０には、例えばＣＰＵ１０、ドライブ装置１２、補助記憶装置１６、メモリ装置１８、インターフェース装置２０等のうち少なくとも一部が含まれる。なお、本実施例において、特許請求の範囲における第１の処理部と第２の処理部は、第１のＯＳ１００と第２のＯＳ２００をそれぞれ実行する仮想的な処理部に対応する。
【００２３】
また、特許請求の範囲におけるユーザーインターフェースの一例である入力装置２２、表示装置２４には、入出力切替部２６が接続される。入出力切替部２６は、各ＯＳからの指示に応じて、入出力切替信号を入力装置２２及び表示装置２４に出力し、入力装置２２及び表示装置２４をいずれかのＯＳに対応付ける。例えば、入出力切替部２６は、第１のＯＳ１００による表示画面及び第１のＯＳ１００が生成する表示データと、第２のＯＳ２００による表示画面及び第２のＯＳ２００が生成する表示データのいずれかを選択的に表示装置２４に表示させるように切り替える。また、入出力切替部２６は、入力装置２２への入力内容が、第１のＯＳ１００と第２のＯＳ２００のいずれ一方に反映されるように切り替える。
【００２４】
なお、入出力切替部２６は、表示画面全体を選択的に切り替えるのに代えて、例えばいずれか一方のＯＳによる表示画面をメイン部分に、他方のＯＳによる表示画面をサブ部分に表示するものとしてもよい。この場合、特許請求の範囲における「表示部」は、上記「メイン部分」を指す。
【００２５】
また、本実施例において第１のＯＳ１００と第２のＯＳ２００は、基本的にはいずれか一方が選択されて動作するが、時分割等によって並行動作することもできる。第１のＯＳ１００と第２のＯＳ２００が並行動作する期間においても、表示装置２４はいずれかのＯＳによる表示画面を選択的に表示する。
【００２６】
第１のＯＳ１００上では、アプリ状態監視部１０２、アプリ起動／終了処理部１０４、自動切替／完了通知制御部１０６、他ＯＳアプリ起動コマンド生成部１０８、入出力自動切替設定部１１０、アプリ１１２等が動作する。他ＯＳアプリ起動コマンド生成部１０８は、補助記憶装置１６やメモリ装置１８等に格納された関連アプリデータテーブル１１４を参照可能である。第１のＯＳ１００は、例えばAndroid（登録商標）である。
【００２７】
第２のＯＳ２００上では、アプリ状態監視部２０２、アプリ起動／終了処理部２０４、アプリ起動コマンド解読部２０６、アプリ２０８等が動作する。第２のＯＳ２００は、例えばWindows（登録商標）である。
【００２８】
各ＯＳ上で動作する機能ブロックは、補助記憶装置１６やＲＯＭ等に格納されたプログラム・ソフトウエアをＣＰＵ１０が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウエア手段であっても構わない。
【００２９】
アプリ１１２、及びアプリ２０８は、例えば、インターネットブラウザ、メーラ、動画再生アプリ、動画編集アプリ、静止画像閲覧アプリ、静止画像編集アプリ、文書編集アプリ、表計算アプリ、ノートパッド等であり、それぞれのＯＳ上で動作可能である。本実施例では、各ＯＳ上で動作するアプリ群を、それぞれアプリ１１２、２０８と総称する。
【００３０】
ここで、第２のＯＳ２００は、想定される消費電力が第１のＯＳ１００に比して大きいものとなっている。ＯＳを中心として構築されるシステムの想定される消費電力は、ＣＰＵの作動周波数、ソフトウエアの単位時間あたりの平均的なＣＰＵ使用率・処理時間、供給電圧、単位時間あたりの平均的なメモリの使用量等によって決定される。また、ＯＳを中心として構築されるシステムの想定される消費電力は、同一の処理を実行するのに消費する電力によって決定される。本実施例では、第２のＯＳ２００として採用されているWindowsよりも簡易な処理を行うことが多く、ソフトウエアの単位時間あたりの平均的なＣＰＵ使用率・処理時間、単位時間あたりの平均的なメモリの使用量がWindowsよりも小さく、同一の処理を実行するのに消費する電力がWindowsより小さいAndroidが第１のＯＳ１００として採用されているため、第２のＯＳ２００の消費電力が第１のＯＳ１００に比して大きいことが想定される。
【００３１】
アプリ状態監視部１０２は、アプリ１１２の状態を監視し、アプリ１１２の起動時及び終了時に、その旨を知らせるアプリ起動／終了情報を、他ＯＳアプリ起動コマンド生成部１０８に出力する。アプリ状態監視部１０２は、アプリ起動／終了処理部１０４から入力されるアプリ起動／終了情報を参照してアプリ１１２の状態を認識する。
【００３２】
アプリ起動／終了処理部１０４は、入力装置２４に対してなされたユーザ操作に応じて、アプリ１１２の起動処理及び終了処理を実行する。
【００３３】
自動切替／完了通知制御部１０６は、アプリ状態監視部２０２からアプリ起動／終了通知情報を受信し、他ＯＳアプリ起動コマンド生成部１０８からアプリ起動コマンドが入力される。自動切替／完了通知制御部１０６は、後述するように、アプリ２０８の起動完了通知情報を表示装置２４に表示させたり、入出力切替情報を入出力切替部２６に送信したりする制御を行う。自動切替／完了通知制御部１０６は、係る制御の内容を、入出力自動切替設定部１１０から入力される自動切替設定情報に応じて切り替える。こうした制御の詳細については、後述する。
【００３４】
他ＯＳアプリ起動コマンド生成部１０８は、アプリ状態監視部１０２から入力されたアプリ起動／終了情報を用いて関連アプリデータテーブル１１４を検索し、起動されたアプリ１１２に関連するアプリ２０８を抽出する。他ＯＳアプリ起動コマンド生成部１０８は、アプリ状態監視部２０２から受信したアプリ起動／終了通知情報を参照し、起動されたアプリ１１２、すなわち入力装置２２、表示装置２４が対応付けられているアプリ１１２に関連するアプリ２０８が起動されているかどうかを判断する。他ＯＳアプリ起動コマンド生成部１０８は、起動されたアプリ１１２に関連するアプリ２０８が起動されていなければ、他ＯＳアプリ起動コマンドを生成し、アプリ起動コマンド解読部２０６及び自動切替／完了通知制御部１０６に出力する。
【００３５】
関連アプリデータテーブル１１４は、アプリ１１２に含まれるアプリが、アプリ２０８に含まれるアプリのうち、ユーザの使用上関連すると考えられるアプリに対応付けられたデータテーブルである。図４は、関連アプリデータテーブル１１４の一例である。
【００３６】
図示するように、関連アプリデータテーブル１１４では、例えばImage  Viewerが、関連するPhoto  Shop（登録商標）に対応付けられている。Photo  Shopは、Image  Viewerを使用しているユーザが、きめ細やかな編集処理をしたいためPhoto  Shopを使用したくなる可能性が高いため、Image  Viewerと関連する。
【００３７】
また、関連アプリデータテーブル１１４では、例えばBlu-ray（登録商標）  Disc再生リスト表示アプリが、Win  DVD（登録商標）に対応付けられている。Win  DVDは、Blu-ray  Disc再生リスト表示アプリではBlu-ray  Discの再生を行うことができないため、ユーザがWin  DVDを使用したくなる可能性が高いという理由で、Blu-ray  Disc再生リスト表示アプリと関連する。
【００３８】
また、関連アプリデータテーブル１１４では、例えばExcel  Viewerアプリが、MICROSOFT  Excel（登録商標）及びMICROSOFT（登録商標）  Wordに対応付けられている。MICROSOFT  Excelは、Excel  ViewerアプリではVBAがサポートされていないため、ユーザがMICROSOFT  Excelを使用したくなる可能性が高いという理由で、Excel  Viewerアプリと関連する。また、MICROSOFT  Wordは、MICROSOFT  Excel等で計算したデータを文書に使用したくなる可能性が高いため、Excel  Viewerアプリと関連する。
【００３９】
なお、関連アプリデータテーブル１１４は、アプリ１１２に含まれるアプリとアプリ２０８に含まれるアプリが一対一で対応付けられている必要はなく、一のアプリ１１２に複数のアプリ２０８が対応付けられてもよい。また、複数のアプリ１１２に一の（或いは複数の）アプリ２０８が対応付けられてもよい。
【００４０】
入出力自動切替設定部１１０は、ユーザによる入力装置２２を用いた操作を検知し、この操作に応じて決定される、自動切替／完了通知制御部１０６の制御モードを指示するための自動切替設定情報を保持する。自動切替設定情報は、アプリ２０８が起動完了したことを表示した後、第２のＯＳ２００側に自動的に切り替えるかどうかを決定するフラグである。そして、入出力自動切替設定部１１０は、自動切替設定情報を自動切替／完了通知制御部１０６に出力する。
【００４１】
アプリ状態監視部２０２は、アプリ２０８の状態を監視し、アプリ２０８の起動時及び終了時等に、その旨を通知するためのアプリ起動／終了通知情報を、自動切替／完了通知制御部２０６に送信する。アプリ状態監視部２０２は、アプリ起動／終了処理部２０４から入力されるアプリ起動／終了情報を参照してアプリ２０８の状態を認識する。
【００４２】
アプリ起動／終了処理部２０４は、入力装置２４に対してなされたユーザ操作、或いはアプリ起動コマンド解読部２０６から入力されるアプリ起動指示情報に応じて、アプリ２０８の起動処理及び終了処理を実行する。
【００４３】
アプリ起動コマンド解読部２０６は、他ＯＳアプリ起動コマンド生成部１０８から入力されるアプリ起動コマンドを解読し、解読結果に応じてアプリ起動／終了処理部２０４にアプリ起動指示を出力する。
【００４４】
［他ＯＳのアプリを自動起動させる処理］
以下、本実施例の情報処理装置１により行われる、他ＯＳのアプリを自動起動させる処理（他ＯＳアプリ自動起動処理）について、シーケンス図及びフローチャートを用いて説明する。
【００４５】
（シーケンス図）
図５は、情報処理装置１によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【００４６】
まず、第１のＯＳ１００上でアプリ１１２が起動する（Ｓ３００）。アプリ１１２が起動すると、アプリ状態監視部１０２から他ＯＳアプリ起動コマンド生成部１０８にアプリ起動情報が入力される。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されると、関連アプリデータテーブル１１４を検索する（Ｓ３０２）。
【００４７】
起動されたアプリ１１２に関連するアプリ２０８が関連アプリデータテーブル１１４上に存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動コマンドを生成する（Ｓ３０４）。また、他ＯＳアプリ起動コマンド生成部１０８は、生成したアプリ起動コマンドを第２のＯＳ２００側に送信する（Ｓ３０６）。なお、アプリ起動コマンドは、自動切替／完了通知制御部１０６にも出力される。
【００４８】
第２のＯＳ２００は、アプリ起動コマンドが入力されると、例えばスリープ状態から通常起動状態に移行する。そして、アプリ起動コマンド解読部２０６が、アプリ起動コマンドを解読する（Ｓ３０８）。アプリ起動コマンド解読部２０６は、起動すべきアプリ２０８を指定したアプリ起動指示情報を、アプリ起動／終了処理部２０４に出力する。
【００４９】
アプリ起動／終了処理部２０４は、アプリ起動指示情報が入力されると、指定されたアプリ２０８の起動を開始する（Ｓ３１０）。アプリ２０８の起動が完了すると（Ｓ３１２）、アプリ状態監視部２０２がアプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ３１４）。
【００５０】
自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ３１６）。
【００５１】
ここで、Ｓ３００においてアプリ１１２が起動してからＳ３１６でアプリ２０８が起動完了したことが表示されるまでの期間Ｔ１の間は、第１のＯＳ１００による表示画面が表示装置２４により表示され、ユーザはアプリ２０８の使用を継続することができる。すなわち、アプリ１１２に関連するアプリ２０８の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはＯＳやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【００５２】
自動切替／完了通知制御部１０６は、更に、予め入出力自動切替設定部１１０から入力されている自動切替設定情報を参照する（Ｓ３１８）。自動切替設定情報がEnableとなっている場合、自動切替／完了通知制御部１０６は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ３２０）。この際に、自動切替／完了通知制御部１０６は、アプリ起動／終了処理部１０４に対し、アプリ１１２の終了処理を行うように指示してもよい。
【００５３】
Ｓ３２０の処理によって、表示装置２４の表示画面が第２のＯＳ２００による表示画面に切り替わり、入力装置２２への入力内容が第２のＯＳ２００に反映されることになるため、ユーザがアプリ２０８を使用可能な状態となる（Ｓ３２２）。
【００５４】
一方、自動切替／完了通知制御部１０６は、自動切替設定情報がDisableとなっている場合は、Ｓ３２０の処理を行わず、他ＯＳアプリ自動起動処理を終了する。この場合、情報処理装置１は、ユーザによる入力装置２２に対するＯＳの切替操作を受け付ける。ユーザは、入力装置２２に対してＯＳの切替操作を行うことにより、第２のＯＳ２００を起動させてアプリ２０８を使用することができる。
【００５５】
なお、本実施例において、特許請求の範囲における「第２のアプリケーションプログラムの起動完了に基づいて、切り替え部を制御する処理」は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する処理、及び、自動切替設定情報がEnableとなっている場合に入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力する処理又はユーザによる入力装置２２に対するＯＳの切替操作を受け付ける処理に対応する。
【００５６】
係る処理によって、ユーザがＯＳを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志（自動切替設定）によって省略することができる。また、切り替えられたＯＳ上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置１は、ユーザにとっての利便性を向上させることができる。
【００５７】
（フローチャート）
図６〜８は、図５のシーケンス図で説明した処理を、機能ブロック毎（或いは機能ブロック群毎）にフローチャートの形式で示したものである。
【００５８】
図６は、他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００５９】
まず、他ＯＳアプリ起動コマンド生成部１０８は、アプリ１１２が起動したことを示すアプリ起動情報が入力されたか否かを判定する（Ｓ４００）。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されなかった場合は、本フローチャートの１ルーチンを終了する。
【００６０】
アプリ起動情報が入力された場合、他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータテーブル１１４を検索し、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在するか否かを判定する（Ｓ４０２）。他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータテーブル１１４上に、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在しない場合は、本フローチャートの１ルーチンを終了する。なお、本判定処理に、「該当するアプリ２０８が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在し、且つ該当するアプリ２０８が未起動であるか否かを判定する」としてもよい。
【００６１】
関連アプリデータテーブル１１４上に、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、該当するアプリ２０８の起動を指示するアプリ起動コマンドを生成する（Ｓ４０４）。また、他ＯＳアプリ起動コマンド生成部１０８は、生成したアプリ起動コマンドを第２のＯＳ２００側のアプリ起動コマンド解読部２０６に送信する（Ｓ４０６）。
【００６２】
図７は、第２のＯＳ２００側のアプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００６３】
まず、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを受信したか否かを判定する（Ｓ４２０）。アプリ起動コマンドを受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【００６４】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを解読し（Ｓ４２２）、アプリ起動指示情報をアプリ起動／終了処理部２０４に出力する。
【００６５】
アプリ起動／終了処理部２０４は、アプリ起動指示情報により指定されたアプリ２０８を起動させる（Ｓ４２４）。アプリ起動／終了処理部２０４は、アプリ２０８の起動が完了すると、その旨を示すアプリ起動（完了）情報をアプリ状態監視部２０２に出力する。
【００６６】
アプリ状態監視部２０２は、Ｓ４２４で起動開始されたアプリ２０８の起動が完了すると（Ｓ４２６）、アプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ４２８）。
【００６７】
図８は、自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００６８】
まず、自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信したか否かを判定する（Ｓ４４０）。自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【００６９】
アプリ起動（完了）通知情報を受信した場合、自動切替／完了通知制御部１０６は、係る起動が、アプリ起動コマンドによる起動であるか否かを判定する（Ｓ４４２）。本判定は、例えば、アプリ起動（完了）通知情報の受信の所定時間前から現在までの間に、他ＯＳアプリ起動コマンド生成部１０８から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動（完了）通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替／完了通知制御部１０６は、アプリ起動コマンドによる起動でない場合は、本フローチャートの１ルーチンを終了する。
【００７０】
なお、アプリ起動コマンドによる起動でない場合（ユーザの何らかの操作による起動である場合）にも、アプリ２０８の起動完了を表示させるようにしてもよく、この場合、Ｓ４４２の判定は必須でない。
【００７１】
アプリ起動コマンドによる起動である場合、自動切替／完了通知制御部１０６は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ４４４）。
【００７２】
次に、自動切替／完了通知制御部１０６は、予め入出力自動切替設定部１１０から入力されている自動切替設定情報がEnableとなっているか否かを判定する（Ｓ４４６）。自動切替／完了通知制御部２０６は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの１ルーチンを終了する。
【００７３】
自動切替設定情報がEnableとなっている場合、自動切替／完了通知制御部２０６は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ４４８）。すなわち、入力装置２２及び表示装置２４を第２のＯＳ２００側に切り替える。
【００７４】
［消費電力との関係等］
以上の説明では、専ら第１のＯＳ１００側から第２のＯＳ２００側へのアプリやＯＳの切り替えについて説明した。第２のＯＳ２００は、想定される消費電力が第１のＯＳ１００に比して大きいため、例えば初期状態では第１のＯＳ１００を起動させ、必要に応じて第２のＯＳ２００を起動させるという用い方によって、情報処理装置１の消費電力を抑制することができる。また、これに限らず、情報処理装置１は、第２のＯＳ２００側から第１のＯＳ１００側へのアプリやＯＳの切り替えについても、同様に行うものであってもよい。
【００７５】
［まとめ］
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【００７６】
また、初期状態では電力消費の小さい第１のＯＳ１００を起動させ、必要に応じて電力消費の大きい第２のＯＳ２００を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【００７７】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【００７８】
［ハードウエア／機能構成］
ハードウエア構成については、基本的には第１実施例と同様であるため、図２を参照することとして図示及び説明を省略する。以下、第１実施例と共通する構成要素については同一の符号を付し、基本機能等についての説明を省略する。
【００７９】
図９は、本発明の第２実施例に係る情報処理装置２の機能構成例である。情報処理装置２は、第１のＯＳ１００と第２のＯＳ２００が、別々のプラットフォーム５１、５２を利用して動作可能となっている。第１のプラットフォーム５１は、例えばＡＲＭ(登録商標)アーキテクチャに基づくプラットフォームである。第２のプラットフォーム５２は、例えばインテル（登録商標）アーキテクチャに基づくプラットフォームである。第２のプラットフォームは第１のプラットフォームに比べて単位時間辺りの最大処理能力が高いものをもちいてもよい。第１のプラットフォームは第２のプラットフォームに比べて、同一の処理を実行するのに消費する電力が低いものを用いてもよい。各プラットフォームには、それぞれ専用のＣＰＵ１０が含まれ、更に、ドライブ装置１２、補助記憶装置１６、メモリ装置１８、インターフェース装置２０等のうち一部が含まれ得る。複数のＣＰＵ１０がプラットフォームを形成するものとして、例えばマルチコア・プロセッサが好適に適用される。
【００８０】
入力装置２２、表示装置２４、入出力切替部２６の関係については、第１実施例と同様である。
【００８１】
また、第２実施例において第１のＯＳ１００と第２のＯＳ２００は、基本的にはいずれか一方が選択されて動作するが、それぞれのプラットフォームを利用して並行動作することもできる。第１のＯＳ１００と第２のＯＳ２００が並行動作する期間においても、表示装置２４はいずれかのＯＳによる表示画面を選択的に表示する。
【００８２】
第２実施例の情報処理装置２における第１のＯＳ１００上では、アプリ状態監視部１０２、アプリ起動／終了処理部１０４、自動切替／完了通知制御部１０６、他ＯＳアプリ起動コマンド生成部１０８、入出力自動切替設定部１１０、アプリ１１２、他ＯＳ起動状態判断部１１６等が動作する。なお、図示しない第１のＯＳ用電源制御部が存在してもよいし、後述する第２のＯＳ用電源制御部２１０がプラットフォーム５１に対する供給電力も制御する（第１のＯＳ１００と第２のＯＳ２００で共用される）ものとしてもよい。他ＯＳアプリ起動コマンド生成部１０８は、補助記憶装置１６やメモリ装置１８等に格納された関連アプリデータテーブル１１４を参照可能である。第１のＯＳ１００は、例えばAndroidである。
【００８３】
他ＯＳアプリ起動コマンド生成部１０８は、アプリ状態監視部１０２から入力されたアプリ起動／終了情報を用いて関連アプリデータテーブル１１４を検索し、起動されたアプリ１１２に関連するアプリ２０８を抽出する。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動／終了通知情報を参照し、起動されたアプリ１１２に関連するアプリ２０８が起動されていなければ、他ＯＳ起動状態判断部１１６から入力されている他ＯＳ起動状態情報を参照して以下の処理を行う。
【００８４】
第２のＯＳ２００が起動されていない場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動依頼情報を他ＯＳ起動状態判断部１１６に、他ＯＳアプリ起動コマンドをアプリ起動コマンド解読部２０６及び自動切替／完了通知制御部１０６に出力・送信する。一方、第２のＯＳ２００が起動されている場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳアプリ起動コマンドをアプリ起動コマンド解読部２０６及び自動切替／完了通知制御部１０６に出力・送信する。
【００８５】
他ＯＳ起動状態判断部１１６は、ＰＣ電源制御部２１０から第２のＯＳ起動／終了通知情報を受信し、第２のＯＳ起動／終了通知情報に基づく内容の他ＯＳ起動状態情報を、他ＯＳアプリ起動コマンド生成部１０８に出力する。また、他ＯＳ起動状態判断部１１６は、他ＯＳアプリ起動コマンド生成部１０８から他ＯＳ起動依頼情報が入力されると、第２のＯＳ起動コマンドを、第２のＯＳ用電源制御部２１０に送信する。
【００８６】
一方、第２のＯＳ２００上では、アプリ状態監視部２０２、アプリ起動／終了処理部２０４、アプリ起動コマンド解読部２０６、アプリ２０８等が動作する。第２のＯＳ２００は、例えばWindowである。
【００８７】
また、第２実施例の情報処理装置２は、第２のＯＳ２００側の構成要素として、第２のＯＳ用電源制御部２１０を備える。第２のＯＳ用電源制御部２１０は、プラットフォーム５２に対する供給電力を制御する。また、第２のＯＳ用電源制御部２１０は、第２のＯＳ２００の起動／終了状態を示す第２のＯＳ起動／終了通知情報を、第１のＯＳ１００側の他ＯＳ起動状態判断部１１６に送信する。
【００８８】
アプリ１１２、アプリ２０８、関連アプリデータテーブル１１４の内容については第１実施例と同様である。また、電源制御部２１０、他ＯＳアプリ起動コマンド生成部１０８、他ＯＳ起動状態判断部１１６を除く各構成要素の機能については第１実施例と同様である。従って、これらについての説明は省略する。
【００８９】
第２実施例においても、第２のＯＳ２００は、想定される消費電力が第１のＯＳ１００に比して大きいものとなっている。第２実施例では、前述のように第１のＯＳ１００と第２のＯＳ２００でプラットフォームが異なるため、ＣＰＵ周波数や供給電圧等が異なる場合があり、想定される消費電力の相違は第１実施例に比して大きいものとなり得る。このため、初期状態では第１のＯＳ１００を起動させ、必要に応じて第２のＯＳ２００を起動させることにより消費電力を抑制できるという効果は、第１実施例よりも大きいものとなり得る。
【００９０】
［他ＯＳのアプリを自動起動させる処理］
以下、本実施例の情報処理装置２により行われる、他ＯＳのアプリを自動起動させる処理（他ＯＳアプリ自動起動処理）について、シーケンス図及びフローチャートを用いて説明する。
【００９１】
（シーケンス図）
図１０は、情報処理装置２によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【００９２】
まず、第１のＯＳ１００上でアプリ１１２が起動する（Ｓ５００）。アプリ１１２が起動すると、アプリ状態監視部１０２から他ＯＳアプリ起動コマンド生成部１０８にアプリ起動情報が入力される。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されると、関連アプリデータテーブル１１４を検索する（Ｓ５０２）。
【００９３】
起動されたアプリ１１２に関連するアプリ２０８が関連アプリデータテーブル１１４上に存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動状態情報により第２のＯＳ２００の起動状態を確認する（Ｓ５０４）。
【００９４】
第２のＯＳ２００が起動していない場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動状態判断部１１６に指示して、第２のＯＳ起動コマンドを第２のＯＳ用電源制御部２１０に送信させる（Ｓ５０６）。
【００９５】
第２のＯＳ用電源制御部２１０は、プラットフォーム５２への電源供給及び第２のＯＳ２００の起動が完了すると、第２のＯＳ起動（完了）通知情報を他ＯＳ起動状態判断部１１６に送信する（Ｓ５０８）。
【００９６】
第２のＯＳ起動（完了）通知情報を受信すると、他ＯＳ起動状態判断部１１６は、他ＯＳ起動状態情報（起動完了）を、他ＯＳアプリ起動コマンド生成部１０８に出力する。他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動状態情報（起動完了）が入力されると、アプリ起動コマンドを生成し（Ｓ５１０）、アプリ起動コマンドをアプリ起動コマンド解読部２０６に送信する（Ｓ５１２）。ここで、アプリ起動コマンドは、自動切替／完了通知制御部１０６にも出力される。
【００９７】
以下、第１実施例と同様に、アプリ起動コマンド解読部２０６がアプリ起動コマンドを解読する（Ｓ５１４）。アプリ起動コマンド解読部２０６は、起動すべきアプリ２０８を指定したアプリ起動指示情報をアプリ起動／終了処理部２０４に出力する。アプリ起動／終了処理部２０４は、アプリ起動指示情報が入力されると、指定されたアプリ２０８の起動を開始する（Ｓ５１６）。アプリ２０８の起動が完了すると（Ｓ５１８）、アプリ状態監視部２０２がアプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ５２０）。自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ５２２）。
【００９８】
ここで、Ｓ５００においてアプリ１１２が起動してからＳ５２２でアプリ２０８が起動完了したことが表示されるまでの期間Ｔ２の間は、第１のＯＳ１００による表示画面が表示装置２４により表示され、ユーザはアプリ２０８の使用を継続することができる。すなわち、アプリ１１２に関連するアプリ２０８の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはＯＳやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【００９９】
自動切替／完了通知制御部１０６は、更に、予め入出力自動切替設定部１１０から入力されている自動切替設定情報を参照する（Ｓ５２４）。自動切替設定情報がEnableとなっている場合は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ５２６）。この際に、自動切替／完了通知制御部１０６は、アプリ起動／終了処理部１０４に対し、アプリ１１２の終了を指示してもよい。
【０１００】
Ｓ５２６の処理によって、表示装置２４の表示画面が第２のＯＳ２００による表示画面に切り替わり、入力装置２２への入力内容が第２のＯＳ２００に反映されることになるため、ユーザはアプリ２０８を使用可能となる（Ｓ５２８）。
【０１０１】
一方、自動切替／完了通知制御部１０６は、自動切替設定情報がDisableとなっている場合は、Ｓ５２６の処理を行わず、他ＯＳアプリ自動起動処理を終了する。この場合、ユーザは、入力装置２２に対してＯＳの切替操作を行うことにより、第２のＯＳ２００を起動させてアプリ２０８を使用することができる。
【０１０２】
係る処理によって、ユーザがＯＳを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志（自動切替設定）によって省略することができる。また、切り替えられたＯＳ上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置２は、ユーザにとっての利便性を向上させることができる。
【０１０３】
（フローチャート）
図１１〜１５は、図１０のシーケンス図で説明した処理を、機能ブロック毎（或いは機能ブロック群毎）にフローチャートの形式で示したものである。
【０１０４】
図１１は、他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【０１０５】
まず、他ＯＳアプリ起動コマンド生成部１０８は、アプリ１１２が起動したことを示すアプリ起動情報が入力されたか否かを判定する（Ｓ６００）。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されなかった場合は、本フローチャートの１ルーチンを終了する。
【０１０６】
アプリ起動情報が入力された場合、他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータテーブル１１４を検索し、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在するか否かを判定する（Ｓ６０２）。他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータテーブル１１４上に、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在しない場合は、本フローチャートの１ルーチンを終了する。なお、本判定処理は、「該当するアプリ２０８が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在し、且つ該当するアプリ２０８が未起動であるか否かを判定する」としてもよい。
【０１０７】
アプリ１１２に関連するアプリ２０８が存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動状態判断部１１６から入力されている他ＯＳ起動状態情報を参照して、第２のＯＳ２００が起動しているか否かを判定する（Ｓ６０４）。
【０１０８】
第２のＯＳ２００が起動していない場合、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動依頼情報を他ＯＳ起動状態判断部１１６に出力し、第２のＯＳ起動コマンドを第２のＯＳ用電源制御部２１０に送信させる（Ｓ６０６）。これによって、他ＯＳ起動状態判断部１１６が第２のＯＳ２００側の第２のＯＳ用電源制御部２１０に第２のＯＳ起動コマンドを送信する。そして、他ＯＳアプリ起動コマンド生成部１０８は、他ＯＳ起動状態判断部１１６から入力される他ＯＳ起動状態情報（起動完了）によって第２のＯＳ２００の起動完了が確認されるまで待機する（Ｓ６０８）。
【０１０９】
続いて、他ＯＳアプリ起動コマンド生成部１０８は、該当するアプリ２０８の起動を指示するアプリ起動コマンドを生成し（Ｓ６１０）、生成したアプリ起動コマンドを第２のＯＳ２００側のアプリ起動コマンド解読部２０６に送信する（Ｓ６１２）。
【０１１０】
図１２は、第２のＯＳ用電源制御部２１０によって実行される第２のＯＳ２００の起動処理の流れを示すフローチャートである。本フローチャートは、第２のＯＳ２００がシャットダウンされたときに開始される。
【０１１１】
まず、第２のＯＳ用電源制御部２１０は、他ＯＳ起動状態判断部１１６から第２のＯＳ起動コマンドを受信するまで待機する（Ｓ６２０）。
【０１１２】
他ＯＳ起動状態判断部１１６から第２のＯＳ起動コマンドを受信すると、第２のＯＳ用電源制御部２１０は、プラットフォーム５２に対する電力供給を開始する（Ｓ６２２）。なお、Ｓ６２０、Ｓ６２２の処理は、スリープ電源等を利用して行うことができる。
【０１１３】
次に、第２のＯＳ用電源制御部２１０は、第２のＯＳ２００の起動を開始し（Ｓ６２４）、第２のＯＳ２００の起動が完了するまで待機する（Ｓ６２６）。第２のＯＳ用電源制御部２１０は、第２のＯＳ２００の起動が完了すると、第２のＯＳ起動（完了）通知情報を他ＯＳ起動状態判断部１１６に送信する（Ｓ６２８）。
【０１１４】
図１３は、第２のＯＳ用電源制御部２１０によって実行される第２のＯＳ２００の終了処理の流れを示すフローチャートである。本フローチャートは、第２のＯＳ２００が起動された状態で、ユーザ操作等により第２のＯＳ２００のシャットダウンが指示されたときに開始される。
【０１１５】
まず、第２のＯＳ用電源制御部２１０は、第２のＯＳ２００のシャットダウン処理を開始し（Ｓ６３０）、第２のＯＳ２００のシャットダウン処理が完了するまで待機する（Ｓ６３２）。第２のＯＳ用電源制御部２１０は、第２のＯＳ２００のシャットダウン処理が完了すると、第２のＯＳ終了通知情報を他ＯＳ起動状態判断部１１６に送信する（Ｓ６３４）。
【０１１６】
図１４は、第２のＯＳ２００側のアプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【０１１７】
まず、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを受信したか否かを判定する（Ｓ６４０）。アプリ起動コマンドを受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【０１１８】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを解読し（Ｓ６４２）、アプリ起動指示情報をアプリ起動／終了処理部２０４に出力する。
【０１１９】
アプリ起動／終了処理部２０４は、アプリ起動指示情報により指定されたアプリ２０８を起動させる（Ｓ６４４）。
【０１２０】
アプリ状態監視部２０２は、Ｓ６４４で起動開始されたアプリ２０８の起動が完了するまで待機し（Ｓ６４６）、アプリ２０８の起動が完了すると、アプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ６４８）。
【０１２１】
図１５は、自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【０１２２】
まず、自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信したか否かを判定する（Ｓ６６０）。自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【０１２３】
アプリ起動（完了）通知情報を受信した場合、自動切替／完了通知制御部１０６は、係る起動がアプリ起動コマンドによる起動であるか否かを判定する（Ｓ６６２）。本判定は、例えば、アプリ起動（完了）通知情報の受信の所定時間前から現在までの間に、他ＯＳアプリ起動コマンド生成部１０８から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動（完了）通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替／完了通知制御部１０６は、アプリ起動コマンドによる起動でない場合は、本フローチャートの１ルーチンを終了する。
【０１２４】
なお、アプリ起動コマンドによる起動でない場合（ユーザの何らかの操作による場合）にも、アプリ２０８の起動完了を表示させるようにしてもよく、この場合、Ｓ６６２の判定は必須でない。
【０１２５】
アプリ起動コマンドによる起動である場合、自動切替／完了通知制御部１０６は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ６６４）。
【０１２６】
次に、自動切替／完了通知制御部１０６は、予め入出力自動切替設定部１１０から入力されている自動切替設定情報がEnableとなっているか否かを判定する（Ｓ６６６）。自動切替／完了通知制御部１０６は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの１ルーチンを終了する。
【０１２７】
自動切替設定情報がEnableとなっている場合、自動切替／完了通知制御部１０６は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ６６８）。すなわち、入力装置２２及び表示装置２４を第２のＯＳ２００側に切り替える。
【０１２８】
［まとめ］
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【０１２９】
また、初期状態では電力消費の小さい第１のＯＳ１００を起動させ、必要に応じて電力消費の大きい第２のＯＳ２００を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【０１３０】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１３１】
例えば、アプリ２０８がバックグラウンドで起動完了したことを表示するように表示装置２４に指示した後に、入力装置２２及び表示装置２４を第２のＯＳ２００側に切り替えるものとしたが、表示を省略して切り替えのみ行うものとしてもよい。
【０１３２】
また、各種情報を受信したか否かを確認する処理を各機能ブロックが定期的に行うものとして記載したが、各種情報が割り込み通知され、受信時に自動的に処理が開始されるものとしてもよい。
【０１３３】
以上の説明に関し、さらに以下の項を開示する。
（付記１）
第１のオペレーティングシステムを実行する第１の処理部と、
第２のオペレーティングシステムを実行する第２の処理部と、
前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、
前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
（付記２）
前記第１のアプリケーションプログラムが前記第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第２のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第１のアプリケーションプログラムに基づいて、前記第２のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第２のアプリケーションプログラムを起動させる処理であることを特徴とする、付記１記載の情報処理装置。
（付記３）
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第２のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第２の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第２の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、付記１記載の情報処理装置。
（付記４）
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第１のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である付記１記載の情報処理装置。
（付記５）
前記第１のオペレーティングシステムは、前記第２のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
付記１ないし４のいずれか１項記載の情報処理装置。
（付記６）
前記第１のオペレーティングシステムと前記第２のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第２のアプリケーションプログラムを起動する処理は、前記第２のアプリケーションプログラムを起動するのに先だって、前記第２のオペレーティングシステムを起動させる処理であることを特徴とする、
付記１ないし５のいずれか１項記載の情報処理装置。
（付記７）
第１のオペレーティングシステムを実行する第１の処理部と、第２のオペレーティングシステムを実行する第２の処理部と、前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
（付記８）
第１のオペレーティングシステムを実行する第１の処理部と、第２のオペレーティングシステムを実行する第２の処理部と、前記第１の処理部または前記第２の処理部を操作するユーザーインターフェースと、前記第１の処理部または前記第２の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムに基づいて前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムを起動させ、
該第２のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【符号の説明】
【０１３４】
１、２  情報処理装置
１０    ＣＰＵ
１２    ドライブ装置
１４    記憶媒体
１６    補助記憶装置
１８    メモリ装置
２０    インターフェース装置
２２    入力装置
２４    表示装置
５０、５１、５２  プラットフォーム
１００  第１のＯＳ
１０２  アプリ状態監視部
１０４  アプリ起動／終了処理部
１０６  自動切替／完了通知制御部
１０８  他ＯＳアプリ起動コマンド生成部
１１０  入出力自動切替設定部
１１２  アプリ
１１４  関連アプリデータテーブル
１１６  他ＯＳ起動状態判断部
２００  第２のＯＳ
２０２  アプリ状態監視部
２０４  アプリ起動／終了処理部
２０６  アプリ起動コマンド解読部
２０８  アプリ
２１０  第１のＯＳ用電源制御部
【図１】
0005729266.tif 000002
【図２】
0005729266.tif 000003
【図３】
0005729266.tif 000004
【図４】
0005729266.tif 000005
【図５】
0005729266.tif 000006
【図６】
0005729266.tif 000007
【図７】
0005729266.tif 000008
【図８】
0005729266.tif 000009
【図９】
0005729266.tif 000010
【図１０】
0005729266.tif 000011
【図１１】
0005729266.tif 000012
【図１２】
0005729266.tif 000013
【図１３】
0005729266.tif 000014
【図１４】
0005729266.tif 000015
【図１５】
0005729266.tif 000016