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