JP5061438B2 - 情報処理装置、起動方法及び起動プログラム - Google Patents

情報処理装置、起動方法及び起動プログラム Download PDF

Info

Publication number
JP5061438B2
JP5061438B2 JP2005247756A JP2005247756A JP5061438B2 JP 5061438 B2 JP5061438 B2 JP 5061438B2 JP 2005247756 A JP2005247756 A JP 2005247756A JP 2005247756 A JP2005247756 A JP 2005247756A JP 5061438 B2 JP5061438 B2 JP 5061438B2
Authority
JP
Japan
Prior art keywords
memory image
storage device
program
activation
startup
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.)
Expired - Fee Related
Application number
JP2005247756A
Other languages
English (en)
Other versions
JP2007065753A (ja
Inventor
亮介 松岡
勝徳 笠松
丈治 加藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005247756A priority Critical patent/JP5061438B2/ja
Publication of JP2007065753A publication Critical patent/JP2007065753A/ja
Application granted granted Critical
Publication of JP5061438B2 publication Critical patent/JP5061438B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、実行時メモリイメージを主記憶装置に転送することによって起動処理を行う装置に用いられる起動方法およびこの起動方法を適用したナビゲーション装置に関し、特に、高速な起動を行うことができる起動方法およびナビゲーション装置に関する。
近年、パーソナルコンピュータなどのコンピュータでは、オペレーティングシステムや、このオペレーティングシステム上で動作する多数のアプリケーションプログラムなどのプログラムが動作することが一般的である。そして、パーソナルコンピュータを構成するハードウェアの高性能化に伴い、かかるプログラムも複雑化、高機能化する傾向にある。
しかし、オペレーティングシステムやアプリケーションプログラムの高機能化に伴って、これらのプログラムの起動に要する時間の増大が問題となってきている。たとえば、プログラムの実行形式ファイルを主記憶装置に転送する場合、かかる実行形式ファイルのサイズが増大すると、転送に要する時間も増大する。したがって、プログラムが高機能化して実行形式ファイルのサイズが増大すると、プログラムの起動に要する時間が長くなってしまうことになる。
このような問題は、パーソナルコンピュータに限ったものではなく、各種装置に用いられる組み込みコンピュータにも同様に発生している問題である。特に、組み込みコンピュータの場合には、プログラムの起動が完了するまでは機能発揮することができないものが多いので起動時間の短縮は重要である。このため、プログラムの起動時間を短縮するための手法が種々試みられている。
たとえば、特許文献1には、コンピュータシステムを停止する際にプログラムの実行時メモリイメージを主記憶装置から磁気ディスク装置へ退避しておき、コンピュータシステムを起動する際にこのメモリイメージを主記憶装置に転送することによって、コンピュータシステムの起動を高速化する技術が開示されている。
特開昭63−79120号公報
しかしながら、特許文献1の技術を用いたとしてもコンピュータシステムの起動を十分に高速化することができないという問題があった。その理由は、プログラムの高機能化に伴って主記憶装置上の実行時メモリイメージサイズは増大しており、このような大きなメモリイメージを主記憶装置に転送するための転送時間が起動の高速化を阻害するからである。
すなわち、実行時のメモリイメージを用いて起動を行う手法は、実行形式ファイルを主記憶装置にロードする手法に比べて起動時間を短縮することができるものの、メモリイメージの増大に伴ってメモリイメージの転送に要する時間がボトルネックとなって、システム起動を十分に高速化することができないという問題があった。
これらのことから、パーソナルコンピュータなどのコンピュータや、各種装置に用いられる組み込みコンピュータの起動を高速化することができる起動方法をいかにして実現するかが大きな課題となっている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、コンピュータの起動を高速化することができる起動方法およびこの起動方法を適用したナビゲーション装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係る起動方法は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行う装置に用いられる起動方法であって、前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納工程と、前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送工程と、を含んだことを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記格納工程は、所定の前記メモリイメージを圧縮したうえで前記補助記憶装置に格納し、前記転送工程は、前記補助記憶装置に格納された圧縮済のメモリイメージを展開したうえで前記主記憶装置に対して転送することを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記メモリイメージに対応するプログラムを前記主記憶装置に転送することなく前記補助記憶装置上で実行する実行工程をさらに含んだことを特徴とする。
また、本発明に係る起動方法は、上記の発明において、前記転送工程が前記メモリイメージのデータ転送を完了して該メモリイメージに対応するプログラムの実行が開始された後に、メモリイメージを用いた起動を行わないプログラムを前記主記憶装置へロードする通常転送工程をさらに含んだことを特徴とする。
また、本発明に係るナビゲーション装置は、プログラムの実行時メモリイメージを補助記憶装置に記憶しておき、前記実行時メモリイメージを主記憶装置に転送することによって起動処理を行うナビゲーション装置であって、前記補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応する前記メモリイメージを各格納領域に対して予め格納しておく格納手段と、前記格納工程によって前記メモリイメージが格納された各格納領域から前記主記憶装置へのデータ転送を並行して行う転送手段と、を備えたことを特徴とする。
また、本発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、前記補助記憶装置上に領域サイズが異なる複数の前記格納領域を設けることを特徴とする。
また、本発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、早期起動を要するプログラムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
また、本発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該プログラムに対応する前記メモリイメージを前記補助記憶装置に格納することを特徴とする。
また、本発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、オペレーティングシステムの前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
また、本発明に係るナビゲーション装置は、上記の発明において、前記格納手段は、前記オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群の前記メモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納することを特徴とする。
本発明によれば、補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応するメモリイメージを各格納領域に対して予め格納しておく格納工程と、格納工程によってメモリイメージが格納された各格納領域から主記憶装置へのデータ転送を並行して行う転送工程と、を含むよう構成したので、分割して格納した各メモリイメージを並行してロードすることによって、コンピュータの起動を高速化することができるという効果を奏する。
また、本発明によれば、格納工程は、補助記憶装置上に領域サイズが異なる複数の格納領域を設けるよう構成したので、領域サイズの大小を用いた起動順序の調整を容易に行うことができるという効果を奏する。
また、本発明によれば、格納工程は、早期起動を要するプログラムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、早期起動の必要があるプログラムを他のプログラムに先立って起動させることができるという効果を奏する。
また、本発明によれば、格納工程は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該当するプログラムに対応するメモリイメージを補助記憶装置に格納するよう構成したので、メモリイメージを用いた起動処理と、メモリイメージを用いない通常の起動処理を適宜組み合わせることによって、主記憶装置に転送するメモリイメージのサイズを抑制することができるという効果を奏する。
また、本発明によれば、格納工程は、オペレーティングシステムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、オペレーティングシステムの起動を早期に完了することができるという効果を奏する。
また、本発明によれば、格納工程は、オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群のメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、アプリケーションプログラム群の中で起動順序の優先順位を容易につけることができるという効果を奏する。
また、本発明によれば、格納工程は、所定のメモリイメージを圧縮したうえで補助記憶装置に格納し、転送工程は、補助記憶装置に格納された圧縮済のメモリイメージを展開したうえで主記憶装置に対して転送するよう構成したので、起動に用いるメモリイメージのサイズを抑制することができるという効果を奏する。
また、本発明によれば、メモリイメージに対応するプログラムを主記憶装置に転送することなく補助記憶装置上で実行する実行工程をさらに含むよう構成したので、プログラムを補助記憶装置上で実行することによって、主記憶装置上のメモリイメージのサイズを抑制することができるとともに、補助記憶装置上で実行するプログラムを任意に選択することによって、起動に用いるメモリイメージのサイズを抑制することができるという効果を奏する。
また、本発明によれば、転送工程がメモリイメージのデータ転送を完了してメモリイメージに対応するプログラムの実行が開始された後に、メモリイメージを用いた起動を行わないプログラムを主記憶装置へロードする通常転送工程をさらに含むよう構成したので、メモリイメージを用いた起動の対象となるプログラムを適宜選択することによって、起動を高速化することができるという効果を奏する。
また、本発明によれば、補助記憶装置上に複数の格納領域を設け、一または複数のプログラムに対応するメモリイメージを各格納領域に対して予め格納しておく格納手段と、格納工程によってメモリイメージが格納された各格納領域から主記憶装置へのデータ転送を並行して行う転送手段と、を備えるよう構成したので、分割して格納した各メモリイメージを並行してロードすることによって、ナビゲーション装置の起動を高速化することができるという効果を奏する。
また、本発明によれば、格納手段は、補助記憶装置上に領域サイズが異なる複数の格納領域を設けるよう構成したので、領域サイズの大小を用いた起動順序の調整を容易に行うことができるという効果を奏する。
また、本発明によれば、格納手段は、早期起動を要するプログラムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、早期起動の必要があるプログラムを他のプログラムに先立って起動させることができるという効果を奏する。
また、本発明によれば、格納手段は、早期起動を要するプログラムまたは高速起動が可能なプログラムについてのみ、該当するプログラムに対応するメモリイメージを補助記憶装置に格納するよう構成したので、メモリイメージを用いた起動処理と、メモリイメージを用いない通常の起動処理を適宜組み合わせることによって、主記憶装置に転送するメモリイメージのサイズを抑制することができるという効果を奏する。
また、本発明によれば、格納手段は、オペレーティングシステムのメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、オペレーティングシステムの起動を早期に完了することができるという効果を奏する。
また、本発明によれば、格納手段は、オペレーティングシステム上で動作する複数のアプリケーションプログラムの中で早期起動を要するプログラム群のメモリイメージを領域サイズが異なる複数の格納領域の中で領域サイズが小さい格納領域に格納するよう構成したので、アプリケーションプログラム群の中で起動順序の優先順位を容易につけることができるという効果を奏する。
以下に添付図面を参照して、この発明に係る起動方法およびナビゲーション装置の好適な実施例1〜2を詳細に説明する。なお、各実施例においては、本発明に係る起動手法を移動体に搭載されるナビゲーション装置に適用した場合について説明することとする。
各実施例の詳細な説明に先立って、本発明に係る起動手法の概要について説明する。図1は、本発明に係る起動手法の概要を示す図である。同図に示すように、本発明に係る起動手法では、オペレーティングシステム(以下、「OS」と記載する)や、アプリケーションプログラム(以下、「AP」と記載する)といったプログラムの実行時メモリイメージをROM(Read Only Memory)などの補助記憶装置に格納しておく(図1の(1)参照)。
そして、起動を行う際には、ROM上の各メモリイメージを並行して主記憶装置(図1のRAM)に転送(ロード)することによって(図1の(2)参照)、メモリイメージの転送に要する時間を短縮することとしている。そして、各メモリイメージを格納するための各格納領域のサイズを異なるものとし、先に起動すべきプログラムをより小さい格納領域に格納しておくこととすることで、起動処理に伴う待ち時間を抑制することとしている。
従来のノート型パーソナルコンピュータ(以下、「ノートパソコン」と記載する)などにおいて用いられているいわゆる「レジューム機能」は、主記憶装置上の実行時メモリイメージをまとめて補助記憶装置に退避しておき、起動する際には、この退避した実行時メモリイメージを主記憶装置上にロードすることで起動の高速化を図るものであった。
しかしながら、近年のOSやAPは多くのメモリ領域を必要とするものが多く、補助記憶装置に退避されるメモリイメージのサイズも大きいものとなっていた。このため、起動する際に行われる、補助記憶装置から主記憶装置へのメモリイメージの転送時間が増大していた。したがって、メモリイメージを用いた起動を行うことによって起動時間を短縮できるものの、転送時間の増大によって起動時間の短縮効果を十分に得ることができなかった。
そこで、本発明に係る起動手法では、主記憶装置上の実行時メモリイメージを、OSや各AP、あるいはAP群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送することとしている。このようにすることで、メモリイメージ転送に要する時間を短縮することができるので、システム起動に要する時間を短縮すること、言い換えれば、システム起動を高速化することが可能となる。
ところで、コンピュータ上で動作する各種プログラムの中には、他のプログラムの起動完了を条件として起動を開始することができるプログラムが存在する。たとえば、一般的に、APはOSの起動が完了した後でなければ起動処理を開始することができない。そこで、本発明に係る起動手法では、簡易な手法によってプログラムの起動順序を調整し、起動処理に伴う初期化処理を単一のCPUであっても効率的に行うことができるようにしている。なお、かかるプログラムの起動順序の調整手法について後述することとする。
次に、本発明に係る起動手法を適用したコンピュータの起動シーケンスについて図2を用いて説明する。図2は、本発明に係る起動手法を適用したコンピュータの起動シーケンスを示す図である。同図に示すように、コンピュータの電源ONなどの起動指示を受け付けると、CPU上では、まず、IPL(Initial Program Loader)が実行される。
そして、イニシャルプログラムの指定に従って複数のDMA(Direct Memory Access)転送が並行して行われる。図2では、DMA転送Aでは「AP」のメモリイメージをRAM(主記憶装置)へロードし、DMA転送Bでは「OS」のメモリイメージを同様にロードする場合について示している。なお、DMA転送はCPUの動作とは独立して行われるので、CPUはDMA転送中に他の処理を行うことができる。
ここで、OSのメモリイメージは、APのメモリイメージよりも小さくなるように予め分割されて補助記憶装置に格納されている。たとえば、OSや各種APが実行されている主記憶装置上のメモリイメージは、OSのメモリイメージと、OSを除くプログラムのメモリイメージとに分割されて補助記憶装置に予め格納される。
したがって、OSに関するロードを行うDMA転送Bは、APに関するロードを行うDMA転送Aよりも早く完了する。CPUはDMA転送Bが完了すると、周辺デバイスやドライバーの初期化といったOSの初期化処理を行う。そして、CPUはDMA転送Aが完了するとAPが使用するシステムリソースの初期化といったAPの初期化処理を行い、APの実行を開始することになる。
このように、本発明に係る起動手法は、補助記憶装置上に各メモリイメージを格納するための複数の格納領域を設け、各格納領域に格納されたメモリイメージを並行して主記憶装置上にロードする。また、各格納領域のサイズ(メモリイメージのサイズ)に差異を設けることで、起動順序を調整することとしている。すなわち、並行したロード処理を行うことによって転送時間を抑制することができるとともに、起動に伴う各種処理を効率的に順次処理することができるので、コンピュータシステムの起動を高速化することができる。
実施例1では、本発明に係る起動手法を車両などの移動体に搭載されるナビゲーション装置に適用した場合について説明する。近年のナビゲーション装置では、Linux(登録商標)などの汎用OSを用いたものも開発されつつあり、このOS上では、ルートナビゲーション用のアプリケーションや、オーディオ用のアプリケーションなど複数のAPが動作する。したがって、本発明に係る起動手法をナビゲーション装置に適用することで、ナビゲーション装置の起動を高速化することが可能となる。
図3は、本発明に係る起動手法を適用したナビゲーション装置の構成を示すブロック図である。同図に示すように、ナビゲーション装置1は、制御部10と、補助記憶装置20と、主記憶装置30とを備えている。また、制御部10は、起動指示受付部11と、起動制御処理部12と、転送処理部13とをさらに備えており、補助記憶装置20は、起動情報21を記憶するとともに、実行時メモリイメージを格納するための記憶領域(図3の22aおよび22b)を複数含んでいる。なお、図3においては、ナビゲーション装置1の起動処理を説明するために、ルート情報検索機能や表示機能といった処理部の記載を省略している。
制御部10は、イグニッションスイッチONなどの起動指示を受け付けると、補助記憶装置20に記憶された起動情報21を読み出し、読み出した起動情報21に基づいて記憶領域22aなどに予め格納されている実行時メモリイメージを主記憶装置30に転送する処理を行う処理部である。
起動指示受付部11は、イグニッションスイッチONなどの起動トリガーを検知して、起動制御処理部12に対してプログラムの起動処理を開始するよう指示する処理部である。また、起動制御処理部12は、かかる起動指示受付部11からの起動指示を受け付けると、補助記憶装置20から起動情報21を読み出し、読み出した起動情報21に基づいて転送処理部13に対してメモリイメージのロード(補助記憶装置20から主記憶装置30への転送)を指示する処理部である。
転送処理部13は、起動制御処理部12のロード指示を受け付けると、受け付けたロード指示に基づいて、補助記憶装置20の各記憶領域(22aや22bなど)に格納されている各メモリイメージを、主記憶装置30に対して並行して転送する処理を行う処理部である。なお、この転送処理部13が行う転送処理には上記したDMAなどの手法が用いられ、複数のDMA処理を並行して動作させることになる。
補助記憶装置20は、ROMなどの不揮発性メモリで構成される記憶装置であり、起動情報21を記憶するとともに、各メモリイメージを格納するための複数の記憶領域(22aや22bなど)を含んでいる。たとえば、この補助記憶装置20にはナビゲーション装置1の製造段階で予め上記した各メモリイメージが格納されて出荷される。このようにすることで、ナビゲーション装置1の起動時にこれらのメモリイメージを用いた起動処理を行うことができるので、起動を高速化することが可能となる。
なお、この補助記憶装置20にHDD(Hard Disk Drive)を用いることとしてもよい。ここで、かかる起動情報21の例について図4を用いて説明しておく。図4は、起動情報21の一例を示す図である。
同図に示すように、起動情報21は、プログラム名などのプログラムを識別するための情報と、メモリイメージを用いた起動の詳細を示す情報とを含んだ情報である。なお、同図においては、メモリイメージを用いた起動の例として、RAM(主記憶装置)へ転送して実行することによって起動する場合と、RAMへ転送することなくROM(補助記憶装置)上で実行することによって起動する場合について示している。
たとえば、図4に示した場合であれば、OSおよびAP−AはRAMへ転送して実行することによって起動する旨が指示されており、AP−BはRAMへ転送することなくROM上で実行することによって起動する旨が指示されている。なお、メモリイメージをROM上で実行することによって起動すると、転送処理を伴わないため高速な起動が可能であるというメリットがあるものの、RAM上で実行する場合と比べて実行速度が遅いというデメリットもある。したがって、これらの起動方式のどちらを選択するかは、プログラムの性質に応じて予め決定されて指定されることになる。
図3の説明に戻り、主記憶装置30について説明する。この主記憶装置30は、RAM(Random Access Memory)などの揮発性メモリで構成される記憶装置であり、制御部10の転送処理部13によって、補助記憶装置20の各記憶領域(22aや22bなど)に予め格納されている各実行時メモリイメージが転送される。
次に、実施例1に係る起動処理の処理手順について図5を用いて説明する。図5は、実施例1に係る起動処理の処理手順を示すフローチャートである。なお、図5に示したフローチャートは、図2に示した起動シーケンス図に対応するものである。
同図に示すように、起動指示受付部11が起動指示を受け付けると(ステップS101)、この起動指示受付部11からの通知を受けた起動制御処理部12は、補助記憶装置20から起動情報21を読み出す(ステップS102)。
つづいて、起動制御処理部12は、かかる起動情報21に基づいて転送処理部13に転送指示を行い、この転送指示を受けた転送処理部13は、OSのメモリイメージを主記憶装置30に対して転送(ロード)するとともに(ステップS103)、この転送処理と並行して、APのメモリイメージを主記憶装置に対してロードする(ステップS105)。
そして、ステップS103の処理が完了したならば、各種デバイスやドライバーの初期化といったOSの初期化処理を行う(ステップS104)。その後、ステップS104およびステップS105の完了を待ち合わせ、双方の処理が完了したならばAPの初期化処理を行って(ステップS106)処理を終了する。
次に、図4に示した起動情報21の変形例について図6を用いて説明する。図6は、起動情報21の変形例を示す図である。なお、同図に示す61に対応する起動シーケンス図を図7に、62に対応する起動シーケンス図を図8に、63に対応する起動シーケンス図を図9に、それぞれ示すこととする。
図6の61では、OSおよびAP−Aについては、メモリイメージをRAM(主記憶装置30)へ転送して実行することによって起動する旨が指定されており、AP−Bについては、通常起動(メモリイメージを使用しない起動)を行う旨が指定されている。ここで、図6の61に対応する起動シーケンスについて図7を用いて説明しておく。図7は、起動情報21の変形例1に対応するシーケンス図である。
図7に示すように、コンピュータの電源ONなどの起動指示を受け付けると、CPU上では、まず、IPL(Initial Program Loader)が実行される。そして、イニシャルプログラムの指定に従って複数のDMA(Direct Memory Access)転送が並行して行われる。同図のDMA転送Aでは「AP−A」のメモリイメージをRAM(主記憶装置30)へロードし、同図のDMA転送Bでは「OS」のメモリイメージを同様にロードする。
ここで、OSのメモリイメージは、APのメモリイメージよりも小さくなるように予め分割されて補助記憶装置20に格納されている。したがって、OSに関するロードを行うDMA転送Bは、AP−Aに関するロードを行うDMA転送Aよりも早く完了する。CPUはDMA転送Bが完了すると、周辺デバイスやドライバーの初期化といったOSの初期化処理を行う。
そして、CPUはDMA転送Aが完了するとAPが使用するシステムリソースの初期化といったAP−Aの初期化処理を行い、APの実行を開始する。つづいて、CPUは「AP−B」の通常のロード処理(メモリイメージを用いない起動処理)および初期化処理を行い、AP−Bの実行を開始する。
このように、メモリイメージを用いる起動処理と、メモリイメージを用いない起動処理とを併用することによって、起動処理に用いるメモリイメージのサイズを抑制することができるので、高速な起動処理を行うことができる。
たとえば、この通常起動の対象プログラムとして、高速起動が要求されないプログラム、ネットワークなどのリソースを使用するプログラム、HDDなどのデバイスを使用するプログラム、GUI(Graphical User Interface)を使用するプログラム、音声を用いるプログラム、Java(登録商標)VM(Virtual Machine)を使用するプログラムを指定することによって、起動処理に用いるメモリイメージのサイズを効果的に抑制することができる。したがって、ナビゲーション装置1の起動を高速化することが可能となる。
図6の62では、OSのメモリイメージをROM(補助記憶装置20)上で起動し、APについては、メモリイメージをRAM(主記憶装置30)へ転送して実行することによって起動する旨が指定されている。ここで、図6の62に対応する起動シーケンスについて図8を用いて説明しておく。図8は、起動情報21の変形例2に対応するシーケンス図である。
図8に示すように、イニシャルプログラムの指定に従ってDMA転送Aが行われる。このDMA転送AではAPのメモリイメージをRAM(主記憶装置30)へロードする。一方、OSについてはROM上でメモリイメージを用いた起動が行われるので、DMA転送Aと並行して、OSのロードおよび初期化が実行される。そして、DMA転送Aが完了するとAPが使用するシステムリソースの初期化といったAPの初期化処理を行い、APの実行を開始する。
このように、メモリイメージを主記憶装置30に転送することによる起動処理と、メモリイメージを補助記憶装置20上で実行することによる起動処理とを併用することによって、主記憶装置30へ転送されるメモリイメージのサイズを抑制することができる。したがって、ナビゲーション装置1の起動時間を短縮することが可能となる。
図6の63では、OSについては、メモリイメージをRAM(主記憶装置30)へ転送して実行することによって起動する旨が指定されている。一方、APについては、メモリイメージをROM(補助記憶装置20)上で実行する旨が指定されている。この場合、APは、RAM(主記憶装置30)上では実行されないので、RAM上のメモリイメージはAPが用いるデータのみに関するメモリイメージとなる。ここで、図6の63に対応する起動シーケンスについて図9を用いて説明しておく。図9は、起動情報21の変形例3に対応するシーケンス図である。
図9に示すように、DMA転送Aでは、APのデータ領域のみに対応するメモリイメージをRAM(主記憶装置30)へロードする。また、DMA転送Bでは、OSのメモリイメージをRAM(主記憶装置30)へロードする。そして、DMA転送AおよびDMA転送Bが完了すると、OSの初期化が行われ、つづいて、APの初期化が行われてAPの実行が開始される。
このように、APなどのプログラムを補助記憶装置20上で動作させることとすれば、実行時のメモリイメージのサイズを抑制することができる。したがって、メモリイメージ転送に要する時間を短縮することによって、起動を高速化することが可能となる。
上述してきたように、本実施例1では、主記憶装置上の実行時メモリイメージを、OSや各AP、あるいはAP群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送するよう構成した。また、メモリイメージを用いた起動処理と、メモリイメージを用いない起動処理とを各プログラムに応じて選択可能とするよう構成した。さらに、メモリイメージを用いた起動処理においては、メモリイメージを主記憶装置へ転送することによる起動処理と、主記憶装置への転送を行うことなく補助記憶装置上で実行することによる起動処理とを各プログラムに応じて選択可能とするよう構成した。したがって、メモリイメージ転送に要する時間を効率的に短縮することによって、起動を高速化することができる。
実施例2では、実施例1に示した起動手法に、上記したいわゆる「レジューム機能」を付加したナビゲーション装置について説明する。なお、以下では、実施例1との差異点について主に説明することとし、共通点についての説明は省略することとする。
図10は、実施例2に係るナビゲーション装置1の構成を示すブロック図である。同図に示すように、本実施例2に係るナビゲーション装置1では、レジューム機能を実現するために、実施例1に係るナビゲーション装置1(図3参照)の制御部10に、さらに停止指示受付部14および停止制御処理部15を設け、転送処理部13が主記憶装置30から補助記憶装置20へのメモリイメージの転送をも行うよう構成している。
停止指示受付部14は、イグニッションスイッチOFFなどの停止トリガーを検知して、停止制御処理部15に対してプログラムの停止に伴うレジューム処理を開始するよう指示する処理部である。
転送処理部13は、補助記憶装置20から主記憶装置30へのメモリイメージ転送処理(ロード処理)を行うとともに、主記憶装置30から補助記憶装置20へのメモリイメージ転送処理(退避処理)を行う処理部である。また、かかる退避処理を行う際に、メモリイメージを圧縮して補助記憶装置20に格納し、ロード処理を行う際に、圧縮されたメモリイメージを復元して主記憶装置30に格納することとしてもよい。
この場合、プログラムごとに圧縮処理を行うか否かの指定を行うことにより、圧縮効率の高いメモリイメージを有するプログラムのみを圧縮処理の対象とすることで、退避処理およびロード処理の対象となるメモリイメージのサイズを効果的に抑制することが可能となる。
停止制御処理部15は、かかる停止指示受付部11からの停止指示を受け付けると、主記憶装置30から補助記憶装置20の各記憶領域(22aや22bなど)へのメモリイメージの退避を、転送処理部13に対して指示する処理部である。また、この停止制御処理部15は、かかる退避処理を行った後に、主記憶装置30への電力供給を停止する制御を行う処理部でもある。
従来のナビゲーション装置では、イグニッションスイッチOFF後であっても主記憶装置30に対する電力供給を継続し、主記憶装置30上のメモリイメージを保持することによって、あたかも実行途中のアプリケーションが継続動作しているようにみせるものがあった。しかし、このような手法をとるとバッテリーの電力を消費しつづけることとなってしまい、バッテリーの消耗を招くという問題があった。
そこで、本実施例2に係るナビゲーション装置1では、実施例1に示した起動手法と、いわゆるレジューム機能とを併用することによって、かかる問題点を解決することとしている。すなわち、高速起動を行うことができる実施例1の起動手法を用いつつ、さらに、プログラムの最新のメモリイメージを退避して次回の起動に用いることによって、主記憶装置30への電力供給を停止することができるとともに、利用者の利便性を向上させることが可能となる。
なお、本実施例2におけるメモリイメージの退避処理の対象となるプログラムは、任意に選択することが可能である。たとえば、ルートナビゲーションを行うプログラムをかかる退避処理の対象とすることによって、ルート案内中に車両のイグニッションスイッチをOFFにした場合であっても、次回、イグニッションスイッチをONにした際に、スイッチOFF以前に行っていたルート案内を継続することが可能となる。
次に、実施例2に係る退避処理の処理手順について図11を用いて説明する。図11は、実施例2に係る退避処理の処理手順を示すフローチャートである。同図に示すように、停止指示受付部14が停止指示を受け付けると(ステップS201)、この停止指示受付部14からの通知を受けた停止制御処理部15は、メモリイメージの退避対象プログラムであるか否かを判定する(ステップS202)。
そして、メモリイメージの退避対象プログラムである場合には(ステップS202,Yes)、RAM(主記憶装置30)からROM(補助記憶装置20)へメモリイメージの転送を行う(ステップS203)。一方、メモリイメージの退避対象プログラムではない場合には(ステップS202,No)、ステップS203の処理を行うことなくステップS204の処理を行うことになる。
つづいて、メモリイメージの退避対象プログラムが他にあるか否かを判定し(ステップS204)、他の退避対象プログラムがある場合には(ステップS204,Yes)、ステップS202以降の処理を繰り返す。一方、他の退避対象プログラムがない場合には(ステップS204,No)、主記憶装置30に電力を供給する電源をOFFにして(ステップS205)処理を終了する。
このように、本実施例2では、制御部に停止指示受付部と、停止制御処理部とをさらに設け、転送処理部が補助記憶装置から主記憶装置への転送処理のみならず、主記憶装置から補助記憶装置への転送処理をも行うよう構成したので、主記憶装置への電力供給を停止することによってバッテリーの消耗を抑制することができるとともに、実行途中のプログラムの退避および復元を行うことによって、利用者の利便性を向上させることができる。
以上のように、本発明にかかる起動方法およびナビゲーション装置は、コンピュータ上で動作するプログラムの起動を高速化したい場合に適している。
本発明に係る起動手法の概要を示す図である。 本発明に係る起動手法を適用したコンピュータの起動シーケンスを示す図である。 本発明に係る起動手法を適用したナビゲーション装置の構成を示すブロック図である。 起動情報の一例を示す図である。 実施例1に係る起動処理の処理手順を示すフローチャートである。 起動情報の変形例を示す図である。 変形例1に対応する起動シーケンス図である。 変形例2に対応する起動シーケンス図である。 変形例3に対応する起動シーケンス図である。 実施例2に係るナビゲーション装置の構成を示すブロック図である。 実施例2に係る退避処理の処理手順を示すフローチャートである。
1 ナビゲーション装置
10 制御部
11 起動指示受付部
12 起動制御処理部
13 転送処理部
14 停止指示受付部
15 停止制御処理部
20 補助記憶装置
21 起動情報
22a、22b 記憶領域
30 主記憶装置

Claims (9)

  1. 第1のプログラムに関するメモリイメージである第1のメモリイメージと、前記第1のプログラムが起動している場合に起動可能な第2のプログラムに関するメモリイメージである第2のメモリイメージとのそれぞれが分割された分割データ群であって、
    前記第のメモリイメージの分割データよりも前記第のメモリイメージの分割データの方が小さいサイズである分割データ群を記憶する補助記憶装置と、
    前記補助記憶装置から並列に読み出された前記分割データ群のそれぞれを記憶する主記憶装置と、
    を含むことを特徴とする情報処理装置。
  2. 前記第1のプログラムは、前記情報処理装置で動作するオペレーティングシステムである、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2のプログラムは、前記オペレーティングシステム上で動作するアプリケーションプログラムである、
    ことを特徴とする請求項2に記載の情報処理装置。
  4. コンピュータに、
    第1のプログラムに関するメモリイメージである第1のメモリイメージと、前記第1のプログラムが起動している場合に起動可能な第2のプログラムに関するメモリイメージである第2のメモリイメージとのそれぞれが分割された分割データ群であって、
    前記第のメモリイメージの分割データよりも前記第のメモリイメージの分割データの方が小さいサイズである分割データ群を記憶した補助記憶装置から、前記分割データ群のそれぞれを並列で読み出して主記憶装置に記憶させる、
    ことを実行させることを特徴とする起動方法。
  5. 前記第1のプログラムは、前記コンピュータで動作するオペレーティングシステムである、
    ことを特徴とする請求項4に記載の起動方法。
  6. 前記第2のプログラムは、前記オペレーティングシステム上で動作するアプリケーションプログラムである、
    ことを特徴とする請求項5に記載の起動方法。
  7. コンピュータに、
    第1のプログラムに関するメモリイメージである第1のメモリイメージと、前記第1のプログラムが起動している場合に起動可能な第2のプログラムに関するメモリイメージである第2のメモリイメージとのそれぞれが分割された分割データ群であって、
    前記第のメモリイメージの分割データよりも前記第のメモリイメージの分割データの方が小さいサイズである分割データ群を記憶した補助記憶装置から、前記分割データ群のそれぞれを並列で読み出して主記憶装置に記憶させる、
    ことを実行させることを特徴とする起動プログラム。
  8. 前記第1のプログラムは、前記コンピュータで動作するオペレーティングシステムである、
    ことを特徴とする請求項7に記載の起動プログラム。
  9. 前記第2のプログラムは、前記オペレーティングシステム上で動作するアプリケーションプログラムである、
    ことを特徴とする請求項8に記載の起動プログラム。
JP2005247756A 2005-08-29 2005-08-29 情報処理装置、起動方法及び起動プログラム Expired - Fee Related JP5061438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005247756A JP5061438B2 (ja) 2005-08-29 2005-08-29 情報処理装置、起動方法及び起動プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005247756A JP5061438B2 (ja) 2005-08-29 2005-08-29 情報処理装置、起動方法及び起動プログラム

Publications (2)

Publication Number Publication Date
JP2007065753A JP2007065753A (ja) 2007-03-15
JP5061438B2 true JP5061438B2 (ja) 2012-10-31

Family

ID=37927933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005247756A Expired - Fee Related JP5061438B2 (ja) 2005-08-29 2005-08-29 情報処理装置、起動方法及び起動プログラム

Country Status (1)

Country Link
JP (1) JP5061438B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4840605B2 (ja) * 2007-10-24 2011-12-21 日本電気株式会社 Osの起動方法
JP2015211256A (ja) * 2014-04-24 2015-11-24 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
WO2016098147A1 (ja) * 2014-12-19 2016-06-23 三菱電機株式会社 情報処理装置および起動制御方法
JP6424797B2 (ja) 2015-11-02 2018-11-21 株式会社デンソー 車載装置
CN115480835A (zh) 2021-05-31 2022-12-16 合肥杰发科技有限公司 程序启动方法和设备、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6379120A (ja) * 1986-09-22 1988-04-09 Nec Corp クイツク・スタ−ト・アツプ方式
JPH02129724A (ja) * 1988-11-10 1990-05-17 Mitsubishi Electric Corp プログラム実行方式
JPH04216159A (ja) * 1990-12-17 1992-08-06 Hitachi Ltd 計算機の高速立ち上げ方式および計算機システム
JP2507964B2 (ja) * 1993-06-04 1996-06-19 日本電気株式会社 プログラム転送方式
JP3586943B2 (ja) * 1995-10-20 2004-11-10 富士通株式会社 プログラムロード装置と方法
JPH09160839A (ja) * 1995-12-14 1997-06-20 Hitachi Ltd 半導体記憶装置
JPH1021082A (ja) * 1996-07-01 1998-01-23 Kokusai Electric Co Ltd プログラム実行方法
JPH10111806A (ja) * 1996-10-04 1998-04-28 Nec Corp プログラム起動方式
JP3916806B2 (ja) * 1999-07-26 2007-05-23 富士通株式会社 リモートローディング実行方法、リモートローディング実行システム、情報処理装置、管理装置及びコンピュータ読み取り可能な記録媒体
JP3702233B2 (ja) * 2002-02-21 2005-10-05 株式会社東芝 情報処理システムおよびプログラム実行モード制御方法
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置
JP4122998B2 (ja) * 2003-02-17 2008-07-23 セイコーエプソン株式会社 情報処理装置およびプログラム制御方法
JP2004295874A (ja) * 2003-03-07 2004-10-21 Matsushita Electric Ind Co Ltd マイコン応用システムおよびマイコン、並びに、信号処理システムおよび信号処理lsi

Also Published As

Publication number Publication date
JP2007065753A (ja) 2007-03-15

Similar Documents

Publication Publication Date Title
JP5307706B2 (ja) オペレーティングシステムの段階的ブート処理
JP4740238B2 (ja) アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
JP6399916B2 (ja) 情報処理装置およびその制御方法
JP5061438B2 (ja) 情報処理装置、起動方法及び起動プログラム
JP2005010942A (ja) ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
JP2010272076A (ja) マルチプロセッサシステム
TWI412999B (zh) 平行化快速啟動方法及具有多處理單元之電子裝置
US20140115308A1 (en) Control method, control device and computer system
JP4846553B2 (ja) レジューム方法、プログラムおよび情報処理装置
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
US20120311312A1 (en) Fast Boot Via State Recreation
KR101863250B1 (ko) 프로그램 실행 방법 및 장치와 이를 위한 기록매체
US20110185142A1 (en) Information processing apparatus and data saving acceleration method of the information processing apparatus
KR20100041518A (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
GB2452735A (en) Loading and executing programs in parallel during boot loading
JP2003044284A (ja) コンピュータ装置の起動方法および起動用プログラム
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
JP5039221B2 (ja) 情報処理装置および情報処理装置におけるデータ退避高速化方法
JP2008015725A (ja) 情報処理装置およびプログラム起動方法
CN116028129B (zh) 一种基于飞腾平台的uefi快速启动方法及飞腾平台
JP2007265230A (ja) 情報処理装置及びそのファイル読み込み方法
JPH08263219A (ja) 記録再生装置の立ち上げ方法
JP2005258967A (ja) データ処理装置
KR20060133408A (ko) 부팅 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110627

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees