(57)【特許請求の範囲】
【請求項１】
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較し、当該比較結果に応じて、前記第２の記憶手段に記憶される前記伸長されたプログラム及び関連データを利用して前記コンピュータを起動させるか否かを制御することを特徴とする起動装置。
【請求項２】
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較した結果、これらが一致する場合、前記第２の記憶手段に記憶される前記伸長されているプログラム及び関連データを利用して前記コンピュータを起動させることを特徴とする起動装置。
【請求項３】
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
前記比較手段による比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記第１の記憶手段から読み出して新たに伸長するよう前記伸長手段を制御する伸長制御手段と、
前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データの第３の各チェックサムを新たに算出する第２の算出手段と、
前記第２の記憶手段に記憶されているプログラム及び／又は関連データを前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第１の各チェックサムを前記第３の各チェックサムに更新する更新手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較した結果、対応するチェックサムの少なくとも一方が相違する場合に、前記更新手段により前記第２の記憶手段に記憶されているプログラム及び／又は関連データを前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第１の各チェックサムを前記第３の各チェックサムに更新することを特徴とする起動装置。
【請求項４】
コンピュータを、
第１の不揮発メモリに記憶されているプログラム及び関連データのチェックサムを各々算出する手段、
前記第１の不揮発メモリとは物理的に異なる第２の不揮発メモリに記憶されている、プログラム及び関連データから各々算出されたチェックサムと、前記第１の不揮発メモリに記憶されているプログラム及び関連データから各々算出されたチェックサムとが一致するか否かを比較する手段、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを、当該プログラム及び／又は関連データが各々圧縮されて記憶されている第３の不揮発メモリから読み出してそれぞれ伸長する手段、
前記新たに伸長されたプログラム及び／又は関連データの各チェックサムを算出する手段、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、前記第１の不揮発メモリに記憶された、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第２の不揮発メモリに記憶されているチェックサムを、前記新たに伸長されたプログラム及び／又は関連データから算出されたチェックサムに更新する手段、
として機能させることを特徴とするコンピュータ起動プログラム。
【請求項５】
請求項４に記載のコンピュータ起動プログラムを格納することを特徴とする記録媒体。
【請求項６】
第１の不揮発メモリに記憶されているプログラム及び関連データのチェックサムを各々算出するステップ、
前記第１の不揮発メモリとは物理的に異なる第２の不揮発メモリに記憶されている、プログラム及び関連データから各々算出されたチェックサムと、前記第１の不揮発メモリに記憶されているプログラム及び関連データから各々算出されたチェックサムとが一致するか否かを比較するステップ、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを、当該プログラム及び／又は関連データが各々圧縮されて記憶されている第３の不揮発メモリから読み出してそれぞれ伸長するステップ、
前記新たに伸長されたプログラム及び／又は関連データの各チェックサムを算出するステップ、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、前記第１の不揮発メモリに記憶された、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第２の不揮発メモリに記憶されているチェックサムを、前記新たに伸長されたプログラム及び／又は関連データから算出されたチェックサムに更新するステップ、
を含むことを特徴とするコンピュータ起動方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを起動する為の起動装置、当該コンピュータを起動させる為のコンピュータ起動プログラム、当該コンピュータ起動プログラムを格納する記録媒体及び当該コンピュータのコンピュータ起動方法に関する。
【０００２】
【従来の技術】
従来のコンピュータでは、起動プログラム等のプログラムが肥大化する一方で、これらプログラムを格納するＲＯＭ容量の増加が追いつかないでいる。この為、一部のプログラムは圧縮されてＲＯＭに格納される等の対処が行われている。
この場合、当該ＲＯＭ内に圧縮されて格納されたプログラムは、当該コンピュータの起動時に内蔵メモリに読み出された後、上記起動プログラムが実行されることにより伸長されたり、或いはプログラム伸長用の専用ハードウェアにより伸長される。このように伸長されたプログラムは上記内蔵メモリに展開される。
【０００３】
【発明が解決しようとする課題】
しかし、上記従来技術については、以下の問題点がある。
上記従来のコンピュータでは、起動する度に、上記ＲＯＭ内に圧縮されて格納されたプログラムをその都度伸長しなければならず、起動完了までに要する時間が長くなる。特にプログラムが長ければ長いほど、起動完了までに要する時間が更に長くなる。また、上記専用ハードウェアを用いる場合、装置構成が複雑になると共に、製造に要するコストが高くなる。
【０００４】
本発明の課題は、コンピュータを起動する為の起動装置、当該コンピュータを起動させる為のプログラム、当該プログラムを格納する記録媒体及び当該コンピュータの起動方法において、装置やシステム等の構成を複雑にすることなく、低コストで起動完了までに要する時間の短縮化を図ることである。
【０００５】
【課題を解決するための手段】
上記課題を解決するための、請求項１記載の発明は、
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較し、当該比較結果に応じて、前記第２の記憶手段に記憶される前記伸長されたプログラム及び関連データを利用して前記コンピュータを起動させるか否かを制御することを特徴とする。
また、請求項２記載の発明は、
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較した結果、これらが一致する場合、前記第２の記憶手段に記憶される前記伸長されているプログラム及び関連データを利用して前記コンピュータを起動させることを特徴とする。
また、請求項３記載の発明は、
コンピュータを起動させる起動装置において、
起動プログラムと、前記コンピュータが実行可能なプログラム及び当該プログラムの実行時に必要な関連データとを各々圧縮して記憶する第１の記憶手段と、
前記第１の記憶手段に記憶された前記圧縮されたプログラム及び圧縮された関連データを該第１の記憶手段から読み出して伸長する伸長手段と、
前記伸長手段により各々伸長されたプログラム及び関連データを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたプログラム及び関連データの第１のチェックサムを各々記憶する、前記第２の記憶手段とは物理的に異なる第３の記憶手段と、
前記第２の記憶手段に記憶されているプログラム及び関連データの第２のチェックサムを各々算出する第１の算出手段と、
前記第２の各チェックサムと、前記第１の各チェックサムとを比較する比較手段と、
前記比較手段による比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記第１の記憶手段から読み出して新たに伸長するよう前記伸長手段を制御する伸長制御手段と、
前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データの第３の各チェックサムを新たに算出する第２の算出手段と、
前記第２の記憶手段に記憶されているプログラム及び／又は関連データを前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第１の各チェックサムを前記第３の各チェックサムに更新する更新手段と、
制御手段と、を備え、
該制御手段は、前記コンピュータを起動させる起動指示で前記起動プログラムを実行することにより、
前記第１の算出手段により第２のチェックサムを算出し、前記第３の記憶手段に記憶されている第１の各チェックサムが前記算出された第２の各チェックサムと一致するか否かを前記比較手段により比較した結果、対応するチェックサムの少なくとも一方が相違する場合に、前記更新手段により前記第２の記憶手段に記憶されているプログラム及び／又は関連データを前記伸長制御手段により新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第１の各チェックサムを前記第３の各チェックサムに更新することを特徴とする。
【０００６】
更に、請求項４記載のコンピュータ起動プログラムは、
コンピュータを、
第１の不揮発メモリに記憶されているプログラム及び関連データのチェックサムを各々算出する手段、
前記第１の不揮発メモリとは物理的に異なる第２の不揮発メモリに記憶されている、プログラム及び関連データから各々算出されたチェックサムと、前記第１の不揮発メモリに記憶されているプログラム及び関連データから各々算出されたチェックサムとが一致するか否かを比較する手段、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを、当該プログラム及び／又は関連データが各々圧縮されて記憶されている第３の不揮発メモリから読み出してそれぞれ伸長する手段、
前記新たに伸長されたプログラム及び／又は関連データの各チェックサムを算出する手段、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、前記第１の不揮発メモリに記憶された、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第２の不揮発メモリに記憶されているチェックサムを、前記新たに伸長されたプログラム及び／又は関連データから算出されたチェックサムに更新する手段、
として機能させることを特徴とする。
【０００７】
更に、請求項５記載の記録媒体は、
請求項４に記載のコンピュータ起動プログラムを格納することを特徴とする。
【０００８】
更に、請求項６記載のコンピュータ起動方法は、
第１の不揮発メモリに記憶されているプログラム及び関連データのチェックサムを各々算出するステップ、
前記第１の不揮発メモリとは物理的に異なる第２の不揮発メモリに記憶されている、プログラム及び関連データから各々算出されたチェックサムと、前記第１の不揮発メモリに記憶されているプログラム及び関連データから各々算出されたチェックサムとが一致するか否かを比較するステップ、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、当該相違するチェックサムに対応するプログラム及び／又は関連データを、当該プログラム及び／又は関連データが各々圧縮されて記憶されている第３の不揮発メモリから読み出してそれぞれ伸長するステップ、
前記新たに伸長されたプログラム及び／又は関連データの各チェックサムを算出するステップ、
前記比較の結果、対応するチェックサムの少なくとも一方が相違する場合に、前記第１の不揮発メモリに記憶された、当該相違するチェックサムに対応するプログラム及び／又は関連データを前記新たに伸長されたプログラム及び／又は関連データに更新すると共に、前記第２の不揮発メモリに記憶されているチェックサムを、前記新たに伸長されたプログラム及び／又は関連データから算出されたチェックサムに更新するステップ、を含むことを特徴とする。
【０００９】
従って、コンピュータを起動する度に、圧縮されて格納したプログラム及び関連データをその都度伸張する必要がなく、起動完了までに要する時間を短縮できる。また、当該プログラム及び関連データの伸張はソフトウェア処理によって行う為、専用ハードウェアを用いる必要がなく、装置構成の複雑化が避けられ、製造に要するコストを低減化できる。
【００１０】
【発明の実施の形態】
以下、本発明を適用した好ましい実施例を、図１〜図３を参照して詳細に説明する。
ここで、以下に説明するＣＰＵ１０１は、本発明の請求項に記載されたプログラム及び関連データを伸長する伸長手段と、チェックサムを算出する第１、第２の算出手段と、チェックサムを比較する比較手段と、伸長手段を制御する伸長制御手段と、プログラム等を更新する更新手段とが有する機能を実現し、不揮発メモリ１０３ａは、伸長されたプログラム及び関連データを記憶する第２の記憶手段が有する機能を実現し、不揮発メモリ１０３ｂは、チェックサムを記憶する第３の記憶手段が有する機能を実現する。
【００１１】
まず、コンピュータ１００の構成を説明する。図１は、コンピュータ１００の内部構成を示すブロック図である。
図１に示すようにコンピュータ１００は、ＣＰＵ１０１、入力部１０２、不揮発メモリ１０３ａ、１０３ｂ、伝送装置１０４、表示部１０５及びフラッシュメモリ１０６等を備えて構成される。
【００１２】
ＣＰＵ（Central Processing Unit）１０１は、電源投入或いはリセットによる起動指示が入力された際、後述するフラッシュメモリ１０６のメモリエリアＡ１内に格納された起動プログラムをフェッチして当該起動プログラムの実行を開始する（図２参照）。
ＣＰＵ１０１は、上記起動プログラムに従って、図３のフローチャートに示す起動処理を行う。この起動処理については、後述する動作の説明において詳しくに説明する（図３参照）。
【００１３】
ＣＰＵ１０１は、後述する不揮発メモリ１０３ａに展開した各種プログラムに従って各種処理を実行し、その処理結果を当不揮発メモリ１０３ａに一時格納すると共に、必要に応じて表示部１０５に表示する。
【００１４】
入力部１０２は、数字・アルファベット入力キー等を備えたキーボードと、各種指示を入力するファンクションキーと、表示部１０５の表示画面に貼付けられたタッチパネル等のポインティングデバイスとを具備している（何れも図示略）。入力部１０２は、当該キーボード或いは当該ファンクションキーからの押下信号をＣＰＵ１０１に入力すると共に、当該タッチパネル等のポインティングデバイスによる操作信号をＣＰＵ１０１に入力する。
【００１５】
不揮発メモリ１０３ａは、フラッシュメモリ１０６に格納された各種プログラムが伸張されて展開される。図２（ｂ）に、不揮発メモリ１０３ａのメモリマップの一例を示す。図２（ｂ）に示すように、不揮発メモリ１０３ａは、伸張されたプログラムＰをメモリエリアＢ１に格納し、伸張されたプログラム関連データＤをメモリエリアＢ２に格納する。これらメモリエリアＢ１、Ｂ２のメモリ領域は固定されているものとする。
ここで、プログラムＰには、起動プログラムの一部、オペレーションシステムプログラム或いはアプリケーションプログラムのプログラムが含まれている。また、プログラム関連データＤには、上記各プログラムの実行時に必要となる初期データが含まれている。
【００１６】
不揮発メモリ１０３ｂは、不揮発メモリ１０３ａに展開された各種プログラム（例えば、プログラムＰ）のチェックサムを格納する。図２（ｃ）に、不揮発メモリ１０３ｂのメモリマップの一例を示す。図２（ｃ）に示すように、不揮発メモリ１０３ｂは、不揮発メモリ１０３ａに格納された伸張されたプログラムＰのチェックサムをメモリエリアＣ１に格納し、伸張されたプログラム関連データＤのチェックサムをメモリエリアＣ２に格納する。
【００１７】
伝送装置１０４は、インターネット等の専用通信回線や、電話回線、ＩＳＤＮ回線等の公衆通信回線を介して外部機器と通信する為の通信制御を行う。また、伝送装置１０４は、アンテナ、変調／復調回路、符号化／復号化回路等（いずれも図示略）を備えても良く、この場合、外部機器との間で無線通信を介しデータの送受信が行える。
【００１８】
表示部１０５は、液晶表示画面（ＬＣＤ：Liquid Crystal Display）等の表示画面を有し、入力装置１０２が有する上記タッチパネルに連動した操作画面等を上記表示画面に表示する。
【００１９】
フラッシュメモリ１０６は、起動プログラムをメモリエリアＡ１に格納し、起動プログラム以外の他の圧縮されたプログラムＰをメモリエリアＡ２に格納し、圧縮されたプログラム関連データＤをメモリエリアＡ３に格納する。
【００２０】
またフラッシュメモリ１０６は、上記起動プログラム、プログラムＰ及びプログラム関連データＤ等が予め記録された記録媒体１０６ａを備える。記録媒体１０６ａは、磁気的記録媒体、光学的記録媒体又は半導体メモリ等によって構成され、フラッシュメモリ１０６に固定的に設けられたもの、或いはフラッシュメモリ１０６に対し着脱自在に装着可能なものである。
【００２１】
次に動作を説明する。
図３は、コンピュータ１００によって行われる起動処理を説明するフローチャートである。
【００２２】
まず、電源投入或いはリセットによる起動指示が入力されると（ステップＳ１）、ＣＰＵ１０１は、フラッシュメモリ１０６のメモリエリアＡ１から起動プログラムをフェッチして（ステップＳ２）、当該起動プログラムの実行を開始する（ステップＳ３）。
【００２３】
ステップＳ３の後、ＣＰＵ１０１は、自身の各種レジスタ等を初期化する共に（ステップＳ４）、不揮発メモリ１０３ａのメモリエリアＢ１及びＢ２や、不揮発メモリ１０３ｂのメモリエリアＣ１及びＣ２等のメモリエリアを確保する。
【００２４】
ステップＳ４の後、ＣＰＵ１０１は、不揮発メモリ１０３ａのメモリエリアＢ１に格納されている伸張されたプログラムＰのチェックサムを算出する（ステップＳ５）。ＣＰＵ１０１は、当該算出したプログラムＰのチェックサムと、不揮発メモリ１０３ｂのメモリエリアＣ１に格納されているチェックサムとを比較して両者が一致するか否かを判定する（ステップＳ６）。
【００２５】
ステップＳ６の段階で、両チェックサムが一致する場合（ステップＳ６；Ｙｅｓ）、ＣＰＵ１０１は、不揮発メモリ１０３ａのメモリエリアＢ２に格納されている伸張されたプログラム関連データＤのチェックサムを算出する（ステップＳ７）。ＣＰＵ１０１は、当該算出したプログラム関連データＤのチェックサムと、不揮発メモリ１０３ｂのメモリエリアＣ２に格納されているチェックサムとを比較して両者が一致するか否かを判定する（ステップＳ８）。
【００２６】
ステップＳ８の段階で、両チェックサムが一致する場合（ステップＳ８；Ｙｅｓ）、ＣＰＵ１０１は、不揮発メモリ１０３ａのメモリエリアＢ１に格納されたプログラムＰを実行してコンピュータ１００全体を起動する（ステップＳ９）。
【００２７】
ステップＳ６の段階で、両チェックサムが一致しない場合（ステップＳ６；Ｎｏ）、ＣＰＵ１０１は、フラッシュメモリ１０６のメモリエリアＡ２に格納されたプログラムＰを不揮発メモリ１０３ａのメモリエリアＢ１にコピーする（ステップＳ１０）。その後ＣＰＵ１０１は、当該コピーしたプログラムＰをソフトウェア処理によって新たに伸張し（ステップＳ１１）、不揮発メモリ１０３ａのメモリエリアＢ１に格納されたプログラムＰを当該新たに伸長されたプログラムＰに更新する。
【００２８】
次いでＣＰＵ１０１は、ステップＳ１１の段階で伸張されたプログラムＰのチェックサムを算出し（ステップＳ１２）、不揮発メモリ１０３ｂのメモリエリアＣ１に格納されたチェックサムを当該算出したチェックサムに更新する。
【００２９】
ステップＳ１２の後、ＣＰＵ１０１は、フラッシュメモリ１０６のメモリエリアＡ３に格納されたプログラム関連データＤを不揮発メモリ１０３ａのメモリエリアＢ２にコピーする（ステップＳ１３）。その後ＣＰＵ１０１は、当該コピーしたプログラム関連データＤをソフトウェア処理によって新たに伸張し（ステップＳ１４）、不揮発メモリ１０３ａのメモリエリアＢ２に格納されたプログラム関連データＤを当該新たに伸長されたプログラム関連データＤに更新する。
【００３０】
ＣＰＵ１０１は、ステップＳ１４の段階で伸張されたプログラム関連データＤのチェックサムを算出し（ステップ卯Ｓ１５）、不揮発メモリ１０３ｂのメモリエリアＣ２に格納されたチェックサムを当該算出したチェックサムに更新して（ステップＳ１６）ステップＳ９に移行する。
【００３１】
またステップＳ８の段階で、両チェックサムが一致しない場合（ステップＳ８；Ｎｏ）、ＣＰＵ１０１は、ステップＳ１３に移行し、上記ステップＳ１３〜ステップＳ１６及びステップＳ９の各処理を行う。
【００３２】
以上説明したように、本実施の形態のコンピュータ１００は、電源投入或いはリセットによる起動指示が入力された際、不揮発メモリ１０３ａに格納された前回の伸張済みプログラムＰ或いはプログラム関連データＤが今回起動後も利用可能か否かをチェックサムを用いて判定する。利用可能の場合、コンピュータ１００は、当該前回の伸張済みプログラムＰ或いはプログラム関連データＤを利用し、利用不可能の場合（例えば、今回起動までにデータが破損する等した場合）、フラッシュメモリ１０６からプログラムＰ或いはプログラム関連データＤを新たに伸張し（すなわち、プログラムＰが利用不可能ならプログラムＰを伸張し、プログラム関連データＤが利用不可能ならプログラム関連データＤを伸張し）、当該新たに伸長されたプログラムＰ或いはプログラム関連データＤを不揮発メモリ１０３ａに格納する。
またコンピュータ１００は、不揮発メモリ１０３ａに格納された前回の伸張済みプログラムＰ或いはプログラム関連データＤが今回起動時も利用可能か否かの判定を次のようにして行う。すなわち、コンピュータ１００は、前回の伸張済みプログラムＰ或いはプログラム関連データＤのチェックサムを今回起動後にそれぞれ改めて算出し、当該算出した今回のチェックサムと不揮発メモリ１０３ｂに格納された前回のチェックサムとを比較し、両チェックサムが一致していれば前回の伸張済みプログラムＰ或いはプログラム関連データＤは今回起動後も利用可能であり、一致していなければ、前回の伸張済みのプログラムＰ或いはプログラム関連データＤは利用不可能であると判定する。
【００３３】
従って、起動する度に、圧縮されて格納したプログラムＰ及びプログラム関連データＤをその都度伸張する必要がなく、起動完了までに要する時間を短縮できる。また、プログラムＰ及びプログラム関連データＤの伸張は、起動プログラムによるソフトウェア処理によって行う為、専用ハードウェアを用いる必要がなく、装置構成の複雑化が避けられ、製造に要するコストを低減化できる。
すなわち、本発明を適用したコンピュータ１００によれば、装置構成を複雑にすることなく、低コストで起動完了までに要する時間の短縮化が図られる。
【００３４】
なお、本実施の形態における記述は、本発明に係る起動装置、プログラム、記録媒体及び起動方法の一例を示すものであり、これに限定されるものではない。
本実施の形態におけるコンピュータ１００の細部構成、及び詳細動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００３５】
例えば、本実施の形態でコンピュータについて説明したが、これに限らず、コピー機能或いはファクシミリ機能等を有する画像形成装置等に対しても本発明の適用が可能である。
【００３６】
【発明の効果】
本発明によれば、コンピュータを起動する度に、圧縮されて格納したプログラム及び関連データをその都度伸張する必要がなく、起動完了までに要する時間を短縮できる。また、当該プログラム及び関連データの伸張はソフトウェア処理によって行う為、専用ハードウェアを用いる必要がなく、装置構成の複雑化が避けられ、製造に要するコストを低減化できる。
【図面の簡単な説明】
【図１】本発明を適用したコンピュータ１００の内部構成を示すブロック図である。
【図２】（ａ）は、図１に示すフラッシュメモリ１０６のメモリマップの一例を示す図であり、（ｂ）は、図１に示す不揮発メモリ１０３ａのメモリマップの一例を示す図であり、（ｃ）は、図１に示す不揮発メモリ１０３ｂのメモリマップを示す図である。
【図３】本発明を適用したコンピュータ１００によって行われる起動処理を説明するフローチャートである。
【符号の説明】
１００  コンピュータ
１０１  ＣＰＵ
１０２  入力部
１０３ａ、１０３ｂ  不揮発メモリ
１０４  伝送装置
１０５  表示部
１０６  フラッシュメモリ
１０６ａ  記録媒体
Ａ１〜Ａ３  メモリエリア
Ｂ１、Ｂ２  メモリエリア
Ｃ１〜Ｃ２  メモリエリア
【図１】
0004561028.tif 000002
【図２】
0004561028.tif 000003
【図３】
0004561028.tif 000004