(57)【要約】【課題】主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くする。【解決手段】１回目の起動処理において、ＣＰＵ５１は、ＲＯＭ５５から読み出した複数の圧縮プログラムを順次展開してＭＲＡＭ５６およびＤＲＡＭ５７に記憶させる。各圧縮プログラムを展開して得られる展開済データには、それぞれ優先度が設定されており、ＤＲＡＭ５７に記憶される展開済データの優先度がＭＲＡＭ５６に記憶される展開済データの優先度よりも高い場合には、起動処理が完了した後に実行される終了処理において、ＭＲＡＭ５６に記憶される優先度の低い展開済データを削除するとともに、ＤＲＡＭ５７に記憶される優先度の高いデータをＭＲＡＭ５６に記憶させた後に、ＭＲＡＭ５６およびＤＲＡＭ５７に対する給電を停止する。【選択図】図２
2014182666.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに優先度が設定された、プログラムを含む複数のデータを転送する転送手段と、
読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、
前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、
前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段と
を含む情報処理装置。
【請求項２】
前記転送手段は、前記主記憶手段への給電を開始することに伴って行われる起動処理において、当該起動処理に必要となる順番にて複数の前記データを転送し、
前記主記憶手段は、前記転送手段から転送されてくる複数の前記データを、転送順に前記不揮発性メモリに記憶し、当該不揮発性メモリに記憶できなくなった後は、転送順に前記揮発性メモリに記憶することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記不揮発性メモリには、当該不揮発性メモリに記憶される１または複数の前記データを管理するための管理情報を記憶する管理情報記憶領域が設けられ、
前記転送手段は、前記管理情報に基づき、前記不揮発性メモリに既に記憶されているデータについては転送を行わないことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記管理情報記憶領域には、前記管理情報として前記再構築の予約がさらに記憶され、
前記再構築手段は、前記停止前処理において前記管理情報を参照し、前記予約がなされていた場合に前記再構築を行うことを特徴とする請求項１乃至３のいずれか１項記載の情報処理装置。
【請求項５】
前記実行手段による前記プログラムの実行に伴って発生する情報を記憶するプログラム情報領域を、前記揮発性メモリまたは前記不揮発性メモリに確保する確保手段をさらに含み、
前記確保手段は、前記不揮発性メモリの空き容量が前記プログラム情報領域に必要な容量を超える場合に、当該プログラム情報領域を当該不揮発性メモリに確保し、当該不揮発性メモリの空き容量が当該プログラム情報領域に必要な容量以下となる場合に、当該プログラム情報領域を前記揮発性メモリに確保することを特徴とする請求項１乃至４のいずれか１項記載の情報処理装置。
【請求項６】
前記不揮発性メモリの記憶容量が、前記揮発性メモリの記憶容量よりも少ないことを特徴とする請求項１乃至５のいずれか１項記載の情報処理装置。
【請求項７】
前記主記憶手段において、前記不揮発性メモリがＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであり、前記揮発性メモリがＤＲＡＭであることを特徴とする請求項１乃至６のいずれか１項記載の情報処理装置。
【請求項８】
記録材に画像を形成する画像形成部と、
前記画像形成部の動作を制御する制御部とを備え、
前記制御部は、
それぞれに優先度が設定された、前記画像形成部を動作させるためのプログラムを含む複数のデータを転送する転送手段と、
読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、
前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、
前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段と
を含む画像形成装置。
【請求項９】
コンピュータに、
それぞれに優先度が設定された、プログラムを含む複数のデータを転送する機能と、
読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し且つ転送されてくる複数の前記データを記憶する主記憶手段に記憶された複数の当該データを読み出して実行する機能と、
前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させる機能と
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置およびプログラムに関する。
【背景技術】
【０００２】
公報記載の従来技術として、複数の機能をそれぞれに対応するプログラムによって実現する機器において、優先的に機能を実現するためのプログラムを高速なフラッシュメモリに格納するとともに、残りのプログラムをハードディスクに格納しておき、機器の起動後にまず動作が高速なフラッシュメモリから優先機能に相当するプログラムをロードして利用可能とし、引き続き残りの機能に相当するプログラムを順次ハードディスクからロードして利用可能とすることが記載されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２８７３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、それぞれに優先度が設定された、プログラムを含む複数のデータを転送する転送手段と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段とを含む情報処理装置である。
【０００６】
請求項２記載の発明は、前記転送手段は、前記主記憶手段への給電を開始することに伴って行われる起動処理において、当該起動処理に必要となる順番にて複数の前記データを転送し、前記主記憶手段は、前記転送手段から転送されてくる複数の前記データを、転送順に前記不揮発性メモリに記憶し、当該不揮発性メモリに記憶できなくなった後は、転送順に前記揮発性メモリに記憶することを特徴とする請求項１記載の情報処理装置である。
請求項３記載の発明は、前記不揮発性メモリには、当該不揮発性メモリに記憶される１または複数の前記データを管理するための管理情報を記憶する管理情報記憶領域が設けられ、前記転送手段は、前記管理情報に基づき、前記不揮発性メモリに既に記憶されているデータについては転送を行わないことを特徴とする請求項１または２記載の情報処理装置である。
請求項４記載の発明は、前記管理情報記憶領域には、前記管理情報として前記再構築の予約がさらに記憶され、前記再構築手段は、前記停止前処理において前記管理情報を参照し、前記予約がなされていた場合に前記再構築を行うことを特徴とする請求項１乃至３のいずれか１項記載の情報処理装置である。
請求項５記載の発明は、前記実行手段による前記プログラムの実行に伴って発生する情報を記憶するプログラム情報領域を、前記揮発性メモリまたは前記不揮発性メモリに確保する確保手段をさらに含み、前記確保手段は、前記不揮発性メモリの空き容量が前記プログラム情報領域に必要な容量を超える場合に、当該プログラム情報領域を当該不揮発性メモリに確保し、当該不揮発性メモリの空き容量が当該プログラム情報領域に必要な容量以下となる場合に、当該プログラム情報領域を前記揮発性メモリに確保することを特徴とする請求項１乃至４のいずれか１項記載の情報処理装置である。
請求項６記載の発明は、前記不揮発性メモリの記憶容量が、前記揮発性メモリの記憶容量よりも少ないことを特徴とする請求項１乃至５のいずれか１項記載の情報処理装置である。
請求項７記載の発明は、前記主記憶手段において、前記不揮発性メモリがＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであり、前記揮発性メモリがＤＲＡＭであることを特徴とする請求項１乃至６のいずれか１項記載の情報処理装置である。
【０００７】
請求項８記載の発明は、記録材に画像を形成する画像形成部と、前記画像形成部の動作を制御する制御部とを備え、前記制御部は、それぞれに優先度が設定された、前記画像形成部を動作させるためのプログラムを含む複数のデータを転送する転送手段と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し、前記転送手段によって転送されてくる複数の前記データを記憶する主記憶手段と、前記主記憶手段に記憶された複数の前記データを読み出して実行する実行手段と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させることで、当該不揮発性メモリの記憶内容を再構築する再構築手段とを含む画像形成装置である。
【０００８】
請求項９記載の発明は、コンピュータに、それぞれに優先度が設定された、プログラムを含む複数のデータを転送する機能と、読み書き可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、読み書き可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリとを有し且つ転送されてくる複数の前記データを記憶する主記憶手段に記憶された複数の当該データを読み出して実行する機能と、前記主記憶手段への給電を停止する前に行われる停止前処理において、当該主記憶手段に記憶される複数の前記データのうち、前記揮発性メモリに記憶される第１のデータに設定される優先度が、前記不揮発性メモリに記憶される第２のデータに設定される優先度よりも高い場合に、当該不揮発性メモリから当該第２のデータを削除して当該不揮発性メモリに当該第１のデータを記憶させる機能とを実現させるプログラムである。
【発明の効果】
【０００９】
請求項１記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
請求項２記載の発明によれば、本構成を有していない場合と比較して、複数のデータを転送順に記憶することができる。
請求項３記載の発明によれば、本構成を有していない場合と比較して、データの転送に要する時間を短くすることができる。
請求項４記載の発明によれば、本構成を有していない場合と比較して、再構築処理の要否を容易に確認することができる。
請求項５記載の発明によれば、本構成を有していない場合と比較して、起動処理に要する時間をより短くすることが可能になる。
請求項６記載の発明によれば、本構成を有していない場合と比較して、主記憶装置に必要な容量をより容易に確保することが可能になる。
請求項７記載の発明によれば、例えば不揮発性メモリとしてＥＥＰＲＯＭあるいはフラッシュメモリを用いた場合と比較して、不揮発性メモリからのデータの読み取りをより高速に行うことができる。
請求項８記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
請求項９記載の発明によれば、本構成を有していない場合と比較して、主記憶装置として不揮発性メモリおよび揮発性メモリを併用する場合に、起動処理に要する時間を短くすることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態が適用される画像形成システムの構成の一例を示す図である。
【図２】画像形成装置に設けられた制御部の内部構成の一例を示すハードウェアブロック図である。
【図３】メインメモリによるメモリマップの構成の一例を示す図である。
【図４】画像形成装置における起動処理の手順を説明するためのフローチャートである。
【図５】起動処理における展開処理の手順を説明するためのフローチャートである。
【図６】画像形成装置における終了処理の手順を説明するためのフローチャートである。
【図７】終了処理における再構築処理の手順を説明するためのフローチャートである。
【図８】１回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図である。
【図９】１回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図（つづき）である。
【図１０】１回目の終了処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図である。
【図１１】２回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図である。
【図１２】２回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図（つづき）である。
【図１３】２回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図（つづき）である。
【図１４】２回目の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移（別例）を説明するための図である。
【図１５】２回目以降の終了処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図である。
【図１６】２回目以降の起動処理における、ＭＲＡＭ、ＤＲＡＭおよびＭＲＡＭ管理領域の状態の遷移を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用される画像形成システムの構成の一例を示す図である。
この画像形成システムは、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を備えた所謂複合機として動作する画像形成装置１と、画像形成装置１に接続されるネットワーク２と、ネットワーク２に接続される端末装置３と、ネットワーク２に接続されるファクシミリ装置４と、ネットワーク２に接続されるサーバ装置５とを有している。
【００１２】
ここで、ネットワーク２は、インターネット回線や電話回線等によって構成されている。また、端末装置３は、ネットワーク２を介して、画像形成装置１に画像の形成等を指示するものであり、例えばＰＣ（Personal Computer）で構成される。さらに、ファクシミリ装置４は、ネットワーク２を介して、画像形成装置１との間でファクシミリを送受信する。さらにまた、サーバ装置５は、ネットワーク２を介して、画像形成装置１との間でデータ（プログラムを含む）を送受信する。
【００１３】
また、画像形成装置１は、紙等の記録媒体に記録された画像を読み取る画像読取部１０と、紙等の記録媒体（記録材）に画像を形成する画像形成部２０と、ユーザから電源のオン／オフ、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示するユーザインタフェース（ＵＩ）３０と、ネットワーク２を介して端末装置３、ファクシミリ装置４およびサーバ装置５との間でデータの送受信を行う送受信部４０と、これら画像読取部１０、画像形成部２０、ＵＩ３０および送受信部４０の動作を制御する制御部５０とを備えている。そして、この画像形成装置１では、画像読取部１０によってスキャン機能が実現され、画像形成部２０によってプリント機能が実現され、画像読取部１０および画像形成部２０によってコピー機能が実現され、画像読取部１０、画像形成部２０および送受信部４０によってファクシミリ機能が実現される。なお、送受信部４０は、例えばインターネット回線用のものと電話回線用のものとを、別々に設けるようにしてもかまわない。
【００１４】
図２は、図１に示す画像形成装置１に設けられた制御部５０の内部構成の一例を示すハードウェアブロック図である。
情報処理装置の一例としての制御部５０は、種々の演算を実行することによって画像形成装置１の各部を制御するＣＰＵ（Central Processing Unit：中央処理装置）５１と、ＣＰＵ５１に接続され、ＣＰＵ５１との間で各種データのやりとりを行うバスブリッジ５２とを備えている。制御部５０において、バスブリッジ５２には、第１のクロックでデータのやりとりを行うメモリバス５３と、第１のクロックよりも周波数が低い第２のクロックでデータのやりとりを行うＰＣＩ（Peripheral Component Interconnect）バス５４とが接続されている。
【００１５】
また、制御部５０は、ＲＯＭ（Read Only Memory）５５と、ＭＲＡＭ（Magnetoresistive Random Access Memory）５６と、ＤＲＡＭ（Dynamic Random Access Memory）５７とを備えている。そして、これらＲＯＭ５５、ＭＲＡＭ５６およびＤＲＡＭ５７は、それぞれ、メモリバス５３に接続されている。
【００１６】
転送手段、実行手段、再構築手段および確保手段の一例としてのＣＰＵ５１は、ＲＯＭ５５、ＭＲＡＭ５６およびＤＲＡＭ５７に直接アクセスすることが可能となっている。以下の説明では、メモリバス５３に接続されるＲＯＭ５５、ＭＲＡＭ５６およびＤＲＡＭ５７を、まとめて『メインメモリ』と称することがある。また、本実施の形態において、ＭＲＡＭ５６およびＤＲＡＭ５７は、主記憶手段の一例としての機能を有している。
【００１７】
ここで、ＲＯＭ５５は、所謂マスクＲＯＭ、各種ＰＲＯＭ（Programmable ROM：例えばＯＴＰ  ＲＯＭ (One Time Programmable ROM)、ＵＶ−ＥＰＲＯＭ（Ultra-Violet Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM））、フラッシュメモリなどで構成されている。なお、この例では、ＲＯＭ５５として、フラッシュメモリが用いられている。
【００１８】
また、ＭＲＡＭ５６は、書き換え可能であって電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリの一例としての機能を有している。なお、本実施の形態の不揮発性メモリに要求される特性は、ＲＯＭ５５（この例ではフラッシュメモリ）よりも高速にデータの読み書きが行えることであり、ＭＲＡＭ５６以外に、ＦｅＲＡＭ（Ferroelectric RAM）、ＰＲＡＭ（Phase change RAM）、あるいはＲｅＲＡＭ（Resistance RAM）などを用いてもよい。
【００１９】
さらに、ＤＲＡＭ５７は、書き換え可能であって電源を供給しないと記憶している情報を保持することが不可能な揮発性メモリの一例としての機能を有している。なお、ＤＲＡＭ５７以外に、ＳＲＡＭ（Static Random Access Memory）などを用いてもよい。
【００２０】
そして、本実施の形態では、ＭＲＡＭ５６およびＤＲＡＭ５７が、ともに第１のクロックでデータの読み書きを行う。このため、ＭＲＡＭ５６は、ＤＲＡＭ５７と同等の読み書き性能を有していることになる。また、本実施の形態では、ＭＲＡＭ５６の記憶容量に対し、ＤＲＡＭ５７の記憶容量がより大きくなっている。これは、ＭＲＡＭ５６の単位容量あたりの単価が、ＤＲＡＭ５７の単位容量あたりの単価に比べて高価となっていることによる。
【００２１】
さらにまた、本実施の形態の制御部５０は、制御部５０を構成する各部（ＣＰＵ５１等）が動作するクロックの基準となる基準クロックを生成するクロックジェネレータ５８と、ＣＰＵ５１等の動作に伴って計時を行うタイマ５９とをさらに備えている。
【００２２】
なお、ＣＰＵ５１が実行するプログラムは、予めＲＯＭ５５に記憶させておく形態の他、例えばＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ５１に提供したり、あるいは、サーバ装置５からネットワーク２を介してＣＰＵ５１に提供したりすることも可能である。
【００２３】
また、制御部５０は、ＵＩ３０を制御するためのＵＩインタフェース回路（ＵＩＩＦ）６１と、画像形成部２０を制御するためのプリントインタフェース回路（プリントＩＦ）６２と、例えば画像形成が行われた記録媒体に後処理を施す後処理装置７０など、画像形成装置１に後付けで装着されるオプションユニットを制御するためのオプションインタフェース回路（オプションＩＦ）６３と、送受信部４０を制御するためのネットワークインタフェース回路（ネットワークＩＦ）６４と、ＵＳＢ（Universal Serial Bus）デバイスを制御するためのＵＳＢインタフェース回路（ＵＳＢＩＦ）６５とを備えている。そして、これらＵＩＩＦ６１、プリントＩＦ６２、オプションＩＦ６３、ネットワークＩＦ６４およびＵＳＢＩＦ６５は、それぞれ、ＰＣＩバス５４に接続されている。また、本実施の形態では、ＵＳＢＩＦ６５に対し、画像読取部１０が接続されている。なお、ＵＳＢＩＦ６５には、例えば、装着されたメモリカード８１に対しデータを読み書きするカードリーダ８０が接続されることもある。
【００２４】
図３は、上述したメインメモリ（ＲＯＭ５５、ＭＲＡＭ５６およびＤＲＡＭ５７）によるメモリマップの構成の一例を示す図である。ここで、図３（ａ）はメインメモリにおける複数の記憶領域の配置を示しており、図３（ｂ）はＭＲＡＭ５６に配置されたＭＲＡＭ管理領域Ａ１１（詳細は後述する）における複数の記憶領域の配置を示している。
【００２５】
この例では、図３（ａ）に示すように、ＲＯＭ５５にリセットベクタ記憶領域Ａ０１、圧縮プログラム記憶領域Ａ０２および空き領域Ａ０３が配置され、ＭＲＡＭ５６にＭＲＡＭ管理領域Ａ１１およびＭＲＡＭデータ記憶領域Ａ１２が配置され、ＤＲＡＭ５７にＤＲＡＭデータ記憶領域Ａ２１が配置されている。
【００２６】
これらのうち、ＲＯＭ５５に配置されるリセットベクタ記憶領域Ａ０１は、画像形成装置１を起動するにあたり、制御部５０においてＣＰＵ５１が最初に実行するプログラムである、イニシャル・プログラム・ローダ（Initial Program Loader：ＩＰＬ）を記憶する。また、ＲＯＭ５５に配置される圧縮プログラム記憶領域Ａ０２は、本実施の形態の画像形成装置１に実装され得る各構成に対応したデータ（アプリケーションプログラム（以下では単にプログラムと呼ぶことがある）やフォント等を含む）を、それぞれ圧縮した圧縮プログラムとして記憶する。ここで、圧縮プログラム記憶領域Ａ０２には、複数の圧縮プログラムが記憶されている。さらに、ＲＯＭ５５に配置される空き領域Ａ０３は、現段階において、データが記憶されていない領域である。
【００２７】
次に、ＭＲＡＭ５６に配置されるＭＲＡＭ管理領域Ａ１１は、ＭＲＡＭデータ記憶領域Ａ１２に記憶される複数のデータを管理するための情報（ＭＲＡＭ管理情報と呼ぶ）を記憶する。また、ＭＲＡＭ５６に配置されるＭＲＡＭデータ記憶領域Ａ１２は、ＲＯＭ５５に配置された圧縮プログラム記憶領域Ａ０２から読み出した圧縮プログラムを、ＣＰＵ５１が展開することによって得た展開済データ（プログラムやフォント）等を記憶する。
【００２８】
さらに、ＤＲＡＭ５７に配置されるＤＲＡＭデータ記憶領域Ａ２１は、上記ＭＲＡＭデータ記憶領域Ａ１２と同じく、ＲＯＭ５５に配置された圧縮プログラム記憶領域Ａ０２から読み出した圧縮プログラムを、ＣＰＵ５１が展開することによって得た展開済データ（プログラムやフォント）等を記憶する。
なお、後述するように、ＭＲＡＭデータ記憶領域Ａ１２とＤＲＡＭデータ記憶領域Ａ２１とには、それぞれ、内容が異なる展開済データが記憶される。
【００２９】
次に、ＭＲＡＭ５６に配置された、管理情報記憶領域の一例としてのＭＲＡＭ管理領域Ａ１１について説明を行う。
この例では、図３（ｂ）に示すように、ＭＲＡＭ管理領域Ａ１１に、ＭＲＡＭ展開情報記憶領域Ａ１１１と、再構築予約記憶領域Ａ１１２と、高速起動設定記憶領域Ａ１１３とが配置されている。
【００３０】
これらのうち、ＭＲＡＭ展開情報記憶領域Ａ１１１は、ＭＲＡＭデータ記憶領域Ａ１２に記憶される複数の展開済データのそれぞれについて、展開情報と呼ばれる各展開済データに固有な情報を記憶する。ここで、展開情報としては、各展開済データに付与された種別（名称）に関するデータ種別情報、各展開済データに設定された優先度に関する優先度情報、各展開済データの版を示すバージョン情報、ＭＲＡＭデータ記憶領域Ａ１２において各展開済データが展開された場所（アドレス）に関する展開場所情報等が挙げられる。なお、展開情報のうち、展開場所情報を除いたデータ種別情報、優先度情報およびバージョン情報は、展開済データの元となる圧縮プログラムに予め記録されている。また、これらデータ種別情報、優先度情報およびバージョン情報は、圧縮プログラムのヘッダ部分に記録されており、圧縮プログラムを展開してなくても、これらの情報が取得できるようになっている。
【００３１】
また、再構築予約記憶領域Ａ１１２は、ＭＲＡＭデータ記憶領域Ａ１２に記憶される複数のデータおよびＤＲＡＭデータ記憶領域Ａ２１に記憶される１または複数のデータを、取捨選択してＭＲＡＭデータ記憶領域Ａ１２に記憶させることで、ＭＲＡＭデータ記憶領域Ａ１２の記憶内容を再構築するための予約を受け付けたか否かを示す予約情報を記憶する。
さらに、高速起動設定記憶領域Ａ１１３は、画像形成装置１を通常の起動時よりも短時間で起動する高速起動の設定を受け付けたか否かを示す設定情報を記憶する。
なお、本実施の形態では、上述した展開情報（データ種別情報、優先度情報、バージョン情報および展開場所情報）と予約情報と設定情報とによって、ＭＲＡＭ管理情報が構成されている。
【００３２】
図４は、図１に示す画像形成装置１における起動処理の手順を説明するためのフローチャート（メインルーチン）である。なお、この起動処理は、例えばＵＩ３０を介して画像形成装置１の電源が投入されることに伴ってＣＰＵ５１にリセット指示が入力されたとき、また、画像形成装置１の電源が投入された後に何らかの理由によりＣＰＵ５１にリセット指示が入力されたとき、さらには、メインメモリを含む画像形成装置１の一部の構成要素への給電を停止するスリープモードから復帰するとき、などに実行される。
【００３３】
制御部５０に設けられたＣＰＵ５１がリセット指示を受け付けると、ＣＰＵ５１は、自身のリセット（ＣＰＵリセット）を実行する。ＣＰＵリセットに伴い、ＤＲＡＭ５７の記憶内容は消去されるが、ＲＯＭ５５およびＭＲＡＭ５６の記憶内容は消去されず、ＣＰＵリセット前の記憶内容がそのまま保持される。
【００３４】
続いて、ＣＰＵ５１は、ＲＯＭ５５のリセットベクタ記憶領域Ａ０１に記憶されるイニシャル・プログラム・ローダ（ＩＰＬ）を読み出すとともに、読み出したＩＰＬを実行する。ＩＰＬの実行に伴い、ＣＰＵ５１は、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１に記憶されるＭＲＡＭ管理情報を読み出して取得する（ステップ１０１）。
【００３５】
次に、ＣＰＵ５１は、ＩＰＬの実行に伴い、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される複数の圧縮プログラムを、必要に応じて展開し、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２あるいはＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１にプログラムやフォント等のデータとして記憶させる展開処理を実行する（ステップ１０２）。なお、ステップ１０２では、ステップ１０１で取得したＭＲＡＭ管理情報のうちの展開情報に基づいて展開処理を実行するのであるが、その詳細については後述する。
【００３６】
続いて、ＣＰＵ５１は、今回の起動処理において必要となるプログラムやフォント等がＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２あるいはＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に全て記憶されているか、換言すれば、今回の起動処理で使用する全ての展開対象に対する展開処理が終了しているか否かを判断する（ステップ１０３）。ここで、展開対象は、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される複数の圧縮プログラムのうちの１つの圧縮プログラムを指す。ただし、今回の起動処理において、圧縮プログラム記憶領域Ａ０２に記憶される全ての圧縮プログラムが展開対象となるわけではなく、起動後の画像形成装置１に要求される機能によっては、一部の圧縮プログラムが展開対象から外れることもある。
【００３７】
ステップ１０３において否定の判断（ＮＯ）を行った場合は、ステップ１０２に戻り、次の展開対象に対する展開処理を続行する。したがって、ステップ１０２の展開処理は、展開対象毎に実行されることになる。
【００３８】
一方、ステップ１０３において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ステップ１０１で取得したＭＲＡＭ管理情報のうちの設定情報を参照し、高速起動設定が「有効」に設定されているか否かを判断する（ステップ１０４）。ステップ１０４において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、さらに、プログラム情報領域として必要な容量が、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否か、換言すれば、ＭＲＡＭ５６にプログラム情報領域を確保することが可能であるか否かを判断する（ステップ１０５）。ここで、プログラム情報領域は、ＭＲＡＭデータ記憶領域Ａ１２に記憶されている複数の展開済データのうちの各種プログラムの実行中に発生する各種データを一時的に記憶させるための領域であり、Ｃ言語におけるmallocによる動的メモリ確保、スタックあるいはリソース等が含まれる。
【００３９】
ステップ１０５において否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３において設定情報を「無効」と記録し（ステップ１０６）、ＣＰＵリセットを行う（ステップ１０７）ことで、起動処理を完了する。なお、この場合は、再起動に伴ってステップ１０１から起動処理が再度実行されることになる。
【００４０】
これに対し、上記ステップ１０４で否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、ＤＲＡＭ５７におけるＤＲＡＭデータ記憶領域Ａ２１にプログラム情報領域を確保し（ステップ１０８）、起動処理を完了する。
また、上記ステップ１０５で肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２にプログラム情報領域を確保し（ステップ１０９）、起動処理を完了する。
【００４１】
図５は、図４に示す起動処理における展開処理（ステップ１０２）の手順を説明するためのフローチャート（サブルーチン）である。
展開処理では、まず、ＣＰＵ５１が、展開対象を設定する（ステップ２０１）。ステップ２０１では、ＣＰＵ５１が、画像形成装置１を起動するために必要な手順に基づいて展開対象を設定する。ここで、１番目に設定される展開対象としては、例えば各種プログラムを動作させるためのベースとなるＯＳ（Operating System）が挙げられる。
【００４２】
次に、ＣＰＵ５１は、上記ステップ１０１（図４参照）で取得したＭＲＡＭ管理情報のうちの展開情報（より具体的にはデータ種別情報）を参照し、ステップ２０１で設定された展開対象が、既にＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に展開済となっているか否か（展開済データとして記憶されているか否か）を判断する（ステップ２０２）。
【００４３】
ステップ２０２で肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、次に、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている展開対象の圧縮プログラムのヘッダ部分を読み出すとともに、上記ステップ１０１（図４参照）で取得したＭＲＡＭ管理情報の展開情報（より具体的にはバージョン情報）を参照し、展開対象の圧縮プログラムのバージョンと、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されている展開対象の展開済データのバージョンとが一致しているか否かを判断する（ステップ２０３）。ステップ２０３において肯定の判断（ＹＥＳ）を行った場合は、この展開対象に対する展開処理を完了する。
【００４４】
一方、ステップ２０３において否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されている展開対象の展開済データを削除する（ステップ２０４）。
【００４５】
ステップ２０２において否定の判断（ＮＯ）を行った場合、および、ステップ２０４においてＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されている展開対象の展開済データの削除を行った場合、次に、ＣＰＵ５１は、この展開対象の圧縮プログラムを展開して得られる展開済データの容量が、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否か、換言すれば、展開対象がＭＲＡＭ５６に展開可能であるか否かを判断する（ステップ２０５）。
【００４６】
ステップ２０５において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２から展開対象の圧縮プログラムを読み出すとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、展開対象の圧縮プログラムを展開して得られた展開済データを記憶させる（ステップ２０６）。続いて、ＣＰＵ５１は、この展開対象の圧縮プログラムをＭＲＡＭデータ記憶領域Ａ１２に展開して得られた展開済データの展開情報（展開対象の展開情報）を、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１のＭＲＡＭ展開情報記憶領域Ａ１１１に記録し（ステップ２０７）、この展開対象に対する展開処理を完了する。
【００４７】
一方、ステップ２０５において否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２から展開対象の圧縮プログラムを読み出すとともに、ＭＲＡＭ５６ではなく、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に、展開対象の圧縮プログラムを展開して得られた展開済データを記憶させる（ステップ２０８）。
【００４８】
続いて、ＣＰＵ５１は、ステップ１０１（図４参照）で取得したＭＲＡＭ管理情報のうちの優先度情報を参照し、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、この展開対象の展開済データよりも優先度が低い展開済データが記憶されているか否かを判断する（ステップ２０９）。ステップ２０９において否定の判断（ＮＯ）を行った場合は、この展開対象に対する展開処理を完了する。
【００４９】
一方、ステップ２０９において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、この展開対象の圧縮プログラムを展開して得られる展開済データの容量が、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２から上記低優先度の展開済データを削除した後の空き容量以下となっているか否か、換言すれば、展開対象の圧縮プログラムがＭＲＡＭ５６に展開可能であるか否かを判断する（ステップ２１０）。
【００５０】
ステップ２１０において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１の再構築予約記憶領域Ａ１１２に予約情報を記録し（ステップ２１１）、この展開対象に対する展開処理を完了する。一方、ステップ２１０において否定の判断（ＮＯ）を行った場合は、そのまま、この展開対象に対する展開処理を完了する。
【００５１】
図６は、図１に示す画像形成装置１における終了処理の手順を説明するためのフローチャート（メインルーチン）である。なお、停止前処理の一例としての終了処理は、図４および図５に示す起動処理の完了に伴って画像形成装置１が動作可能な状態となった後、例えばＵＩ３０を介して画像形成装置１の電源を切断する指示がなされたとき、また、メインメモリを含む画像形成装置１の一部の構成要素への給電を停止するスリープモードに移行するとき、などに実行される。
【００５２】
終了処理では、まず、ＣＰＵ５１が、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１に記憶されるＭＲＡＭ管理情報を読み出して取得する（ステップ３０１）。続いて、ＣＰＵ５１は、ステップ３０１で取得したＭＲＡＭ管理情報のうちの予約情報を参照し、再構築の予約（図５に示すステップ２１１参照）があるか否かを判断する（ステップ３０２）。
【００５３】
ステップ３０２において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶される展開済データの内容を再構築する再構築処理を実行し（ステップ３０３）、次のステップ３０４へと進む。これに対し、ステップ３０２において否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、再構築処理を実行することなく、そのままステップ３０４へと進む。
【００５４】
ステップ３０２において否定の判断（ＮＯ）を行った場合、および、ステップ３０３において再構築処理を実行した場合、次に、ＣＰＵ５１は、プログラム情報領域として必要な容量が、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否か、換言すれば、ＭＲＡＭ５６にプログラム情報領域を確保することが可能であるか否かを判断する（ステップ３０４）。
【００５５】
ステップ３０４において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３において設定情報を「有効」と記録し（ステップ３０５）、終了処理を完了する。
【００５６】
一方、ステップ３０４において否定の判断（ＮＯ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３において設定情報を「無効」と記録し（ステップ３０６）、終了処理を完了する。
そして、この終了処理が完了した後に、画像形成装置１の電源が切断される。
【００５７】
図７は、図６に示す終了処理における再構築処理（ステップ３０３）の手順を説明するためのフローチャート（サブルーチン）である。
再構築処理において、ＣＰＵ５１は、ステップ３０１で取得したＭＲＡＭ管理情報のうちの予約情報から、再構築における展開対象を取得する（ステップ４０１）。次いで、ＣＰＵ５１は、ステップ３０１で取得したＭＲＡＭ管理情報のうちの展開情報（より具体的には優先度情報）と、ステップ４０１で取得した再構築における展開対象とに基づき、再構築における展開対象よりも優先度が低い（低優先度の）展開済データを削除対象に設定し、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２から削除する（ステップ４０２）。
【００５８】
次に、ＣＰＵ５１は、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２から再構築における展開対象の圧縮プログラムを読み出すとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、この圧縮プログラムを展開して得られた展開済データを記憶させる（ステップ４０３）。続いて、ＣＰＵ５１は、ステップ４０２で削除した展開済データの展開情報を、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１のＭＲＡＭ展開情報記憶領域Ａ１１１から削除し、さらに、この再構築における展開対象をＭＲＡＭデータ記憶領域Ａ１２に展開して得られた展開済データの展開情報（展開対象の展開情報）を、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１のＭＲＡＭ展開情報記憶領域Ａ１１１に記録する（ステップ４０４）。
【００５９】
そして、ＣＰＵ５１は、今回の終了処理において再構築の予約がなされたプログラムやデータがＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されているか、換言すれば、今回の終了処理で再構築が予約されていた全ての展開対象に対する再構築処理が終了しているか否かを判断する（ステップ４０５）。ステップ４０５において否定の判断（ＮＯ）を行った場合は、ステップ４０１に戻り、次の展開対象に対する再構築処理を続行する。
【００６０】
一方、ステップ４０５において肯定の判断（ＹＥＳ）を行った場合、ＣＰＵ５１は、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１の再構築予約記憶領域Ａ１１２において予約情報を「なし」と記録（再構築の予約を削除）し（ステップ４０６）、一連の再構築処理を完了する。
【００６１】
次に、図４〜図７に示す起動処理および終了処理の手順について、具体的に例を挙げながら説明を行う。
【００６２】
＜１回目の起動処理の例＞
図８および図９は、１回目（最初）の起動処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の例を説明するための図である。
図８（ａ）は、１回目の起動処理が開始される前の状態を示している。このとき、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２およびＤＲＡＭ５７におけるＤＲＡＭデータ記憶領域Ａ２１は空となっている。また、ＭＲＡＭ５６におけるＭＲＡＭ管理領域Ａ１１において、ＭＲＡＭ展開情報記憶領域Ａ１１１には展開情報が記録されておらず、再構築予約記憶領域Ａ１１２には予約情報として「なし」が、高速起動設定記憶領域Ａ１１３には設定情報として「無効」が、それぞれ記録されている。
【００６３】
なお、この例では、１回目の起動処理において、「ＰｒｏｇｒａｍＡ」、「ＦｏｎｔＡ」、「ＦｏｎｔＢ」、そして「ＰｒｏｇｒａｍＢ」の順番で、合計４つの展開対象が設定されているものとする。ここで、１番目に展開対象となるデータ種別「ＰｒｏｇｒａｍＡ」（アプリケーションプログラム）は、優先度が最も高い１に設定されているとともに、そのバージョンはｖｅｒ．１．０．０となっている。また、２番目に展開対象となるデータ種別「ＦｏｎｔＡ」（フォントデータ）は、優先度が５に設定されるとともに、そのバージョンはｖｅｒ．１．０．１となっている。さらに、３番目に展開対象となるデータ種別「ＦｏｎｔＢ」（フォントデータ）は、優先度が３に設定されるとともに、そのバージョンは１．０．０となっている。さらにまた、４番目且つ最後に展開対象となるデータ種別「ＰｒｏｇｒａｍＢ」（アプリケーションプログラム）は、優先度が２に設定されるとともに、そのバージョンはｖｅｒ．１．０．２となっている。
【００６４】
ステップ１０１（図４参照）では、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１から、展開情報、予約情報および設定情報を含むＭＲＡＭ管理情報が取得される。なお、この起動処理において取得されるＭＲＡＭ管理情報は、上述した通り（展開情報：記録なし、予約情報：なし、設定情報：無効）となっている。
【００６５】
続くステップ１０２では、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＰｒｏｇｒａｍＡ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において否定の判断（ＮＯ）がなされる。このとき、「ＰｒｏｇｒａｍＡ」の展開済データの容量がＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっていることから、続くステップ２０５において肯定の判断（ＹＥＳ）がなされる。これに伴い、ステップ２０６では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＰｒｏｇｒａｍＡ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＡ」の圧縮プログラムを展開して得られた「ＰｒｏｇｒａｍＡ」の展開済データが記憶される。続くステップ２０７では、この「ＰｒｏｇｒａｍＡ」の展開情報（データ種別：ＰｒｏｇｒａｍＡ、優先度：１、ｖｅｒ：１．０．０、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録されて、「ＰｒｏｇｒａｍＡ」に対する展開処理が完了する。ここで、図８（ｂ）は、「ＰｒｏｇｒａｍＡ」に関する展開処理が終了した状態を示している。
【００６６】
「ＰｒｏｇｒａｍＡ」に関する展開処理が完了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＦｏｎｔＡ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において否定の判断（ＮＯ）がなされる。このとき、「ＦｏｎｔＡ」の展開済データの容量がＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっていることから、続くステップ２０５において肯定の判断（ＹＥＳ）がなされる。これに伴い、ステップ２０６では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＦｏｎｔＡ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＦｏｎｔＡ」の圧縮プログラムを展開して得られた「ＦｏｎｔＡ」の展開済データが記憶される。続くステップ２０７では、この「ＦｏｎｔＡ」の展開情報（データ種別：ＦｏｎｔＡ、優先度：５、ｖｅｒ：１．０．１、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録されて、「ＦｏｎｔＡ」に対する展開処理が完了する。ここで、図８（ｃ）は、「ＦｏｎｔＡ」に関する展開処理が終了した状態を示している。
【００６７】
「ＦｏｎｔＡ」に関する展開処理が完了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＦｏｎｔＢ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において否定の判断（ＮＯ）がなされる。このとき、「ＦｏｎｔＢ」の展開済データの容量がＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっていることから、続くステップ２０５において肯定の判断（ＹＥＳ）がなされる。これに伴い、ステップ２０６では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＦｏｎｔＢ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＦｏｎｔＢ」の圧縮プログラムを展開して得られた「ＦｏｎｔＢ」の展開済データが記憶される。続くステップ２０７では、この「ＦｏｎｔＢ」の展開情報（データ種別：ＦｏｎｔＢ、優先度：３、ｖｅｒ：１．０．０、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録されて、「ＦｏｎｔＢ」に対する展開処理が完了する。ここで、図９（ａ）は、「ＦｏｎｔＢ」に関する展開処理が終了した状態を示している。
【００６８】
「ＦｏｎｔＢ」に関する展開処理が終了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＰｒｏｇｒａｍＢ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において否定の判断（ＮＯ）がなされる。このとき、「ＰｒｏｇｒａｍＢ」の展開済データの容量がＭＲＡＭデータ記憶領域Ａ１２の空き容量を超えてしまうことから、ステップ２０５において否定の判断（ＮＯ）がなされる。これに伴い、続くステップ２０８では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＰｒｏｇｒａｍＢ」の圧縮プログラムが読み出されるとともに、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に、「ＰｒｏｇｒａｍＢ」の圧縮プログラムを展開して得られた「ＰｒｏｇｒａｍＢ」の展開済データが記憶される。
【００６９】
次のステップ２０９では、ＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＢ」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、ＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＢ」（優先度：２）よりも優先度が低い「ＦｏｎｔＡ」（優先度：５）や「ＦｏｎｔＢ」（優先度：３）が存在していることから、ステップ２０９において肯定の判断（ＹＥＳ）がなされる。また、「ＰｒｏｇｒａｍＢ」（優先度：２）の展開済データの容量が、ＭＲＡＭデータ記憶領域Ａ１２から「ＦｏｎｔＡ」（優先度：５）を削除した場合の空き容量以下となっていることから、ステップ２１０では肯定の判断（ＹＥＳ）がなされる。これに伴い、ステップ２１１では、ＭＲＡＭ５６の再構築予約記憶領域Ａ１１２に、「ＰｒｏｇｒａｍＢ」について再構築の予約が記録されて、「ＰｒｏｇｒａｍＢ」に対する展開処理が完了する。なお、ステップ２１１において、再構築予約記憶領域Ａ１１２には、予約情報として、「データ種別：ＰｒｏｇｒａｍＢ、優先度：２、ｖｅｒ．１．０．２」が書き込まれる。ここで、図９（ｂ）は、「ＰｒｏｇｒａｍＢ」に関する展開処理が終了した状態を示している。
【００７０】
「ＰｒｏｇｒａｍＢ」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ１０３において肯定の判断（ＹＥＳ）がなされる。
そして、ＭＲＡＭ管理情報における設定情報に基づき、ステップ１０４において否定の判断（ＮＯ）がなされ、ステップ１０８においてＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に「プログラム情報領域」が確保されることにより、１回目の起動処理が完了する。ここで、図９（ｃ）は、「プログラム情報領域」が確保され、１回目の起動処理が完了した状態を示している。
【００７１】
＜１回目の終了処理の例＞
図１０は、１回目の終了処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の例を説明するための図である。
図１０（ａ）は、１回目の終了処理が開始される前の状態を示している。なお、この例では、上記１回目の起動処理が完了した後に１回目の終了処理が行われるものとする。したがって、ＭＲＡＭ５６（ＭＲＡＭ管理領域Ａ１１を含む）およびＤＲＡＭ５７は、図９（ｃ）に示した状態となっている。
【００７２】
ステップ３０１（図６参照）では、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１から、展開情報、予約情報および設定情報を含むＭＲＡＭ管理情報が取得される。なお、この終了処理において取得されるＭＲＡＭ管理情報は、１０（ａ）に示した通りとなっている。
【００７３】
次のステップ３０２では、ＭＲＡＭ管理情報に予約情報が存在していることから、肯定の判断（ＹＥＳ）がなされる。続くステップ３０３では、再構築処理のサブルーチン（図７）が実行される。
ここでは、まず、ステップ４０１において展開対象が「ＰｒｏｇｒａｍＢ」に設定され、ステップ４０２において、ＭＲＡＭデータ記憶領域Ａ１２に記憶されている、「ＰｒｏｇｒａｍＢ」よりも優先度の低い展開済データ（この例では「ＦｏｎｔＡ」（優先度：５）の展開済データ）が削除される。なお、この例では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２内のデータを整列させるために、「ＦｏｎｔＡ」の展開済データに加えて「ＦｏｎｔＢ」の展開済データも削除される。ここで、図１０（ｂ）は、「ＦｏｎｔＡ」および「ＦｏｎｔＢ」の展開済データの削除が行われた状態を示している。
【００７４】
「ＦｏｎｔＡ」の展開済データおよび「ＦｏｎｔＢ」の展開済データの削除が完了した後、ステップ４０３では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＰｒｏｇｒａｍＢ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＢ」の圧縮プログラムを展開して得られた「ＰｒｏｇｒａｍＢ」の展開済データが記憶される。続くステップ４０４では、「ＰｒｏｇｒａｍＢ」の展開情報（データ種別：ＰｒｏｇｒａｍＢ、優先度：２、ｖｅｒ：１．０．０、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１から削除されるとともに、「ＰｒｏｇｒａｍＢ」の展開情報（データ種別：ＰｒｏｇｒａｍＢ、優先度：２、ｖｅｒ．：１．０．２、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録されて、「ＰｒｏｇｒａｍＢ」に対する再構築処理（展開処理）が完了する。ここで、図１０（ｃ）は、「ＰｒｏｇｒａｍＢ」に関する展開処理が終了した状態を示している。
【００７５】
また、この例では、「ＰｒｏｇｒａｍＢ」の展開処理に引き続いて、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＦｏｎｔＢ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＦｏｎｔＢ」の圧縮プログラムを展開して得られた「ＦｏｎｔＢ」の展開済データが記憶される。さらに、「ＦｏｎｔＢ」の展開情報（データ種別：ＦｏｎｔＢ、優先度：３、ｖｅｒ：１．０．０、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１から削除されるとともに、「ＦｏｎｔＢ」の展開情報（データ種別：ＦｏｎｔＢ、優先度：３、ｖｅｒ．：１．０．０、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録される。ここで、図１０（ｄ）は、「ＦｏｎｔＢ」に関する処理が終了した状態を示している。
【００７６】
「ＰｒｏｇｒａｍＢ」の展開処理（およびこれに続く「ＦｏｎｔＢ」の再展開処理）が終了してメインルーチンに移行すると、ステップ３０４において、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に展開されているプログラム情報領域の容量が、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否かが判定される。この例では、ステップ３０４において否定の判断（ＮＯ）がなされることにより、ステップ３０６において、ＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３に「無効」と記録が行われる（図１０（ｄ）参照）。以上により、１回目の終了処理が完了し、その後、画像形成装置１の電源が切断される。
【００７７】
なお、上述した１回目の起動処理および終了処理においては、「ＰｒｏｇｒａｍＢ」が第１のデータに、「ＦｏｎｔＡ」が第２のデータに、それぞれ対応している。
【００７８】
＜２回目の起動処理の例＞
図１１〜図１３は、２回目の起動処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の例を説明するための図である。
図１１（ａ）は、２回目の起動処理が開始される前の状態を示している。なお、この例では、上記１回目の終了処理が完了した後に２回目の起動処理が行われるものとする。したがって、ＭＲＡＭ５６（ＭＲＡＭ管理領域Ａ１１を含む）は、図１０（ｃ）に示した状態となっている。一方、ＤＲＡＭ５７については、電源が切断されることに伴って、その記憶内容が消去された状態となっている。
【００７９】
また、この例では、２回目の起動処理においても、「ＰｒｏｇｒａｍＡ」、「ＦｏｎｔＡ」、「ＦｏｎｔＢ」、そして「ＰｒｏｇｒａｍＢ」の順番で、合計４つの展開対象が設定されているものとする。ここで、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている複数の圧縮プログラムのうち、「ＰｒｏｇｒａｍＡ」、「ＦｏｎｔＡ」および「ＦｏｎｔＢ」に対応する圧縮プログラムについては、１回目の起動処理から内容が変更されていないものとする。一方、「ＰｒｏｇｒａｍＢ」に対応する圧縮プログラムについては、優先度は２のままである一方、その版がＶｅｒ．１．０．２からＶｅｒ．１．０．３に変更（バージョンアップ）されているものとする。
【００８０】
ステップ１０１では、（図４参照）では、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１から、展開情報、予約情報および設定情報を含むＭＲＡＭ管理情報が取得される。なお、この２回目の起動処理において取得されるＭＲＡＭ管理情報は、図１１（ａ）に示した通りとなっている。
【００８１】
続くステップ１０２では、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＰｒｏｇｒａｍＡ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において肯定の判断（ＹＥＳ）がなされる。次のステップ２０３では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶される「ＰｒｏｇｒａｍＡ」の展開済データのバージョンと、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される「ＰｒｏｇｒａｍＡ」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致しているために肯定の判断（ＹＥＳ）がなされる。ここで、図１１（ｂ）は、「ＰｒｏｇｒａｍＡ」に関する展開処理が終了した状態を示している。
【００８２】
「ＰｒｏｇｒａｍＡ」に関する展開処理が終了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ２０１において展開対象が「ＦｏｎｔＡ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において否定の判断（ＮＯ）がなされる。このとき、「ＦｏｎｔＡ」の展開済データの容量がＭＲＡＭデータ記憶領域Ａ１２の空き容量を超えてしまうことから、ステップ２０５において否定の判断（ＮＯ）がなされる。これに伴い、続くステップ２０８では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている「ＦｏｎｔＡ」の圧縮プログラムが読み出されるとともに、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に、「ＦｏｎｔＡ」の圧縮プログラムを展開して得られた「ＦｏｎｔＡ」の展開済データが記憶される。
【００８３】
次のステップ２０９では、ＭＲＡＭデータ記憶領域Ａ１２に、「ＦｏｎｔＡ」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、ＭＲＡＭデータ記憶領域Ａ１２に、「ＦｏｎｔＡ」（優先度：５）よりも優先度が低いものが存在してないことから、ステップ２０９において否定の判断（ＮＯ）がなされる。ここで、図１１（ｃ）は、「ＦｏｎｔＡ」に関する展開処理が終了した状態を示している。
【００８４】
「ＦｏｎｔＡ」に関する展開処理が終了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ２０１において展開対象が「ＦｏｎｔＢ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において肯定の判断（ＹＥＳ）がなされる。次のステップ２０３では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶される「ＦｏｎｔＢ」の展開済データのバージョンと、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される「ＦｏｎｔＢ」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致しているために肯定の判断（ＹＥＳ）がなされる。ここで、図１２（ａ）は、「ＦｏｎｔＢ」に関する展開処理が終了した状態を示している。
【００８５】
「ＦｏｎｔＢ」に関する展開処理が完了した後、メインルーチンのステップ１０３において否定の判断（ＮＯ）がなされることにより、ステップ１０２へと戻り、展開処理のサブルーチンが実行される。
ここでは、ステップ２０１において展開対象が「ＰｒｏｇｒａｍＢ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において肯定の判断（ＹＥＳ）がなされる。次のステップ２０３では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶される「ＰｒｏｇｒａｍＢ」の展開済データのバージョンと、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される「ＰｒｏｇｒａｍＢ」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致していないために否定の判断（ＮＯ）がなされる。ここで、図１２（ｂ）は、バージョンの比較を行っている状態を示している。
【００８６】
続くステップ２０４では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されている「ＰｒｏｇｒａｍＢ」の展開済データ（旧バージョン）が削除される。ここで、図１２（ｃ）は、「ＰｒｏｇｒａｍＢ」の展開済データの削除が行われた状態を示している。
【００８７】
「ＰｒｏｇｒａｍＢ」の削除が行われると、続くステップ２０５では、新バージョンとなった「ＰｒｏｇｒａｍＢ」の展開済データが、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否かが判断される。
【００８８】
ここで、ステップ２０５において肯定の判断（ＹＥＳ）がなされた場合、続くステップ２０６では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている新バージョンの「ＰｒｏｇｒａｍＢ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、新バージョンの「ＰｒｏｇｒａｍＢ」の圧縮プログラムを展開して得られた新バージョンの「ＰｒｏｇｒａｍＢ」の展開済データが記憶される。続くステップ２０７では、この「ＰｒｏｇｒａｍＢ」の展開情報（データ種別：ＰｒｏｇｒａｍＢ、優先度：２、ｖｅｒ：１．０．３、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録される。ここで、図１３（ａ）は、「ＦｏｎｔＢ」に関する展開処理が終了した状態を示している。
【００８９】
「ＰｒｏｇｒａｍＢ」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ１０３において肯定の判断（ＹＥＳ）がなされる。
そして、ＭＲＡＭ管理情報における設定情報に基づき、ステップ１０４において否定の判断（ＮＯ）がなされ、ステップ１０８においてＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に「プログラム情報領域」が確保されることにより、２回目の起動処理が完了する。ここで、図１３（ｂ）は、「プログラム情報領域」が確保されることにより、２回目の起動処理が完了した状態の一例を示している。
【００９０】
これに対し、ステップ２０５において否定の判断（ＮＯ）がなされた場合、続くステップ２０８では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている新バージョンの「ＰｒｏｇｒａｍＢ」の圧縮プログラムが読み出されるとともに、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に、新バージョンの「ＰｒｏｇｒａｍＢ」の圧縮プログラムを展開して得られた「ＰｒｏｇｒａｍＢ」の展開済データが記憶される。
【００９１】
次のステップ２０９では、ＭＲＡＭデータ記憶領域Ａ１２に、新バージョンの「ＰｒｏｇｒａｍＢ」よりも優先度の低い展開済データが記憶されているか否かが判断される。この例では、ＭＲＡＭデータ記憶領域Ａ１２に、新バージョンの「ＰｒｏｇｒａｍＢ」（優先度：２）よりも優先度が低い「ＦｏｎｔＢ」（優先度：３）が存在していることから、ステップ２０９において肯定の判断（ＹＥＳ）がなされる。また、新バージョンの「ＰｒｏｇｒａｍＢ」（優先度：２）の展開済データの容量が、ＭＲＡＭデータ記憶領域Ａ１２から「ＦｏｎｔＢ」（優先度：３）を削除した場合の空き容量以下となっていることから、ステップ２１０では肯定の判断（ＹＥＳ）がなされる。これに伴い、ステップ２１１では、ＭＲＡＭ５６の再構築予約記憶領域Ａ１１２に、「ＰｒｏｇｒａｍＢ」について再構築の予約が記録されて、「ＰｒｏｇｒａｍＢ」に対する展開処理が完了する。なお、ステップ２１１において、再構築予約記憶領域Ａ１１２には、予約情報として、「データ種別：ＰｒｏｇｒａｍＢ、優先度：２、ｖｅｒ．１．０．３」が書き込まれる。ここで、図１３（ｃ）は、「ＰｒｏｇｒａｍＢ」に関する展開処理が終了した状態を示している。
【００９２】
「ＰｒｏｇｒａｍＢ」に対する展開処理が終了してメインルーチンに移行すると、この例では、他に展開対象が存在しないことから、今度は、ステップ１０３において肯定の判断（ＹＥＳ）がなされる。
そして、ＭＲＡＭ管理情報における設定情報に基づき、ステップ１０４において否定の判断（ＮＯ）がなされ、ステップ１０８においてＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に「プログラム情報領域」が確保されることにより、２回目の起動処理が完了する。ここで、図１３（ｄ）は、「プログラム情報領域」が確保されることにより、２回目の起動処理が完了した状態の一例を示している。
【００９３】
ここで、後者すなわちステップ２０５において否定の判断（ＮＯ）がなされた場合は、この２回目の起動処理が完了した後に実行される２回目の終了処理において、再構築処理が行われる。これに伴い、ＭＲＡＭ５６におけるＭＲＡＭデータ記憶領域Ａ１２には、「ＰｒｏｇｒａｍＡ」および「ＰｒｏｇｒａｍＢ」が記憶されることになる。
【００９４】
＜２回目の起動処理の別例＞
図１４は、２回目の起動処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の別例を説明するための図である。
図１４（ａ）は、２回目の起動処理が開始される前の状態を示している。なお、この例では、２回目の起動処理においても、「ＰｒｏｇｒａｍＡ」、「ＦｏｎｔＡ」、「ＦｏｎｔＢ」、そして「ＰｒｏｇｒａｍＢ」の順番で、合計４つの展開対象が設定されているものとする。ただし、この例では、１回目の起動処理において、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２にアプリケーションプログラムの展開済データ（この例では「ＰｒｏｇｒａｍＡ」および「ＰｒｏｇｒａｍＢ」）を記憶させる際に、各アプリケーションの展開済データに隣接して空の領域（マージン）を確保しているものとする。ここで、「ＰｒｏｇｒａｍＡ」の展開済データに隣接して配置される空の領域を「ＰｒｏｇｒａｍＡマージン」と呼び、「ＰｒｏｇｒａｍＢ」の展開済データに隣接して配置される空の領域を「ＰｒｏｇｒａｍＢマージン」と呼ぶ。
【００９５】
また、この例では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている複数の圧縮プログラムのうち、「ＰｒｏｇｒａｍＢ」、「ＦｏｎｔＡ」および「ＦｏｎｔＢ」に対応する圧縮プログラムについては、１回目の起動処理から内容が変更されていないものとする。一方、「ＰｒｏｇｒａｍＡ」に対応する圧縮プログラムについては、優先度は１のままである一方、その版がＶｅｒ．１．０．０からＶｅｒ．１．０．１に変更（バージョンアップ）されているものとする。
【００９６】
ステップ１０１では、（図４参照）では、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１から、展開情報、予約情報および設定情報を含むＭＲＡＭ管理情報が取得される。なお、この終了処理において取得されるＭＲＡＭ管理情報は、図１４（ａ）に示した通りとなっている。
【００９７】
続くステップ１０２では、展開処理のサブルーチン（図５参照）が実行される。
ここでは、ステップ２０１において展開対象が「ＰｒｏｇｒａｍＡ」に設定され、ＭＲＡＭ管理情報における展開情報に基づき、ステップ２０２において肯定の判断（ＹＥＳ）がなされる。次のステップ２０３では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶される「ＰｒｏｇｒａｍＡ」の展開済データのバージョンと、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶される「ＰｒｏｇｒａｍＡ」の圧縮プログラムのバージョンとが一致しているか否かが判断される。この例では、両者のバージョンが一致していないために否定の判断（ＮＯ）がなされる。ここで、図１４（ｂ）は、バージョンの比較を行っている状態を示している。
【００９８】
続くステップ２０４では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に記憶されている「ＰｒｏｇｒａｍＡ」の展開済データ（旧バージョン）が削除される。ここで、図１４（ｃ）は、「ＰｒｏｇｒａｍＡ」の展開済データの削除が行われた状態を示している。
【００９９】
「ＰｒｏｇｒａｍＡ」の削除が行われると、続くステップ２０５では、新バージョンとなった「ＰｒｏｇｒａｍＡ」の展開済データが、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２の空き容量以下となっているか否かが判断される。この例では、旧バージョンの「ＰｒｏｇｒａｍＡ」の展開済データが記憶されていた領域に隣接して「ＰｒｏｇｒａｍＡマージン」が設けられていることから、ステップ２０５において肯定の判断（ＹＥＳ）がなされることになる。
【０１００】
このため、続くステップ２０６では、ＲＯＭ５５の圧縮プログラム記憶領域Ａ０２に記憶されている新バージョンの「ＰｒｏｇｒａｍＡ」の圧縮プログラムが読み出されるとともに、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２のうち、旧バージョンの「ＰｒｏｇｒａｍＡ」が記憶されていた領域と「ＰｒｏｇｒａｍＡマージン」とに跨って、新バージョンの「ＰｒｏｇｒａｍＡ」の圧縮プログラムを展開して得られた新バージョンの「ＰｒｏｇｒａｍＡ」の展開済データが記憶される。続くステップ２０７では、この「ＰｒｏｇｒａｍＡ」の展開情報（データ種別：ＰｒｏｇｒａｍＡ、優先度：１、ｖｅｒ：１．０．１、展開場所：０ｘＸＸＸＸ）が、ＭＲＡＭ管理領域Ａ１１におけるＭＲＡＭ展開情報記憶領域Ａ１１１に記録されて、「ＰｒｏｇｒａｍＡ」に対する展開処理が完了する。ここで、図１４（ｄ）は、「ＰｒｏｇｒａｍＡ」に関する展開処理が終了した状態を示している。
【０１０１】
その後、展開対象が「ＦｏｎｔＡ」、「ＦｏｎｔＢ」そして「ＰｒｏｇｒａｍＢ」に変更されつつ、順次展開処理が行われ、全展開対象に対する展開処理が完了した後、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１にプログラム情報領域が確保されることにより、２回目の起動処理が完了する。
【０１０２】
このように、ＭＲＡＭデータ記憶領域Ａ１２において、各アプリケーションプログラムの展開済データに隣接してマージンを予め設けておくことにより、バージョンアップに伴ってデータサイズが増大した場合であっても、バージョンアップ後のアプリケーションプログラムの展開済データを、ＭＲＡＭデータ記憶領域Ａ１２に記憶させることが可能になる。このため、バージョンアップ後のアプリケーションプログラムの展開済データを、一旦、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に記憶させた後、再構築処理によってＭＲＡＭ５６側に書き戻さなくてもよくなる。
【０１０３】
＜２回目以降の終了処理の例＞
図１５は、２回目以降の終了処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の例を説明するための図である。
図１５（ａ）は、２回目以降の終了処理が開始される前の状態を示している。なお、この例では、１回目の起動処理において、「ＰｒｏｇｒａｍＡ」、「ＰｒｏｇｒａｍＢ」、そして「ＦｏｎｔＢ」の順番で、合計３つの展開処理が設定されているものとする。したがって、この例において「ＦｏｎｔＡ」は登場しない。また、この例では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＡ」の展開済データ、「ＰｒｏｇｒａｍＢ」の展開済データおよび「ＦｏｎｔＢ」の展開済データが記憶されており、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１における高速起動設定記憶領域Ａ１１３において設定情報が「無効」と設定されることで、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１にプログラム情報領域が確保されているものとする。
【０１０４】
ステップ３０１（図６参照）では、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１から、展開情報、予約情報および設定情報を含むＭＲＡＭ管理情報が取得される。なお、この終了処理において取得されるＭＲＡＭ管理情報は、図１５（ａ）に示した通りとなっている。
【０１０５】
次のステップ３０２では、ＭＲＡＭ管理情報に予約情報が存在していないことから、否定の判断（ＮＯ）がなされる。続くステップ３０４において、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に展開されているプログラム情報領域の容量が、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２の空き容量となっているか否かが判断される。この例では、ステップ３０４において肯定の判断（ＹＥＳ）がなされることにより、ステップ３０５において、ＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３に「有効」と記録が行われる。ここで、図１５（ｂ）は、今回の終了処理が完了した状態の一例を示している。なお、この終了処理の後に次の起動処理が実行された場合は、ステップ１０５（図４参照）において肯定の判断（ＹＥＳ）がなされることにより、図１５（ｃ）に示したように、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、プログラム情報領域が確保されることとなる。
【０１０６】
＜２回目以降の起動処理の例＞
図１６は、２回目以降の起動処理における、ＭＲＡＭ５６、ＤＲＡＭ５７およびＭＲＡＭ管理領域Ａ１１の状態の遷移の例を説明するための図である。
図１６（ａ）は、２回目以降の起動処理を実行している最中の状態を示している。なお、この例では、１回目の起動処理において、「ＰｒｏｇｒａｍＡ」、「ＰｒｏｇｒａｍＢ」、そして「ＦｏｎｔＢ」の順番で、合計３つの展開処理が設定されているものとする。したがって、この例において「ＦｏｎｔＡ」は登場しない。また、この例では、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２に、「ＰｒｏｇｒａｍＡ」の展開済データ、「ＰｒｏｇｒａｍＢ」の展開済データおよび「ＦｏｎｔＢ」の展開済データが記憶されており、ＭＲＡＭ５６のＭＲＡＭ管理領域Ａ１１における高速起動設定記憶領域Ａ１１３において設定情報が「有効」と設定されることで、ＭＲＡＭ５６のＭＲＡＭデータ記憶領域Ａ１２にプログラム情報領域が確保されているものとする。
【０１０７】
この場合において、図１６（ｂ）に示すように、実際に必要なプログラム情報領域の容量がＭＲＡＭデータ記憶領域Ａ１２に確保されているプログラム情報領域の容量を上回ると、ステップ１０５において否定の判断（ＮＯ）がなされる。すると、続くステップ１０６において、ＭＲＡＭ管理領域Ａ１１の高速起動設定記憶領域Ａ１１３に「無効」と記録が行われ、さらにステップ１０７においてＣＰＵリセットが行われることにより、再起動が実行されることになる。これにより、再起動後は、図１６（ｃ）に示すように、ＤＲＡＭ５７のＤＲＡＭデータ記憶領域Ａ２１に、プログラム情報領域が確保されることとなる。
【符号の説明】
【０１０８】
１…画像形成装置、２…ネットワーク、３…端末装置、４…ファクシミリ装置、５…サーバ装置、１０…画像読取部、２０…画像形成部、３０…ＵＩ、４０…送受信部、５０…制御部、５１…ＣＰＵ、５２…バスブリッジ、５３…メモリバス、５４…ＰＣＩバス、５５…ＲＯＭ、５６…ＭＲＡＭ、５７…ＤＲＡＭ、５８…クロックジェネレータ、５９…タイマ、６１…ＵＩＩＦ、６２…プリントＩＦ、６３…オプションＩＦ、６４…ネットワークＩＦ、６５…ＵＳＢＩＦ、７０…後処理装置、８０…カードリーダ、８１…メモリカード、Ａ０１…リセットベクタ記憶領域、Ａ０２…圧縮プログラム記憶領域、Ａ０３…空き領域、Ａ１１…ＭＲＡＭ管理領域、Ａ１２…ＭＲＡＭデータ記憶領域、Ａ２１…ＤＲＡＭデータ記憶領域、Ａ１１１…ＭＲＡＭ展開情報記憶領域、Ａ１１２…再構築予約記憶領域、Ａ１１３…高速起動設定記憶領域
【図１】
2014182666.tif 000003
【図２】
2014182666.tif 000004
【図３】
2014182666.tif 000005
【図４】
2014182666.tif 000006
【図５】
2014182666.tif 000007
【図６】
2014182666.tif 000008
【図７】
2014182666.tif 000009
【図８】
2014182666.tif 000010
【図９】
2014182666.tif 000011
【図１０】
2014182666.tif 000012
【図１１】
2014182666.tif 000013
【図１２】
2014182666.tif 000014
【図１３】
2014182666.tif 000015
【図１４】
2014182666.tif 000016
【図１５】
2014182666.tif 000017
【図１６】
2014182666.tif 000018