(57)【要約】【課題】コンピュータシステムの起動を高速化すること。【解決手段】主記憶装置上の実行時メモリイメージを、ＯＳや各ＡＰ、あるいはＡＰ群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送するよう構成する。また、メモリイメージを用いた起動処理と、メモリイメージを用いない起動処理とを各プログラムに応じて選択可能とするよう構成する。さらに、メモリイメージを主記憶装置へ転送することによる起動処理と、主記憶装置への転送を行うことなく補助記憶装置上で実行することによる起動処理とを各プログラムに応じて選択可能とするよう構成する。【選択図】        図３
2007065753.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行う装置に用いられる起動方法であって、
前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納工程と、
前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送工程と、
を含んだことを特徴とする起動方法。
【請求項２】
前記格納工程は、
前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする請求項１に記載の起動方法。
【請求項３】
前記格納工程は、
早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項２に記載の起動方法。
【請求項４】
前記格納工程は、
早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする請求項１、２または３に記載の起動方法。
【請求項５】
前記格納工程は、
オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項２、３または４に記載の起動方法。
【請求項６】
前記格納工程は、
前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項５に記載の起動方法。
【請求項７】
前記格納工程は、
所定の前記メモリイメージを圧縮したうえで前記補助記憶装置に格納し、
前記転送工程は、
前記補助記憶装置に格納された圧縮済のメモリイメージを展開したうえで前記主記憶装置に対して転送することを特徴とする請求項１〜６のいずれか一つに記載の起動方法。
【請求項８】
前記メモリイメージに対応するプログラムを前記主記憶装置に転送することなく前記補助記憶装置上で実行する実行工程をさらに含んだことを特徴とする請求項１〜７のいずれか一つに記載の起動方法。
【請求項９】
前記転送工程が前記メモリイメージのデータ転送を完了して該メモリイメージに対応するプログラムの実行が開始された後に、メモリイメージを用いた起動を行わないプログラムを前記主記憶装置へロードする通常転送工程をさらに含んだことを特徴とする請求項１〜８のいずれか一つに記載の起動方法。
【請求項１０】
プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行うナビゲーション装置であって、
前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納手段と、
前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送手段と、
を備えたことを特徴とするナビゲーション装置。
【請求項１１】
前記格納手段は、
前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする請求項1０に記載のナビゲーション装置。
【請求項１２】
前記格納手段は、
早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項１１に記載のナビゲーション装置。
【請求項１３】
前記格納手段は、
早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする請求項１０、１１または１２に記載のナビゲーション装置。
【請求項１４】
前記格納手段は、
オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項１１、１２または１３に記載のナビゲーション装置。
【請求項１５】
前記格納手段は、
前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする請求項１４に記載のナビゲーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、実行時メモリイメージを主記憶装置に転送することによって起動処理を行う装置に用いられる起動方法およびこの起動方法を適用したナビゲーション装置に関し、特に、高速な起動を行うことができる起動方法およびナビゲーション装置に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータなどのコンピュータでは、オペレーティングシステムや、このオペレーティングシステム上で動作する多数のアプリケーションプログラムなどのプログラムが動作することが一般的である。そして、パーソナルコンピュータを構成するハードウェアの高性能化に伴い、かかるプログラムも複雑化、高機能化する傾向にある。
【０００３】
しかし、オペレーティングシステムやアプリケーションプログラムの高機能化に伴って、これらのプログラムの起動に要する時間の増大が問題となってきている。たとえば、プログラムの実行形式ファイルを主記憶装置に転送する場合、かかる実行形式ファイルのサイズが増大すると、転送に要する時間も増大する。したがって、プログラムが高機能化して実行形式ファイルのサイズが増大すると、プログラムの起動に要する時間が長くなってしまうことになる。
【０００４】
このような問題は、パーソナルコンピュータに限ったものではなく、各種装置に用いられる組み込みコンピュータにも同様に発生している問題である。特に、組み込みコンピュータの場合には、プログラムの起動が完了するまでは機能発揮することができないものが多いので起動時間の短縮は重要である。このため、プログラムの起動時間を短縮するための手法が種々試みられている。
【０００５】
たとえば、特許文献１には、コンピュータシステムを停止する際にプログラムの実行時メモリイメージを主記憶装置から磁気ディスク装置へ退避しておき、コンピュータシステムを起動する際にこのメモリイメージを主記憶装置に転送することによって、コンピュータシステムの起動を高速化する技術が開示されている。
【０００６】
【特許文献１】特開昭６３−７９１２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術を用いたとしてもコンピュータシステムの起動を十分に高速化することができないという問題があった。その理由は、プログラムの高機能化に伴って主記憶装置上の実行時メモリイメージサイズは増大しており、このような大きなメモリイメージを主記憶装置に転送するための転送時間が起動の高速化を阻害するからである。
【０００８】
すなわち、実行時のメモリイメージを用いて起動を行う手法は、実行形式ファイルを主記憶装置にロードする手法に比べて起動時間を短縮することができるものの、メモリイメージの増大に伴ってメモリイメージの転送に要する時間がボトルネックとなって、システム起動を十分に高速化することができないという問題があった。
【０００９】
これらのことから、パーソナルコンピュータなどのコンピュータや、各種装置に用いられる組み込みコンピュータの起動を高速化することができる起動方法をいかにして実現するかが大きな課題となっている。
【００１０】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、コンピュータの起動を高速化することができる起動方法およびおよびこの起動方法を適用したナビゲーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る起動方法は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行う装置に用いられる起動方法であって、前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納工程と、前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送工程と、を含んだことを特徴とする。
【００１２】
また、請求項２の発明に係る起動方法は、上記の発明において、前記格納工程は、前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする。
【００１３】
また、請求項３の発明に係る起動方法は、上記の発明において、前記格納工程は、早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【００１４】
また、請求項４の発明に係る起動方法は、上記の発明において、前記格納工程は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする。
【００１５】
また、請求項５の発明に係る起動方法は、上記の発明において、前記格納工程は、オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【００１６】
また、請求項６の発明に係る起動方法は、上記の発明において、前記格納工程は、前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【００１７】
また、請求項７の発明に係る起動方法は、上記の発明において、前記格納工程は、所定の前記メモリイメージを圧縮したうえで前記補助記憶装置に格納し、前記転送工程は、前記補助記憶装置に格納された圧縮済のメモリイメージを展開したうえで前記主記憶装置に対して転送することを特徴とする。
【００１８】
また、請求項８の発明に係る起動方法は、上記の発明において、前記メモリイメージに対応するプログラムを前記主記憶装置に転送することなく前記補助記憶装置上で実行する実行工程をさらに含んだことを特徴とする。
【００１９】
また、請求項９の発明に係る起動方法は、上記の発明において、前記転送工程が前記メモリイメージのデータ転送を完了して該メモリイメージに対応するプログラムの実行が開始された後に、メモリイメージを用いた起動を行わないプログラムを前記主記憶装置へロードする通常転送工程をさらに含んだことを特徴とする。
【００２０】
また、請求項１０の発明に係るナビゲーション装置は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行うナビゲーション装置であって、前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納手段と、前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送手段と、を備えたことを特徴とする。
【００２１】
また、請求項１１の発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする。
【００２２】
また、請求項１２の発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【００２３】
また、請求項１３の発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする。
【００２４】
また、請求項１４の発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【００２５】
また、請求項１５の発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
【発明の効果】
【００２６】
請求項１に係る発明によれば、補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応するメモリイメージを各格納領域に対して予め格納しておく格納工程と、格納工程によってメモリイメージが格納された各格納領域から主記憶装置へのデータ転送を並行して行う転送工程と、を含むよう構成したので、分割して格納した各メモリイメージを並行してロードすることによって、コンピュータの起動を高速化することができるという効果を奏する。
【００２７】
また、請求項２に係る発明によれば、格納工程は、補助記憶装置上に領域サイズが異なる複数の格納領域を設けるよう構成したので、領域サイズの大小を用いた起動順序の調整を容易に行うことができるという効果を奏する。
【００２８】
また、請求項３に係る発明によれば、格納工程は、早期起動を要するプログラムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、早期起動の必要があるプログラムを他のプログラムに先立って起動させることができるという効果を奏する。
【００２９】
また、請求項４に係る発明によれば、格納工程は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該当するプログラムに対応するメモリイメージを補助記憶装置に格納するよう構成したので、メモリイメージを用いた起動処理と、メモリイメージを用いない通常の起動処理を適宜組み合わせることによって、主記憶装置に転送するメモリイメージのサイズを抑制することができるという効果を奏する。
【００３０】
また、請求項５に係る発明によれば、格納工程は、オペレーティングシステムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、オペレーティングシステムの起動を早期に完了することができるという効果を奏する。
【００３１】
また、請求項６に係る発明によれば、格納工程は、オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群のメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、アプリケーションプログラム群の中で起動順序の優先順位を容易につけることができるという効果を奏する。
【００３２】
また、請求項７に係る発明によれば、格納工程は、所定のメモリイメージを圧縮したうえで補助記憶装置に格納し、転送工程は、補助記憶装置に格納された圧縮済のメモリイメージを展開したうえで主記憶装置に対して転送するよう構成したので、起動に用いるメモリイメージのサイズを抑制することができるという効果を奏する。
【００３３】
また、請求項８に係る発明によれば、メモリイメージに対応するプログラムを主記憶装置に転送することなく補助記憶装置上で実行する実行工程をさらに含むよう構成したので、プログラムを補助記憶装置上で実行することによって、主記憶装置上のメモリイメージのサイズを抑制することができるとともに、補助記憶装置上で実行するプログラムを任意に選択することによって、起動に用いるメモリイメージのサイズを抑制することができるという効果を奏する。
【００３４】
また、請求項９に係る発明によれば、転送工程がメモリイメージのデータ転送を完了してメモリイメージに対応するプログラムの実行が開始された後に、メモリイメージを用いた起動を行わないプログラムを主記憶装置へロードする通常転送工程をさらに含むよう構成したので、メモリイメージを用いた起動の対象となるプログラムを適宜選択することによって、起動を高速化することができるという効果を奏する。
【００３５】
また、請求項１０に係る発明によれば、補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応するメモリイメージを各格納領域に対して予め格納しておく格納手段と、格納工程によってメモリイメージが格納された各格納領域から主記憶装置へのデータ転送を並行して行う転送手段と、を備えるよう構成したので、分割して格納した各メモリイメージを並行してロードすることによって、ナビゲーション装置の起動を高速化することができるという効果を奏する。
【００３６】
また、請求項１１に係る発明によれば、格納手段は、補助記憶装置上に領域サイズが異なる複数の格納領域を設けるよう構成したので、領域サイズの大小を用いた起動順序の調整を容易に行うことができるという効果を奏する。
【００３７】
また、請求項１２に係る発明によれば、格納手段は、早期起動を要するプログラムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、早期起動の必要があるプログラムを他のプログラムに先立って起動させることができるという効果を奏する。
【００３８】
また、請求項１３に係る発明によれば、格納手段は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該当するプログラムに対応するメモリイメージを補助記憶装置に格納するよう構成したので、メモリイメージを用いた起動処理と、メモリイメージを用いない通常の起動処理を適宜組み合わせることによって、主記憶装置に転送するメモリイメージのサイズを抑制することができるという効果を奏する。
【００３９】
また、請求項１４に係る発明によれば、格納手段は、オペレーティングシステムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、オペレーティングシステムの起動を早期に完了することができるという効果を奏する。
【００４０】
また、請求項１５に係る発明によれば、格納手段は、オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群のメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、アプリケーションプログラム群の中で起動順序の優先順位を容易につけることができるという効果を奏する。
【発明を実施するための最良の形態】
【００４１】
以下に添付図面を参照して、この発明に係る起動方法およびナビゲーション装置の好適な実施例１〜２を詳細に説明する。なお、各実施例においては、本発明に係る起動手法を移動体に搭載されるナビゲーション装置に適用した場合について説明することとする。
【００４２】
各実施例の詳細な説明に先立って、本発明に係る起動手法の概要について説明する。図１は、本発明に係る起動手法の概要を示す図である。同図に示すように、本発明に係る起動手法では、オペレーティングシステム（以下、「ＯＳ」と記載する）や、アプリケーションプログラム（以下、「ＡＰ」と記載する）といったプログラムの実行時メモリイメージをＲＯＭ（Read  Only  Memory）などの補助記憶装置に格納しておく（図１の（１）参照）。
【００４３】
そして、起動を行う際には、ＲＯＭ上の各メモリイメージを並行して主記憶装置（図１のＲＡＭ）に転送（ロード）することによって（図１の（２）参照）、メモリイメージの転送に要する時間を短縮することとしている。そして、各メモリイメージを格納するための各格納領域のサイズを異なるものとし、先に起動すべきプログラムをより小さい格納領域に格納しておくこととすることで、起動処理に伴う待ち時間を抑制することとしている。
【００４４】
従来のノート型パーソナルコンピュータ（以下、「ノートパソコン」と記載する）などにおいて用いられているいわゆる「レジューム機能」は、主記憶装置上の実行時メモリイメージをまとめて補助記憶装置に退避しておき、起動する際には、この退避した実行時メモリイメージを主記憶装置上にロードすることで起動の高速化を図るものであった。
【００４５】
しかしながら、近年のＯＳやＡＰは多くのメモリ領域を必要とするものが多く、補助記憶装置に退避されるメモリイメージのサイズも大きいものとなっていた。このため、起動する際に行われる、補助記憶装置から主記憶装置へのメモリイメージの転送時間が増大していた。したがって、メモリイメージを用いた起動を行うことによって起動時間を短縮できるものの、転送時間の増大によって起動時間の短縮効果を十分に得ることができなかった。
【００４６】
そこで、本発明に係る起動手法では、主記憶装置上の実行時メモリイメージを、ＯＳや各ＡＰ、あるいはＡＰ群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送することとしている。このようにすることで、メモリイメージ転送に要する時間を短縮することができるので、システム起動に要する時間を短縮すること、言い換えれば、システム起動を高速化することが可能となる。
【００４７】
ところで、コンピュータ上で動作する各種プログラムの中には、他のプログラムの起動完了を条件として起動を開始することができるプログラムが存在する。たとえば、一般的に、ＡＰはＯＳの起動が完了した後でなければ起動処理を開始することができない。そこで、本発明に係る起動手法では、簡易な手法によってプログラムの起動順序を調整し、起動処理に伴う初期化処理を単一のＣＰＵであっても効率的に行うことができるようにしている。なお、かかるプログラムの起動順序の調整手法について後述することとする。
【００４８】
次に、本発明に係る起動手法を適用したコンピュータの起動シーケンスについて図２を用いて説明する。図２は、本発明に係る起動手法を適用したコンピュータの起動シーケンスを示す図である。同図に示すように、コンピュータの電源ＯＮなどの起動指示を受け付けると、ＣＰＵ上では、まず、ＩＰＬ（Initial  Program  Loader）が実行される。
【００４９】
そして、イニシャルプログラムの指定に従って複数のＤＭＡ（Direct  Memory  Access）転送が並行して行われる。図２では、ＤＭＡ転送Ａでは「ＡＰ」のメモリイメージをＲＡＭ（主記憶装置）へロードし、ＤＭＡ転送Ｂでは「ＯＳ」のメモリイメージを同様にロードする場合について示している。なお、ＤＭＡ転送はＣＰＵの動作とは独立して行われるので、ＣＰＵはＤＭＡ転送中に他の処理を行うことができる。
【００５０】
ここで、ＯＳのメモリイメージは、ＡＰのメモリイメージよりも小さくなるように予め分割されて補助記憶装置に格納されている。たとえば、ＯＳや各種ＡＰが実行されている主記憶装置上のメモリイメージは、ＯＳのメモリイメージと、ＯＳを除くプログラムのメモリイメージとに分割されて補助記憶装置に予め格納される。
【００５１】
したがって、ＯＳに関するロードを行うＤＭＡ転送Ｂは、ＡＰに関するロードを行うＤＭＡ転送Ａよりも早く完了する。ＣＰＵはＤＭＡ転送Ｂが完了すると、周辺デバイスやドライバーの初期化といったＯＳの初期化処理を行う。そして、ＣＰＵはＤＭＡ転送Ａが完了するとＡＰが使用するシステムリソースの初期化といったＡＰの初期化処理を行い、ＡＰの実行を開始することになる。
【００５２】
このように、本発明に係る起動手法は、補助記憶装置上に各メモリイメージを格納するための複数の格納領域を設け、各格納領域に格納されたメモリイメージを並行して主記憶装置上にロードする。また、各格納領域のサイズ（メモリイメージのサイズ）に差異を設けることで、起動順序を調整することとしている。すなわち、並行したロード処理を行うことによって転送時間を抑制することができるとともに、起動に伴う各種処理を効率的に順次処理することができるので、コンピュータシステムの起動を高速化することができる。
【実施例１】
【００５３】
実施例１では、本発明に係る起動手法を車両などの移動体に搭載されるナビゲーション装置に適用した場合について説明する。近年のナビゲーション装置では、Ｌｉｎｕｘ（登録商標）などの汎用ＯＳを用いたものも開発されつつあり、このＯＳ上では、ルートナビゲーション用のアプリケーションや、オーディオ用のアプリケーションなど複数のＡＰが動作する。したがって、本発明に係る起動手法をナビゲーション装置に適用することで、ナビゲーション装置の起動を高速化することが可能となる。
【００５４】
図３は、本発明に係る起動手法を適用したナビゲーション装置の構成を示すブロック図である。同図に示すように、ナビゲーション装置１は、制御部１０と、補助記憶装置２０と、主記憶装置３０とを備えている。また、制御部１０は、起動指示受付部１１と、起動制御処理部１２と、転送処理部１３とをさらに備えており、補助記憶装置２０は、起動情報２１を記憶するとともに、実行時メモリイメージを格納するための記憶領域（図３の２２ａおよび２２ｂ）を複数含んでいる。なお、図３においては、ナビゲーション装置１の起動処理を説明するために、ルート情報検索機能や表示機能といった処理部の記載を省略している。
【００５５】
制御部１０は、イグニッションスイッチＯＮなどの起動指示を受け付けると、補助記憶装置２０に記憶された起動情報２１を読み出し、読み出した起動情報２１に基づいて記憶領域２２ａなどに予め格納されている実行時メモリイメージを主記憶装置３０に転送する処理を行う処理部である。
【００５６】
起動指示受付部１１は、イグニッションスイッチＯＮなどの起動トリガーを検知して、起動制御処理部１２に対してプログラムの起動処理を開始するよう指示する処理部である。また、起動制御処理部１２は、かかる起動指示受付部１１からの起動指示を受け付けると、補助記憶装置２０から起動情報２１を読み出し、読み出した起動情報２１に基づいて転送処理部１３に対してメモリイメージのロード（補助記憶装置２０から主記憶装置３０への転送）を指示する処理部である。
【００５７】
転送処理部１３は、起動制御処理部１２のロード指示を受け付けると、受け付けたロード指示に基づいて、補助記憶装置２０の各記憶領域（２２ａや２２ｂなど）に格納されている各メモリイメージを、主記憶装置３０に対して並行して転送する処理を行う処理部である。なお、この転送処理部１３が行う転送処理には上記したＤＭＡなどの手法が用いられ、複数のＤＭＡ処理を並行して動作させることになる。
【００５８】
補助記憶装置２０は、ＲＯＭなどの不揮発性メモリで構成される記憶装置であり、起動情報２１を記憶するとともに、各メモリイメージを格納するための複数の記憶領域（２２ａや２２ｂなど）を含んでいる。たとえば、この補助記憶装置２０にはナビゲーション装置１の製造段階で予め上記した各メモリイメージが格納されて出荷される。このようにすることで、ナビゲーション装置１の起動時にこれらのメモリイメージを用いた起動処理を行うことができるので、起動を高速化することが可能となる。
【００５９】
なお、この補助記憶装置２０にＨＤＤ（Hard  Disk  Drive）を用いることとしてもよい。ここで、かかる起動情報２１の例について図４を用いて説明しておく。図４は、起動情報２１の一例を示す図である。
【００６０】
同図に示すように、起動情報２１は、プログラム名などのプログラムを識別するための情報と、メモリイメージを用いた起動の詳細を示す情報とを含んだ情報である。なお、同図においては、メモリイメージを用いた起動の例として、ＲＡＭ（主記憶装置）へ転送して実行することによって起動する場合と、ＲＡＭへ転送することなくＲＯＭ（補助記憶装置）上で実行することによって起動する場合について示している。
【００６１】
たとえば、図４に示した場合であれば、ＯＳおよびＡＰ−ＡはＲＡＭへ転送して実行することによって起動する旨が指示されており、ＡＰ−ＢはＲＡＭへ転送することなくＲＯＭ上で実行することによって起動する旨が指示されている。なお、メモリイメージをＲＯＭ上で実行することによって起動すると、転送処理を伴わないため高速な起動が可能であるというメリットがあるものの、ＲＡＭ上で実行する場合と比べて実行速度が遅いというデメリットもある。したがって、これらの起動方式のどちらを選択するかは、プログラムの性質に応じて予め決定されて指定されることになる。
【００６２】
図３の説明に戻り、主記憶装置３０について説明する。この主記憶装置３０は、ＲＡＭ（Random  Access  Memory）などの揮発性メモリで構成される記憶装置であり、制御部１０の転送処理部１３によって、補助記憶装置２０の各記憶領域（２２ａや２２ｂなど）に予め格納されている各実行時メモリイメージが転送される。
【００６３】
次に、実施例１に係る起動処理の処理手順について図５を用いて説明する。図５は、実施例１に係る起動処理の処理手順を示すフローチャートである。なお、図５に示したフローチャートは、図２に示した起動シーケンス図に対応するものである。
【００６４】
同図に示すように、起動指示受付部１１が起動指示を受け付けると（ステップＳ１０１）、この起動指示受付部１１からの通知を受けた起動制御処理部１２は、補助記憶装置２０から起動情報２１を読み出す（ステップＳ１０２）。
【００６５】
つづいて、起動制御処理部１２は、かかる起動情報２１に基づいて転送処理部１３に転送指示を行い、この転送指示を受けた転送処理部１３は、ＯＳのメモリイメージを主記憶装置３０に対して転送（ロード）するとともに（ステップＳ１０３）、この転送処理と並行して、ＡＰのメモリイメージを主記憶装置に対してロードする（ステップＳ１０５）。
【００６６】
そして、ステップＳ１０３の処理が完了したならば、各種デバイスやドライバーの初期化といったＯＳの初期化処理を行う（ステップＳ１０４）。その後、ステップＳ１０４およびステップＳ１０５の完了を待ち合わせ、双方の処理が完了したならばＡＰの初期化処理を行って（ステップＳ１０６）処理を終了する。
【００６７】
次に、図４に示した起動情報２１の変形例について図６を用いて説明する。図６は、起動情報２１の変形例を示す図である。なお、同図に示す６１に対応する起動シーケンス図を図７に、６２に対応する起動シーケンス図を図８に、６３に対応する起動シーケンス図を図９に、それぞれ示すこととする。
【００６８】
図６の６１では、ＯＳおよびＡＰ−Ａについては、メモリイメージをＲＡＭ（主記憶装置３０）へ転送して実行することによって起動する旨が指定されており、ＡＰ−Ｂについては、通常起動（メモリイメージを使用しない起動）を行う旨が指定されている。ここで、図６の６１に対応する起動シーケンスについて図７を用いて説明しておく。図７は、起動情報２１の変形例１に対応するシーケンス図である。
【００６９】
図７に示すように、コンピュータの電源ＯＮなどの起動指示を受け付けると、ＣＰＵ上では、まず、ＩＰＬ（Initial  Program  Loader）が実行される。そして、イニシャルプログラムの指定に従って複数のＤＭＡ（Direct  Memory  Access）転送が並行して行われる。同図のＤＭＡ転送Ａでは「ＡＰ−Ａ」のメモリイメージをＲＡＭ（主記憶装置３０）へロードし、同図のＤＭＡ転送Ｂでは「ＯＳ」のメモリイメージを同様にロードする。
【００７０】
ここで、ＯＳのメモリイメージは、ＡＰのメモリイメージよりも小さくなるように予め分割されて補助記憶装置２０に格納されている。したがって、ＯＳに関するロードを行うＤＭＡ転送Ｂは、ＡＰ−Ａに関するロードを行うＤＭＡ転送Ａよりも早く完了する。ＣＰＵはＤＭＡ転送Ｂが完了すると、周辺デバイスやドライバーの初期化といったＯＳの初期化処理を行う。
【００７１】
そして、ＣＰＵはＤＭＡ転送Ａが完了するとＡＰが使用するシステムリソースの初期化といったＡＰ−Ａの初期化処理を行い、ＡＰの実行を開始する。つづいて、ＣＰＵは「ＡＰ−Ｂ」の通常のロード処理（メモリイメージを用いない起動処理）および初期化処理を行い、ＡＰ−Ｂの実行を開始する。
【００７２】
このように、メモリイメージを用いる起動処理と、メモリイメージを用いない起動処理とを併用することによって、起動処理に用いるメモリイメージのサイズを抑制することができるので、高速な起動処理を行うことができる。
【００７３】
たとえば、この通常起動の対象プログラムとして、高速起動が要求されないプログラム、ネットワークなどのリソースを使用するプログラム、ＨＤＤなどのデバイスを使用するプログラム、ＧＵＩ（Graphical  User  Interface）を使用するプログラム、音声を用いるプログラム、Ｊａｖａ（登録商標）ＶＭ（Virtual  Machine）を使用するプログラムを指定することによって、起動処理に用いるメモリイメージのサイズを効果的に抑制することができる。したがって、ナビゲーション装置１の起動を高速化することが可能となる。
【００７４】
図６の６２では、ＯＳのメモリイメージをＲＯＭ（補助記憶装置２０）上で起動し、ＡＰについては、メモリイメージをＲＡＭ（主記憶装置３０）へ転送して実行することによって起動する旨が指定されている。ここで、図６の６２に対応する起動シーケンスについて図８を用いて説明しておく。図８は、起動情報２１の変形例２に対応するシーケンス図である。
【００７５】
図８に示すように、イニシャルプログラムの指定に従ってＤＭＡ転送Ａが行われる。このＤＭＡ転送ＡではＡＰのメモリイメージをＲＡＭ（主記憶装置３０）へロードする。一方、ＯＳについてはＲＯＭ上でメモリイメージを用いた起動が行われるので、ＤＭＡ転送Ａと並行して、ＯＳのロードおよび初期化が実行される。そして、ＤＭＡ転送Ａが完了するとＡＰが使用するシステムリソースの初期化といったＡＰの初期化処理を行い、ＡＰの実行を開始する。
【００７６】
このように、メモリイメージを主記憶装置３０に転送することによる起動処理と、メモリイメージを補助記憶装置２０上で実行することによる起動処理とを併用することによって、主記憶装置３０へ転送されるメモリイメージのサイズを抑制することができる。したがって、ナビゲーション装置１の起動時間を短縮することが可能となる。
【００７７】
図６の６３では、ＯＳについては、メモリイメージをＲＡＭ（主記憶装置３０）へ転送して実行することによって起動する旨が指定されている。一方、ＡＰについては、メモリイメージをＲＯＭ（補助記憶装置２０）上で実行する旨が指定されている。この場合、ＡＰは、ＲＡＭ（主記憶装置３０）上では実行されないので、ＲＡＭ上のメモリイメージはＡＰが用いるデータのみに関するメモリイメージとなる。ここで、図６の６３に対応する起動シーケンスについて図９を用いて説明しておく。図９は、起動情報２１の変形例３に対応するシーケンス図である。
【００７８】
図９に示すように、ＤＭＡ転送Ａでは、ＡＰのデータ領域のみに対応するメモリイメージをＲＡＭ（主記憶装置３０）へロードする。また、ＤＭＡ転送Ｂでは、ＯＳのメモリイメージをＲＡＭ（主記憶装置３０）へロードする。そして、ＤＭＡ転送ＡおよびＤＭＡ転送Ｂが完了すると、ＯＳの初期化が行われ、つづいて、ＡＰの初期化が行われてＡＰの実行が開始される。
【００７９】
このように、ＡＰなどのプログラムを補助記憶装置２０上で動作させることとすれば、実行時のメモリイメージのサイズを抑制することができる。したがって、メモリイメージ転送に要する時間を短縮することによって、起動を高速化することが可能となる。
【００８０】
上述してきたように、本実施例１では、主記憶装置上の実行時メモリイメージを、ＯＳや各ＡＰ、あるいはＡＰ群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送するよう構成した。また、メモリイメージを用いた起動処理と、メモリイメージを用いない起動処理とを各プログラムに応じて選択可能とするよう構成した。さらに、メモリイメージを用いた起動処理においては、メモリイメージを主記憶装置へ転送することによる起動処理と、主記憶装置への転送を行うことなく補助記憶装置上で実行することによる起動処理とを各プログラムに応じて選択可能とするよう構成した。したがって、メモリイメージ転送に要する時間を効率的に短縮することによって、起動を高速化することができる。
【実施例２】
【００８１】
実施例２では、実施例１に示した起動手法に、上記したいわゆる「レジューム機能」を付加したナビゲーション装置について説明する。なお、以下では、実施例１との差異点について主に説明することとし、共通点についての説明は省略することとする。
【００８２】
図１０は、実施例２に係るナビゲーション装置１の構成を示すブロック図である。同図に示すように、本実施例２に係るナビゲーション装置１では、レジューム機能を実現するために、実施例１に係るナビゲーション装置１（図３参照）の制御部１０に、さらに停止指示受付部１４および停止制御処理部１５を設け、転送処理部１３が主記憶装置３０から補助記憶装置２０へのメモリイメージの転送をも行うよう構成している。
【００８３】
停止指示受付部１４は、イグニッションスイッチＯＦＦなどの停止トリガーを検知して、停止制御処理部１５に対してプログラムの停止に伴うレジューム処理を開始するよう指示する処理部である。
【００８４】
転送処理部１３は、補助記憶装置２０から主記憶装置３０へのメモリイメージ転送処理（ロード処理）を行うとともに、主記憶装置３０から補助記憶装置２０へのメモリイメージ転送処理（退避処理）を行う処理部である。また、かかる退避処理を行う際に、メモリイメージを圧縮して補助記憶装置２０に格納し、ロード処理を行う際に、圧縮されたメモリイメージを復元して主記憶装置３０に格納することとしてもよい。
【００８５】
この場合、プログラムごとに圧縮処理を行うか否かの指定を行うことにより、圧縮効率の高いメモリイメージを有するプログラムのみを圧縮処理の対象とすることで、退避処理およびロード処理の対象となるメモリイメージのサイズを効果的に抑制することが可能となる。
【００８６】
停止制御処理部１５は、かかる停止指示受付部１１からの停止指示を受け付けると、主記憶装置３０から補助記憶装置２０の各記憶領域（２２ａや２２ｂなど）へのメモリイメージの退避を、転送処理部１３に対して指示する処理部である。また、この停止制御処理部１５は、かかる退避処理を行った後に、主記憶装置３０への電力供給を停止する制御を行う処理部でもある。
【００８７】
従来のナビゲーション装置では、イグニッションスイッチＯＦＦ後であっても主記憶装置３０に対する電力供給を継続し、主記憶装置３０上のメモリイメージを保持することによって、あたかも実行途中のアプリケーションが継続動作しているようにみせるものがあった。しかし、このような手法をとるとバッテリーの電力を消費しつづけることとなってしまい、バッテリーの消耗を招くという問題があった。
【００８８】
そこで、本実施例２に係るナビゲーション装置１では、実施例１に示した起動手法と、いわゆるレジューム機能とを併用することによって、かかる問題点を解決することとしている。すなわち、高速起動を行うことができる実施例１の起動手法を用いつつ、さらに、プログラムの最新のメモリイメージを退避して次回の起動に用いることによって、主記憶装置３０への電力供給を停止することができるとともに、利用者の利便性を向上させることが可能となる。
【００８９】
なお、本実施例２におけるメモリイメージの退避処理の対象となるプログラムは、任意に選択することが可能である。たとえば、ルートナビゲーションを行うプログラムをかかる退避処理の対象とすることによって、ルート案内中に車両のイグニッションスイッチをＯＦＦにした場合であっても、次回、イグニッションスイッチをＯＮにした際に、スイッチＯＦＦ以前に行っていたルート案内を継続することが可能となる。
【００９０】
次に、実施例２に係る退避処理の処理手順について図１１を用いて説明する。図１１は、実施例２に係る退避処理の処理手順を示すフローチャートである。同図に示すように、停止指示受付部１４が停止指示を受け付けると（ステップＳ２０１）、この停止指示受付部１４からの通知を受けた停止制御処理部１５は、メモリイメージの退避対象プログラムであるか否かを判定する（ステップＳ２０２）。
【００９１】
そして、メモリイメージの退避対象プログラムである場合には（ステップＳ２０２，Ｙｅｓ）、ＲＡＭ（主記憶装置３０）からＲＯＭ（補助記憶装置２０）へメモリイメージの転送を行う（ステップＳ２０３）。一方、メモリイメージの退避対象プログラムではない場合には（ステップＳ２０２，Ｎｏ）、ステップＳ２０３の処理を行うことなくステップＳ２０４の処理を行うことになる。
【００９２】
つづいて、メモリイメージの退避対象プログラムが他にあるか否かを判定し（ステップＳ２０４）、他の退避対象プログラムがある場合には（ステップＳ２０４，Ｙｅｓ）、ステップＳ２０２以降の処理を繰り返す。一方、他の退避対象プログラムがない場合には（ステップＳ２０４，Ｎｏ）、主記憶装置３０に電力を供給する電源をＯＦＦにして（ステップＳ２０５）処理を終了する。
【００９３】
このように、本実施例２では、制御部に停止指示受付部と、停止制御処理部とをさらに設け、転送処理部が補助記憶装置から主記憶装置への転送処理のみならず、主記憶装置から補助記憶装置への転送処理をも行うよう構成したので、主記憶装置への電力供給を停止することによってバッテリーの消耗を抑制することができるとともに、実行途中のプログラムの退避および復元を行うことによって、利用者の利便性を向上させることができる。
【産業上の利用可能性】
【００９４】
以上のように、本発明にかかる起動方法およびナビゲーション装置は、コンピュータ上で動作するプログラムの起動を高速化したい場合に適している。
【図面の簡単な説明】
【００９５】
【図１】本発明に係る起動手法の概要を示す図である。
【図２】本発明に係る起動手法を適用したコンピュータの起動シーケンスを示す図である。
【図３】本発明に係る起動手法を適用したナビゲーション装置の構成を示すブロック図である。
【図４】起動情報の一例を示す図である。
【図５】実施例１に係る起動処理の処理手順を示すフローチャートである。
【図６】起動情報の変形例を示す図である。
【図７】変形例１に対応する起動シーケンス図である。
【図８】変形例２に対応する起動シーケンス図である。
【図９】変形例３に対応する起動シーケンス図である。
【図１０】実施例２に係るナビゲーション装置の構成を示すブロック図である。
【図１１】実施例２に係る退避処理の処理手順を示すフローチャートである。
【００９６】
１  ナビゲーション装置
１０  制御部
１１  起動指示受付部
１２  起動制御処理部
１３  転送処理部
１４  停止指示受付部
１５  停止制御処理部
２０  補助記憶装置
２１  起動情報
２２ａ、２２ｂ  記憶領域
３０  主記憶装置
【図１】
2007065753.tif 000003
【図２】
2007065753.tif 000004
【図３】
2007065753.tif 000005
【図４】
2007065753.tif 000006
【図５】
2007065753.tif 000007
【図６】
2007065753.tif 000008
【図７】
2007065753.tif 000009
【図８】
2007065753.tif 000010
【図９】
2007065753.tif 000011
【図１０】
2007065753.tif 000012
【図１１】
2007065753.tif 000013