(57)【要約】【課題】  本発明は、起動時間の異なる複数のＯＳに関し、メモリの格納先を考慮して、複数のＯＳの起動時間の効率化を図る電子機器を提供する。【解決手段】  電子機器は、起動時間の異なる複数のＯＳ（Operating System）と、複数の制御部と、複数のメモリとを備える。複数の制御部は、複数のＯＳの何れかを選択して演算処理を実行する。複数のメモリは、複数のＯＳ毎の起動時間に応じて、複数のＯＳが各々格納されるアクセス速度の異なるメモリである。複数のＯＳのうちで起動時間の速い第１のＯＳが、複数のメモリのうちでアクセス速度の速いメインメモリに格納されると共に、第１のＯＳよりも起動時間の遅い他のＯＳが、メインメモリよりもアクセス速度の遅い他のメモリに格納される。【選択図】    図１
2013205929.tif 000002
【特許請求の範囲】
【請求項１】
起動時間の異なる複数のオペレーティングシステム（ＯＳ：Operating System）と、
複数の前記ＯＳの何れかを選択して演算処理を実行する複数の制御部と、
複数の前記ＯＳ毎の前記起動時間に応じて、複数の前記ＯＳが各々格納されるアクセス速度の異なる複数のメモリと、を備え、
複数の前記ＯＳのうちで前記起動時間の速い第１のＯＳが、複数の前記メモリのうちで前記アクセス速度の速いメインメモリに格納されると共に、前記第１のＯＳよりも前記起動時間の遅い他のＯＳが、前記メインメモリよりも前記アクセス速度の遅い他のメモリに格納されることを特徴とする電子機器。
【請求項２】
請求項１に記載の電子機器において、
複数の前記制御部のうちの主制御部は、前記メインメモリに格納されている前記第１のＯＳを最初に起動することを特徴とする電子機器。
【請求項３】
請求項１又は請求項２に記載の電子機器において、
前記他のＯＳのうちで使用頻度の高い汎用ＯＳが使用するパラメータは、前記メインメモリ、又は、前記他のメモリのうちで前記アクセス速度の速いメモリに格納されることを特徴とする電子機器。
【請求項４】
請求項２又は請求項３に記載の電子機器において、
前記主制御部は、ランダムアクセスが行なえる揮発性メモリを有し、
前記主制御部は、前記揮発性メモリに複数の前記ＯＳのうちで優先度の高いＯＳを格納することを特徴とする電子機器。
【請求項５】
請求項２から請求項４の何れか１項記載の電子機器において、
前記主制御部は、複数の前記ＯＳのうちでタスクの実行時間を管理するリアルタイムＯＳを起動して、該リアルタイムＯＳに前記ＯＳのバージョン間の互換性をチェックさせることを特徴とする電子機器。
【請求項６】
請求項５に記載の電子機器において、
前記主制御部は、前記互換性のチェックの結果に基づいて、前記リアルタイムＯＳに、前記バージョンの更新の処理を行なわせることを特徴とする電子機器。
【請求項７】
請求項５又は請求項６に記載の電子機器において、
前記主制御部は、バージョンアップするＯＳの使用頻度に基づいて、複数の前記メモリの何れかに該バージョンアップするＯＳを格納することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムを搭載した電子機器に関する。
【背景技術】
【０００２】
従来、複数の異なるオペレーティングシステム（以下「ＯＳ」という）を搭載した電子機器が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００５−５３３３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、起動時間の異なる複数のＯＳを効率良く起動させるためには、メモリの格納先の取り扱いが問題となるが、上記の特許文献１では、特に考慮されていないため改善の余地がある。
【０００５】
そこで、本発明は、上記事情に鑑み、起動時間の異なる複数のＯＳに関し、メモリの格納先を考慮して、複数のＯＳの起動時間の効率化を図る電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明に係る電子機器は、起動時間の異なる複数のＯＳ（Operating System）と、複数の制御部と、複数のメモリとを備える。複数の制御部は、複数のＯＳの何れかを選択して演算処理を実行する。複数のメモリは、複数のＯＳ毎の起動時間に応じて、複数のＯＳが各々格納されるアクセス速度の異なるメモリである。複数のＯＳのうちで起動時間の速い第１のＯＳが、複数のメモリのうちでアクセス速度の速いメインメモリに格納されると共に、第１のＯＳよりも起動時間の遅い他のＯＳが、メインメモリよりもアクセス速度の遅い他のメモリに格納される。
【０００７】
第２の発明は、第１の発明において、複数の制御部のうちの主制御部は、メインメモリに格納されている第１のＯＳを最初に起動する。
【０００８】
第３の発明は、第１又は第２の発明において、他のＯＳのうちで使用頻度の高い汎用ＯＳが使用するパラメータは、メインメモリ、又は、他のメモリのうちでアクセス速度の速いメモリに格納される。
【０００９】
第４の発明は、第２又は第３の発明において、主制御部は、ランダムアクセスが行なえる揮発性メモリを有する。主制御部は、揮発性メモリに複数のＯＳのうちで優先度の高いＯＳを格納する。
【００１０】
第５の発明は、第２から第４の何れか１の発明において、主制御部は、複数のＯＳのうちでタスクの実行時間を管理するリアルタイムＯＳを起動して、そのリアルタイムＯＳにＯＳのバージョン間の互換性をチェックさせる。
【００１１】
第６の発明は、第５の発明において、主制御部は、互換性のチェックの結果に基づいて、リアルタイムＯＳに、バージョンの更新の処理を行なわせる。
【００１２】
第７の発明は、主制御部は、バージョンアップするＯＳの使用頻度に基づいて、複数の前記メモリの何れかに該バージョンアップするＯＳを格納する。
【発明の効果】
【００１３】
本発明によれば、起動時間の異なる複数のＯＳに関し、メモリの格納先を考慮して、複数のＯＳの起動時間の効率化を図る電子機器を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態である電子カメラ１００の構成例を説明するブロック図
【図２】ＯＳのシステム構成例の概念図
【図３】電子カメラ１００の電源オン時における動作の一例を示すフローチャート
【図４】第１の起動処理の概念図
【図５】第２の起動処理の概念図
【図６】電子カメラ１００におけるＯＳのアップロードの処理の一例を示すフローチャート
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態である電子カメラ１００の構成例を説明するブロック図である。電子カメラ１００は、ＯＳの起動条件を選択し、その後に第１ＣＰＵ１が起動するＯＳを決定するマルチコアシステムを有する（詳細は後述する）。
【００１６】
電子カメラ１００は、図１に示す通り、撮影光学系１０と、レンズ制御部１１、撮像素子１２と、信号処理部１３と、第１カードインターフェース部（以下「第１カードＩ／Ｆ部」という）１４と、ＵＳＢ（Universal Serial Bus）インターフェース部（以下「ＵＳＢＩ／Ｆ部」という）１５と、第２カードインターフェース部（以下「第２カードＩ／Ｆ部」という）１６と、ＮＯＲ（否定論理和）型インターフェース部（以下「ＮＯＲ型Ｉ／Ｆ部」という）１７と、第１フラッシュメモリ１８と、ＮＡＮＤ（否定論理積）型インターフェース部（以下「ＮＡＮＤ型Ｉ／Ｆ部」という）１９と、第２フラッシュメモリ２０と、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）２１と、表示モニタ２２と、操作部２３と、レリーズ釦２４と、電源２５と、通信インターフェース部（以下「通信Ｉ／Ｆ部」という）２６と、ＡＳＩＣ（Application Specific Integrated Circuit）２７と、データバス２８とを備える。
【００１７】
このうち、信号処理部１３、第１カードＩ／Ｆ部１４、ＵＳＢＩ／Ｆ部１５、第２カードＩ／Ｆ部１６、ＮＯＲ型Ｉ／Ｆ部１７と、ＮＡＮＤ型Ｉ／Ｆ部１９と、表示モニタ２２、通信Ｉ／Ｆ部２６及びＡＳＩＣ２７は、データバス２８を介して互いに接続されている。また、レンズ制御部１１、撮像素子１２、信号処理部１３、操作部２３、レリーズ釦２４、及び電源２５は、ＡＳＩＣ２７に接続されている。
【００１８】
撮影光学系１０は、ズームレンズとフォーカスレンズとを含む複数のレンズ群で構成されている。なお、簡単のため、図１では、撮影光学系１０を１枚のレンズとして図示する。レンズ制御部１１は、撮影光学系１０内でズームレンズやフォーカスレンズのレンズ位置をＡＳＩＣ２７の指示に応じて光軸方向に調整する。
【００１９】
撮像素子１２は、被写体の像を撮像し、アナログの画像信号を出力する。そして、撮像素子１２が出力するアナログの画像信号は、信号処理部１３に入力される。なお、撮像素子１２の撮像面には、Ｒ（赤）、Ｇ（緑）Ｂ（青）の３種類のカラーフィルタが例えばベイヤー配列で配置されている。また、撮像素子１２の電荷蓄積時間及び画像信号の読み出しは、タイミングジェネレータ（不図示）によって制御される。
【００２０】
ここで、撮像素子１２は、電子カメラ１００の撮影モードにおいて、レリーズ釦２４の全押し操作に応答して記録用の静止画像（本画像）を撮像する。また、撮像素子１２は、撮影待機時にも所定間隔毎に観測用の画像（スルー画像）を連続的に撮像する。なお、撮像素子１２は、ＣＣＤ（Charge Coupled Device）型又はＣＭＯＳ（Complementary Metal-Oxide Semiconductor）型のイメージセンサである。
【００２１】
信号処理部１３は、撮像素子１２が出力する画像信号に対してアナログ信号処理を施すアナログフロントエンド回路（ＡＦＥ）と、そのＡＦＥでアナログ信号処理が施された画像信号に対して、デジタル信号処理を施すデジタルフロントエンド回路（ＤＦＥ）とを有する。ここで、信号処理部１３のＡＦＥは、アナログの画像信号に対して相関二重サンプリングやゲイン調整をした後、アナログの画像信号をデジタルの画像信号に変換する（Ａ／Ｄ変換）処理等を行なう。また、信号処理部１３のＤＦＥは、Ａ／Ｄ変換されたデジタルの画像信号におけるノイズ成分の除去等を行なう。この信号処理部１３が出力する画像信号は、ＲＧＢ信号の画像データとしてＳＤＲＡＭ２１に一時的に記録される。
【００２２】
第１カードＩ／Ｆ部１４には、着脱自在の第１記録媒体３０を接続するためのコネクタ（不図示）が形成されている。そして、第１カードＩ／Ｆ部１４は、そのコネクタに接続された第１記録媒体３０にアクセスして画像の記録処理等を行なう。この第１記録媒体３０は、例えば、不揮発性のメモリカードである。図１では、コネクタに接続された後の第１記録媒体３０を示している。
【００２３】
ＵＳＢＩ／Ｆ部１５には、第１カードＩ／Ｆ部１４と同様、着脱自在の第２記録媒体３１を接続するためのコネクタ（不図示）が形成されている。そして、ＵＳＢＩ／Ｆ部１５は、そのコネクタに接続された第２記録媒体３１にアクセスして画像の記録処理等を行なう。この第２記録媒体３１は、例えば、不揮発性のＵＳＢメモリである。図１では、コネクタに接続された後の第２記録媒体３１を示している。
【００２４】
第２カードＩ／Ｆ部１６は、第１カードＩ／Ｆ部１４と構成が同じである。第２カードＩ／Ｆ部１６は、そのコネクタに接続された着脱自在の第３記録媒体３２にアクセスして画像の記録処理等を行なう。この第３記録媒体３２も、第１記録媒体３０と同様、不揮発性のメモリカードである。図１では、コネクタに接続された後の第３記録媒体３２を示している。ここで、第３記録媒体３２には、第３のＯＳ３２ａ、第４のＯＳ３２ｂが予め格納されている。
【００２５】
ＮＯＲ型Ｉ／Ｆ部１７は、内蔵型の第１フラッシュメモリ１８と接続されている。ＮＯＲ型Ｉ／Ｆ部１７は、ＮＡＮＤ型に比べて高速なランダムアクセスが可能であり、第１フラッシュメモリ１８にアクセスして記録処理を行なう。第１フラッシュメモリ１８は、不揮発性メモリであって、例えばＯＳやスナップショットイメージが格納される。スナップショットイメージは、ＯＳの起動時間を短縮するイメージファイルである。図１において、第１フラッシュメモリ１８には、工場出荷時に第１のＯＳ１８ａと第１のスナップショットイメージ（以下「第１のＳＰ」という）１８ｂとが予め格納されている。第１のＯＳ１８ａは、例えば、タスクの実行時間を管理するリアルタイムＯＳ（以下「ＲＴＯＳ」という）である。
【００２６】
ＮＡＮＤ型Ｉ／Ｆ部１９は、内蔵型の第２フラッシュメモリ２０と接続されている。ＮＡＮＤ型Ｉ／Ｆ部１９は、ＮＯＲ型と比べて集積化に向いておりメモリの大容量化が可能であり、第２フラッシュメモリ２０にアクセスして記録処理を行なう。第２フラッシュメモリ２０は、不揮発性メモリであって、例えば汎用ＯＳやその汎用ＯＳのスナップショットイメージ等が格納される。図１において、第２フラッシュメモリ２０には、工場出荷時に第２のＯＳ２０ａと第２のスナップショットイメージ（以下「第２のＳＰ」という）２０ｂとが予め格納されている。第２のＯＳ２０ａは、例えば、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳである。
【００２７】
なお、Ｌｉｎｕｘ等の汎用ＯＳの場合、ハードウエアを直接管理する処理を行なう中心的な機能を有するソフトウェアをカーネルと称し、カーネル以外の部分（例えば、ファイルシステムやファイル操作コマンド、シェルなどの基本的なソフトウェア群）をユーザランドと称している。本実施形態では、例えば、第１のＳＰ１８ｂは、カーネルのうち使用頻度の高いパラメータからなるスナップショットイメージとする。また、第２のＳＰ２０ｂは、上記の使用頻度の高いパラメータを除くカーネル部分やユーザランドのスナップショットイメージとする。汎用ＯＳのユーザランドをロードする場合、ユーザランドのファイルのサイズに応じて、起動時間がかかる。そこで、本実施形態では、予めユーザランドのスナップショットイメージを作成しておくことにより、起動時間を高速化することができる。
【００２８】
また、本実施形態で使用するＯＳは、上述した通り、工場出荷時に予め格納されていることとする。ただし、電子カメラ１００では、第１記録媒体３０、第２記録媒体３１、第３記録媒体３２又は通信Ｉ／Ｆ部２２を介して、例えば汎用ＯＳのソフトウエア（バージョンアップも含む）をインストールするようにしても良い。
【００２９】
また、ＳＤＲＡＭ２１は、画像データやＯＳ等のプログラムを一時的に記録する揮発性のバッファメモリである。ここで、ＡＳＩＣ２７は、第１のＯＳ１８ａ、第２のＯＳ２０ａ、第３のＯＳ３２ａ、第４のＯＳ３２ｂ、第１のＳＰ１８ｂ及び第２のＳＰ２０ｂを必要に応じて読み出し、ＳＤＲＡＭ２１にロードすることにより一時的に記録する。図１に示すＳＤＲＡＭ２１では、一例として、工場出荷時の状態を例示しているため、ロード前の状態として点線枠で示している。なお、ＡＳＩＣ２７は、第１フラッシュメモリ１８に格納されている第１のＯＳ１８ａ、第１のＳＰ１８ｂについてはＳＤＲＡＭ２１にロードせず、ＮＯＲ型Ｉ／Ｆ部１７を介して直接アクセスしても良い。
【００３０】
表示モニタ２２は、例えば液晶表示媒体により構成される。そして、表示モニタ２２は、記録用の画像、スルー画像、電子カメラ１００の操作メニュー等を表示する。
【００３１】
操作部２３は、電子カメラ１００を操作するための指示入力を受け付ける複数の釦（不図示）を有している。レリーズ釦２４は、半押し操作（撮影前におけるオートフォーカス（ＡＦ）や自動露出（ＡＥ）等の動作開始の指示入力）と全押し操作（記録用画像を取得するための撮像動作開始）との指示入力とを受け付ける。電源２５は、電子カメラ１００の各機能ブロックに電力を供給する。電力の供給開始及び供給停止は、ＡＳＩＣ２７から指示により行なう。
【００３２】
通信Ｉ／Ｆ部２６は、例えば外部のインターネット網を介した通信を行なうための無線通信インターフェースを提供する。これにより、ＡＳＩＣ２７は、通信Ｉ／Ｆ部２６を介してＯＳのアップロード（バージョンアップ）や削除を行なうことができる（詳細は後述する）。
【００３３】
ＡＳＩＣ２７は、各種演算及び電子カメラ１００の制御を行なう。また、ＡＳＩＣ２７は、画像データに各種の画像処理（例えば、輪郭強調処理、色補間処理等）を施す。さらに、ＡＳＩＣ２７は、複数のＣＰＵ（Central Processing Unit）コアを搭載してＣＰＵの高速化を実現するマルチコアシステムを採用している。マルチコアシステムでは、ＣＰＵをＮ個（Ｎは自然数）搭載するが、本実施形態では、説明の便宜上、一例として３つのＣＰＵコアを搭載する。また、ＡＳＩＣ２７は、ＳＲＡＭ（Static Random Access Memory）４を搭載している。ＳＲＡＭ４は、高速なランダムアクセスが行なえる揮発性のメモリである。
【００３４】
また、本実施形態では、最初に起動した第１のＯＳ（ＲＴＯＳ）１８ａが、システム状態（例えば起動条件）を検出して、それ以降に起動するＯＳを決定する。具体的には、本実施形態では、複数のＣＰＵのうちで主となる第１ＣＰＵ１を設定する。これにより、第１ＣＰＵ１（マスター側）と第２ＣＰＵ２、第３ＣＰＵ３とは、主従関係を形成する。例えば、第１ＣＰＵ１は、第２ＣＰＵ２、及び第３ＣＰＵ３が起動するＯＳを選択する。
【００３５】
また、第１のＯＳは、電子カメラ１００の制御系の機能を管理するＲＴＯＳであって、複数のＯＳのうちで起動時間が最速のＯＳである。そして、第１ＣＰＵ１は、必要に応じて、第１のＯＳと共にその第１のＯＳよりも起動時間の遅い他のＯＳを起動する。本実施形態の他のＯＳは、第２のＯＳ２０ｂ、第３のＯＳ３２ａ、第４のＯＳ３２ｂ、第１のＳＰ１８ｂ、第２のＳＰ２０ｂ等のＯＳが該当する。
【００３６】
図２は、ＯＳのシステム構成例の概念図である。図２では、ＯＳやプログラム等のメモリ配置を示している。ここで、本実施形態では、各メモリＩ／Ｆ部のアクセス速度は、ＮＯＲ型Ｉ／Ｆ部１７  ＞  ＮＡＮＤ型Ｉ／Ｆ部１９  ＞  他のＩ／Ｆ部（第２カードＩ／Ｆ部１６等）の順序である。
【００３７】
図２（ａ）は、ＮＯＲ型Ｉ／Ｆ部１７がメモリアクセスする第１フラッシュメモリ１８内のＯＳのシステム構成の一例を示す。ＮＯＲ型Ｉ／Ｆ部１７がメモリアクセスするＯＳやプログラムは、例えば、第１のＯＳ（ＲＴＯＳ）１８ａ、第１アプリケーション及び第１ブートプログラムである。ここで、第１アプリケーションは、ＲＴＯＳ上で動作するアプリケーションプログラムであり、第１ブートプログラムは、起動時に最初にＲＴＯＳ上で動作するプログラムである。なお、第１のＯＳ（ＲＴＯＳ）１８ａ、第１アプリケーション及び第１ブートプログラムは、スナップショットイメージであっても良い。
【００３８】
図２（ｂ）は、ＮＡＮＤ型Ｉ／Ｆ部１９がメモリアクセスする第２フラッシュメモリ２０内のＯＳのシステム構成の一例を示す。ＮＡＮＤ型Ｉ／Ｆ部１９がメモリアクセスするＯＳやプログラムは、例えば、第２のＯＳ（Ｌｉｎｕｘ）２０ａ、第２アプリケーション及びＯＳのパラメータである。ここで、第２アプリケーションは、Ｌｉｎｕｘ上で動作するアプリケーションプログラムであり、ＯＳのパラメータは、使用頻度が他のパラメータに比較して高いパラメータである。
【００３９】
図２（ｃ）は、第２カードＩ／Ｆ部１６がメモリアクセスする第３記録媒体３２内のＯＳのシステム構成の一例を示す。第２カードＩ／Ｆ部１６がメモリアクセスするＯＳやプログラムは、例えば、第３のＯＳ３２ａ、第３アプリケーション、第４のＯＳ３２ｂ、第４アプリケーション及びＯＳのパラメータである。ここで、第３のＯＳ３２ａは、例えば、Ｌｉｎｕｘとは異なるＯＳである。第３アプリケーションは、第３のＯＳ３２ａ上で動作するアプリケーションプログラムである。また、第４のＯＳ３２ｂは、例えば、第２のＯＳ（Ｌｉｎｕｘ）２０ａと異なるバージョンのＯＳ（Ｌｉｎｕｘ）である。第４アプリケーションは、第４のＯＳ３２ｂ上で動作するアプリケーションプログラムである。また、ＯＳのパラメータは、例えば、使用頻度が他のパラメータに比較して低いパラメータである。
【００４０】
次に、本実施形態の電子カメラ１００におけるＯＳの起動処理の一例を説明する。図３は、電子カメラ１００の電源オン時における動作の一例を示すフローチャートである。ここで、操作部２３が電子カメラ１００の電源オンの指示入力を受け付けた場合、ＡＳＩＣ２７の第１ＣＰＵ１は、図３に示すフローの処理を開始させる。
【００４１】
ステップＳ１０１：第１ＣＰＵ１は、ＣＰＵ識別番号（ＣＰＵＩＤ）の確認をする。具体的には、マルチコアシステムを採用しているため、第１ＣＰＵ１は、各々のＣＰＵがどの識別番号に属するＣＰＵであるのかを確認する。第１ＣＰＵ１は、フラッシュメモリに記録されているＣＰＵ識別番号を参照し、マスター側のＣＰＵであることを確認する。
【００４２】
ステップＳ１０２：第１ＣＰＵ１は、起動条件の選択を行なう。具体的には、第１ＣＰＵ１は、第１フラッシュメモリ１８に記録されているＯＳに基づいて、起動条件の選択を行なう。
【００４３】
ステップＳ１０３：第１ＣＰＵ１は、第１のＯＳ１８ａ（ＲＴＯＳ）と複数のＯＳのうちで優先度の高いＯＳとが第１フラッシュメモリ１８に記録されているかを判定する。なお、図１では、第１フラッシュメモリ１８に、第１のＯＳ１８ａと第１のＳＰ１８ｂとが格納されているが、一例として工場出荷状態を表している。そのため、第１ＣＰＵ１は、その後に、例えば第２のＯＳ２０ａが優先度の高いＯＳとして、第１フラッシュメモリ１８に格納先を移動しても良い。従って、ＲＴＯＳと優先度の高いＯＳとが第１フラッシュメモリ１８に格納されている場合（ステップＳ１０３：Ｙｅｓ）、第１ＣＰＵ１は、第２の起動処理を選択し、ステップＳ１０５の処理に移行する。一方、優先度の高いＯＳが第１フラッシュメモリ１８に格納されていない場合（ステップＳ１０３：Ｎｏ）、第１ＣＰＵ１は、第１の起動処理を選択し、ステップＳ１０４の処理に移行する。
【００４４】
ステップＳ１０４：第１ＣＰＵ１は、第１の起動処理を行なう。具体例として図４を用いて説明する。図４は、第１の起動処理の概念図である。第１の起動処理は、異なるメモリに格納されている異なるＯＳを効率良く起動する処理である。第１ＣＰＵ１は、まず、ＮＯＲ型Ｉ／Ｆ部１７にアクセスして、第１フラッシュメモリ１８に格納されている第１のＯＳ１８ａを起動する。これにより、第１のＯＳ１８ａのプログラム群が起動される。この場合、第１ＣＰＵ１は、第１のＯＳ１８ａであるＲＴＯＳを、ＳＤＲＡＭ２１にロードして起動しても良い。ただし、第１ＣＰＵ１は、第１フラッシュメモリ１８がＮＯＲ型であるため、ランダムアクセスにより、ＲＴＯＳをＳＤＲＡＭ２１にロードせずに直接起動することができる。これにより、第１の起動処理では、より高速にＲＴＯＳを起動することができる。また、第１ＣＰＵ１は、第１のＯＳ１８ａのスナップショットイメージである第１のＳＰ１８ｂを第１フラッシュメモリ１８上で起動しても良い。これにより、第１の起動処理では、さらに、高速にＲＴＯＳを起動することができる。
【００４５】
また、第１ＣＰＵ１は、ＮＡＮＤ型Ｉ／Ｆ部１９にアクセスして、第２フラッシュメモリ２０に格納されている第２のＯＳ２０ａを起動する。この場合、第２フラッシュメモリ２０がＮＡＮＤ型であるため、第１ＣＰＵ１は、第２のＯＳ２０ａを、一旦、ＳＤＲＡＭ２１にロードしてから起動する。なお、第１ＣＰＵ１は、第２のＯＳ２０ａのスナップショットイメージである第２のＳＰ２０ｂをＳＤＲＡＭ２１にロードして起動しても良い。これにより、さらに、第１の起動処理では、より高速に第２のＯＳ２０ａを起動することができる。そして、第１ＣＰＵ１は、図４に示すフローの処理を終了させる。
【００４６】
ステップＳ１０５：第１ＣＰＵ１は、第２の起動処理を行なう。具体例として図５を用いて説明する。図５は、第２の起動処理の概念図である。第２の起動処理は、同一のメモリに格納されている異なるＯＳを効率良く起動する処理である。図５では、第１フラッシュメモリ１８に、第１のＯＳ１８ａと第２のＯＳ２０ａとが格納されている。この状態で、第１ＣＰＵ１は、ＮＯＲ型Ｉ／Ｆ部１７にアクセスして、例えば、最初に起動する第１のＯＳ１８ａ（ＲＴＯＳ）のうち、必要最小限の制御プログラムをＡＳＩＣ２７のＳＲＡＭ４にロードする。
【００４７】
第１ＣＰＵ１は、必要最小限の制御プログラムをＳＲＡＭ４で起動すると共にマルチタスク処理により、ＮＯＲ型Ｉ／Ｆ部１７にアクセスして、第２のＯＳ２０ａ（Ｌｉｎｕｘ）をＳＤＲＡＭ２１にロードして起動する。
【００４８】
また、第１ＣＰＵ１は、必要最小限の制御プログラムの起動が終了した場合、その起動処理の終了を示す信号を受信し（処理戻し）、再度、ＮＯＲ型Ｉ／Ｆ部１７にアクセスして、残りのＲＴＯＳのプログラム群を第１フラッシュメモリ１８上で起動する。そして、第１ＣＰＵ１は、図３に示すフローの処理を終了させる。
【００４９】
以上の処理により、必要最小限の制御プログラムを先に実行することができるようになるので、第２の起動処理では、第１のＯＳ１８ａ及び第２のＯＳ２０ａを効率良く起動することができる。また、第２の起動処理では、第１のＳＰ１８ｂと、第２のＳＰ２０ｂを起動するようにしても良い。これにより、第２の起動処理では、さらに第１のＯＳ１８ａ及び第２のＯＳ２０ａを高速に起動できる。
【００５０】
次に、本実施形態の電子カメラ１００におけるＯＳのアップロードの処理の一例を説明する。ＯＳのアップロードの処理において、第１ＣＰＵ１は、第１のＯＳ１８ａ（ＲＴＯＳ）を起動して、ＲＴＯＳにＯＳのバージョン間の互換性をチェックさせる。例えば、記録用の画像の画像処理についてはＲＴＯＳを利用し、その画像処理後の記録用の画像を通信Ｉ／Ｆ部２６を介して無線ＬＡＮで通信する処理についてはＬｉｎｕｘを利用する場合、ＯＳの互換性が必要となる。そこで、第１ＣＰＵ１は、互換性のチェックの結果に基づいて、ＲＴＯＳに、バージョンのアップロード（更新）の処理を行なわせる。
【００５１】
以下、具体例を説明する。図６は、電子カメラ１００におけるＯＳのアップロードの処理の一例を示すフローチャートである。ここで、操作部２３が電子カメラ１００の電源オンの指示入力を受け付けた場合、ＡＳＩＣ２７の第１ＣＰＵ１は、図６に示すフローの処理を開始させる。なお、ＯＳのバージョン間の互換性をチェックについて、ＡＳＩＣ２７は、操作部２３を介してユーザ設定により電源オン時に行なうか否かの設定を受け付けることができる。
【００５２】
ステップＳ２０１：第１ＣＰＵ１は、第１のＯＳ１８ａ（ＲＴＯＳ）の起動を開始する。
【００５３】
ステップＳ２０２：第１ＣＰＵ１は、他のＯＳのバージョンに互換性が有るか否かをチェックする。具体的には、第１ＣＰＵ１は、各ＯＳのバージョン情報をそれぞれのＯＳのプログラムから読み出す。互換性が有る場合（ステップＳ２０２：Ｙｅｓ）、第１ＣＰＵ１は、ステップＳ２１１の処理に移行する。この場合、第１ＣＰＵ１は、アップロードを行なわない通常動作のフラグをオンにする。そして、第１ＣＰＵ１は、図６に示すフローの処理を終了させる。これにより、第１ＣＰＵ１は、アップロードを行なわず、例えば、第２のＯＳ（Ｌｉｎｕｘ）２０ａ又は第２のＳＰ２０ｂを起動する処理に移行する。一方、互換性が無い場合（ステップＳ２０２：Ｎｏ）、第１ＣＰＵ１は、ステップＳ２０３の処理に移行する。
【００５４】
ステップＳ２０３：第１ＣＰＵ１は、表示モニタ２２を介して、バージョンアップを行なうか否かの警告表示を行なう。そして、第１ＣＰＵ１は、ステップＳ２０４の処理に移行する。
【００５５】
ステップＳ２０４：第１ＣＰＵ１は、ユーザからのバージョンアップの指示入力の有無の判定を行なう。操作部２３がバージョンアップの指示入力を受け付けた場合（ステップＳ２０４：Ｙｅｓ）、第１ＣＰＵ１は、ステップＳ２０５の処理に移行する。一方、操作部２３がバージョンアップの指示入力を受け付けなかった場合（ステップＳ２０４：Ｎｏ）、第１ＣＰＵ１は、ステップＳ２１２の処理に移行する。この場合、第１ＣＰＵ１は、表示モニタ２２を介して、非互換ＯＳの対応機能を無効化にする警告表示を行なう（ステップＳ２１２）。さらに、第１ＣＰＵ１は、一部の機能を制限する動作を行なうことを示すフラグをオンにする（ステップＳ２１３）。そして、第１ＣＰＵ１は、図６に示すフローの処理を終了させる。これにより、第１ＣＰＵ１は、例えば、第２のＯＳ（Ｌｉｎｕｘ）２０ａ又は第２のＳＰ２０ｂの一部の機能を制限して起動する処理に移行する。
【００５６】
ステップＳ２０５：第１ＣＰＵ１は、バージョンアップ用ＯＳ及び関連プログラムをＳＤＲＡＭ２１にロードする処理をＲＴＯＳに行なわせる。具体的には、ＲＴＯＳは、バージョンアップ用ＯＳ及び関連プログラムが、第１記録媒体３０と、第２記録媒体３１と、第３記録媒体３２と、第１フラッシュメモリ１６と、第２フラッシュメモリ２０との何れかに格納されているかチェックを行なう。バージョンアップ用ＯＳ及び関連プログラムが何れかの記録手段に格納されている場合、ＲＴＯＳは、バージョンアップ用ＯＳ及び関連プログラムをＳＤＲＡＭ２１にロードする。
【００５７】
一方、バージョンアップ用ＯＳ及び関連プログラムが何れかの記録手段に格納されていない場合、第１ＣＰＵ１は、ＯＳのアップロードを行なうため、バージョンアップ用ＯＳ及び関連プログラムをインターネット網により、通信Ｉ／Ｆ部２６を介して例えば第１記録媒体３０にダウンロードする。そして、ＲＴＯＳは、バージョンアップ用ＯＳ及び関連プログラムをＳＤＲＡＭ２１にロードする。
【００５８】
ステップＳ２０６：第１ＣＰＵ１は、ＲＴＯＳに電子カメラ１００の機能の使用履歴の確認処理を行なわせる。なお、本実施形態では、電子カメラ１００の機能の使用履歴をＡＳＩＣ２７がフラッシュメモリ１８に記録していることとする。
【００５９】
ステップＳ２０７：第１ＣＰＵ１は、電子カメラ１００の機能の使用履歴に基づいて、ＯＳの格納先の再配置が必要か否かを判定する。ＯＳの格納先の再配置が必要な場合（ステップＳ２０７：Ｙｅｓ）、第１ＣＰＵ１は、ステップＳ２０８の処理に移行する。一方、ＯＳの格納先の再配置が不要な場合（ステップＳ２０７：Ｎｏ）、第１ＣＰＵ１は、ステップＳ２０９の処理に移行する。
【００６０】
ステップＳ２０８：第１ＣＰＵ１は、バージョンアップするＯＳの使用頻度に基づいて、バージョンアップ用ＯＳ及び関連プログラムを、第１記録媒体３０と、第２記録媒体３１と、第３記録媒体３２と、第１フラッシュメモリ１６と、第２フラッシュメモリ２０との何れかに再配置して記録（格納）する。そして、第１ＣＰＵ１は、ステップＳ２１０の処理に移行する。
【００６１】
ステップＳ２０９：第１ＣＰＵ１は、バージョンアップ用ＯＳ及び関連プログラムを、ＳＤＲＡＭ２１から該当する記録手段に記録（格納）する。例えば、第１ＣＰＵ１は、バージョンアップ用ＯＳ及び関連プログラムを、バージョンアップされるＯＳが記録されている記録手段に記録（格納）する。そして、第１ＣＰＵ１は、ステップＳ２１０の処理に移行する。
【００６２】
ステップＳ２１０：第１ＣＰＵ１は、リブート処理を行なう。このリブート処理により、第１ＣＰＵ１は、該当するＯＳのアップロードを行なう。そして、第１ＣＰＵ１は、ステップＳ２０１の処理に再度、戻る。ステップＳ２０１では、第１ＣＰＵ１は、ＲＴＯＳを起動する。そして、第１ＣＰＵ１は、ステップＳ２０２の処理に移行し、他のＯＳのバージョンに互換性が有るか否かをチェックする。今回は、互換性が有る判定がなされるので（ステップＳ２０２：Ｙｅｓ）、第１ＣＰＵ１は、ステップＳ２１１の処理に移行し、アップロードを行なわない通常動作のフラグをオンにする。そして、第１ＣＰＵ１は、図６に示すフローの処理を終了させる。これにより、第１ＣＰＵ１は、アップロードを行なわず、例えば、第２のＯＳ（Ｌｉｎｕｘ）２０ａ又は第２のＳＰ２０ｂを起動する処理に移行する。
【００６３】
上記のフローの処理により、第１ＣＰＵ１は、異なるＯＳの互換性をチェックすると共に、必要に応じてアップロードしてから起動する。そのため、ユーザがわざわざ互換性をチェックしてアップロードの処理をマニュアル操作でする必要がない。従って、本実施形態では、起動の効率化を図ることができる。
【００６４】
以上、本実施形態の電子カメラ１００は、複数のＯＳの起動時間を効率化するために、複数の異なるメモリを備える。また、電子カメラ１００は、汎用ＯＳのスナップショットイメージを作成して起動することにより、起動時間の高速化を行なうこともできる。
【００６５】
これにより、本発明は、起動時間の異なる複数のＯＳに関し、メモリの格納先を考慮して、複数のＯＳの起動時間の効率化を図る電子機器を提供できる。
【００６６】
（実施形態の補足事項）
（１）上記の実施形態では、汎用ＯＳとして、Ｌｉｎｕｘを用いて説明したが、汎用ＯＳは、Ｌｉｎｕｘに限られず、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＪＡＶＡ（登録商標）等の他の汎用ＯＳであっても良い。
【００６７】
（２）上記の実施形態では、本発明の一実施形態として電子カメラを例示したが、本発明の電子機器は、ＲＴＯＳと汎用ＯＳとを使用する電子機器であれば良く、例えば携帯電話であっても良い。
【符号の説明】
【００６８】
１００・・・電子カメラ、１・・・第１ＣＰＵ、２・・・第２ＣＰＵ、３・・・第３ＣＰＵ、１８ａ・・・第１のＯＳ、２０ａ・・・第２のＯＳ、３２ａ・・・第３のＯＳ、３２ｂ・・・第４のＯＳ、１８ｂ・・・第１のＳＰ、２０ｂ・・・第２のＳＰ
【図１】
2013205929.tif 000003
【図２】
2013205929.tif 000004
【図３】
2013205929.tif 000005
【図４】
2013205929.tif 000006
【図５】
2013205929.tif 000007
【図６】
2013205929.tif 000008