(57)【要約】【課題】消去できないデータの蓄積による揮発性メモリーでのプログラム用の記憶領域の不足レベルを判定し、処理速度の低下や異常停止を防ぐ。【解決手段】画像処理装置は、通知部、第１記憶部、第２記憶部、制御部を含む。通知部は通知を行う。第１記憶部は、プログラムとプログラムデータを不揮発的に記憶する。第２記憶部は、プログラムとプログラムデータを揮発的に記憶する。制御部は、プログラムデータを第２記憶部に消去させない。空き領域が予め定められた判定基準値以下のとき、第２記憶部に記憶されているプログラムの合計サイズ、又は、第１記憶部からのプログラムの読み出しに基づき、制御部は、メモリー不足のレベルを判定する。【選択図】図４
2019160018.tif 000002
【特許請求の範囲】
【請求項１】
通知を行う通知部と、
プログラムと前記プログラムで用いるプログラムデータを不揮発的に記憶する第１記憶部と、
前記プログラムと前記プログラムデータを揮発的に記憶する第２記憶部と、
ジョブ実行時、前記第１記憶部から読み出した前記プログラムと前記プログラムデータを前記第２記憶部に記憶させる制御部と、を含み、
前記制御部は、
読み出した前記プログラムデータを前記第２記憶部に消去させず、
前記プログラムの実行に新たな前記プログラムデータが必要な場合、前記第２記憶部に空き領域があれば前記第１記憶部から読み出した新たな前記プログラムデータを前記第２記憶部に記憶させ、前記空き領域がなければ前記プログラムを消去して、新たな前記プログラムデータを前記第２記憶部に記憶させ、
実行する前記プログラムが前記第２記憶部に記憶されている場合、前記第１記憶部から前記プログラムを読み出さず前記第２記憶部の前記プログラムに基づき処理を実行し、
実行する前記プログラムが前記第２記憶部に記憶されていない場合、前記第２記憶部に空き領域があれば前記第１記憶部から読み出した前記プログラムを前記空き領域に記憶させ、前記空き領域がなければ前記プログラムを消去して、読み出した前記プログラムを記憶させ、
前記空き領域が予め定められた判定基準値以下のとき、前記第２記憶部に記憶されている前記プログラムの合計サイズ、又は、前記第１記憶部からの前記プログラムの読み出しに基づき、メモリー不足のレベルを判定し、判定結果に基づき、再起動を促す助言メッセージを前記通知部に通知させることを特徴とする画像処理装置。
【請求項２】
前記制御部は、
前記合計サイズを認識し、
前記合計サイズが予め定められた第１閾値以下かつ予め定められた第２閾値を超えているとき、軽度のメモリー不足と判定し、
前記合計サイズが前記第２閾値以下のとき、重度のメモリー不足と判定し、
前記第１閾値は、前記第２閾値よりも大きいことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、
ジョブ実行開始から完了までの前記第１記憶部からの前記プログラムの読み出し時間の合計時間を測り、
今回のジョブの前記合計時間が予め定められた基準時間を超えている場合、
前回のジョブと今回のジョブの種類が同じとき、重度のメモリー不足と判定し、
今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかで今回のジョブと同じ種類のジョブを実行しているとき、軽度のメモリー不足と判定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記制御部は、
ジョブ実行開始から完了までの間に、複数の前記プログラムのうち、予め定められた特定プログラムの読み出し回数を数え、
今回のジョブの前記読み出し回数が予め定められた基準回数を超えている場合、
前回のジョブと今回のジョブの種類が同じとき、重度のメモリー不足と判定し、
今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかで今回のジョブと同じ種類のジョブを実行しているとき、軽度のメモリー不足と判定し、
前記特定プログラムは、ジョブの実行時に必ず利用されるプログラムの一部、又は、全てであることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
メッセージを表示する表示パネルを含む操作パネルを備え、
前記制御部は、
軽度のメモリー不足と判定したとき、管理者に向けて前記助言メッセージを前記通知部に送信させ、
重度のメモリー不足と判定したとき前記助言メッセージを前記表示パネルに表示させることを特徴とする請求項２乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記制御部は、重度のメモリー不足と判定しているとき、ジョブを開始しないことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
メッセージを表示する表示パネルを含み、使用者の操作を受け付ける前記操作パネルを備え、
前記制御部は、
重度のメモリー不足と判定している場合、前記操作パネルがジョブの種類を選択する操作を受け付けたとき、前記助言メッセージを前記表示パネルに表示させることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムやデータを不揮発性記憶装置から揮発性記憶装置に読み出す画像処理装置に関する。
【背景技術】
【０００２】
不揮発性メモリーにデータやプログラムを記憶することがある。実行するプログラムやデータが、揮発性メモリーに読み出される。制御回路は、読み出されたプログラムやデータを用いて処理を行う。処理完了後、データやプログラムを消去せず、蓄えておく（キャッシュしておく）ことがある。これにより、不揮発性メモリーからの読み出しを減らすことができる。高速に処理を行うことができる。データキャッシュに関する技術の一例が特許文献１に記載されている。
【０００３】
特許文献１には、第１バスラインに接続され、プログラムを実行してデータを演算するプロセッサ部と、第１バスラインと異なる第２のバスラインに接続され、プロセッサ部で用いられるプログラム及びデータを格納する主メモリー回路と、第１バスラインに接続され、プロセッサ部で用いられるデータの一部が書き込まれると共に、書き込まれたデータヘのアクセスが優先的に行われる第１キャッシュメモリー回路と、第１バスラインに接続され、第１キャッシュメモリー回路よりも小さい記憶容量を有し、第１キャッシュメモリー回路の記憶容量が不足した際に、第１キャシュメモリー回路でのデータ上書きにより消去されるデータ及び第１キャッシュメモリー回路から主メモリー回路に書き戻すデータが一時的に書き込まれると共に、書き込まれたデータへのアクセスが可能な第２キャッシュメモリー回路と、を具備する半導体集積回路が記載されている。第２のキャッシュメモリー回路を設けることにより、リフィルに伴う読み込み動作による遅延を避けようとする。（特許文献１：請求項１、段落［００１９］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６０３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
処理後、不揮発性メモリーから読み出したプログラムを揮発性メモリーで保持しておく（キャッシュ）しておく場合がある。次に実行するプログラムが揮発性メモリーに記憶されている場合、不揮発性メモリーからプログラムを読み出さずにすむ。プログラムを揮発性メモリーに用意する（読み出す）時間が不要となる。高速に処理を行うことができる。
【０００６】
また、プログラムで使用したデータのうち、揮発性メモリーから特定のデータを消去しないようにすることがある（消去不可データ）。揮発性メモリーの空き領域がなくなっても、消去不可データは消去されない。消去不可データは揮発性メモリーに溜まってゆく。消去不可データの合計サイズが次第に大きくなる。揮発性メモリーの容量は有限である。そのため、消去不可データが増えるに従い、プログラム実行領域（プログラムを記憶させるための領域）が小さくなる。プログラム実行領域が小さいと、揮発性メモリーでのプログラムの消去と、不揮発性メモリーからのプログラムの読み出しの頻度が高くなる。言い換えると、揮発性メモリーにキャッシュされたプログラムのヒット率が低下する。その結果、処理速度が低下する。ジョブが停止するほど、プログラム実行領域が小さくなりすぎる場合もあり得る。このように、揮発性メモリーでの消去不可データの蓄積により、性能低下や処理の停止が生ずる場合があるという問題がある。
【０００７】
特許文献１は、セカンドキャッシュを設けることにより、データ読み出しを減らす技術である。特許文献１には、消去できないデータの蓄積により、揮発性メモリーでのプログラムを実行するための記憶領域が少なくなる点についての記載はない。従って、上記の問題を解決することはできない。
【０００８】
従来技術の問題点に鑑み、本発明は、消去できないデータの蓄積による揮発性メモリーでのプログラム用の記憶領域の不足レベルを判定し処理速度の低下や異常停止を防ぐ。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理装置は、通知部、第１記憶部、第２記憶部、制御部を含む。前記通知部は通知を行う。前記第１記憶部は、プログラムと前記プログラムで用いるプログラムデータを不揮発的に記憶する。前記第２記憶部は、前記プログラムと前記プログラムデータを揮発的に記憶する。前記制御部は、ジョブ実行時、前記第１記憶部から読み出した前記プログラムと前記プログラムデータを前記第２記憶部に記憶させる。前記制御部は、読み出した前記プログラムデータを前記第２記憶部に消去させない。前記プログラムの実行に新たな前記プログラムデータが必要な場合、前記制御部は、前記第２記憶部に空き領域があれば前記第１記憶部から読み出した新たな前記プログラムデータを前記第２記憶部に記憶させ、前記空き領域がなければ前記プログラムを消去して、新たな前記プログラムデータを前記第２記憶部に記憶させる。実行する前記プログラムが前記第２記憶部に記憶されている場合、前記制御部は、前記第１記憶部から前記プログラムを読み出さず前記第２記憶部の前記プログラムに基づき処理を実行する。実行する前記プログラムが前記第２記憶部に記憶されていない場合、前記制御部は、前記第２記憶部に空き領域があれば前記第１記憶部から読み出した前記プログラムを前記空き領域に記憶させ、前記空き領域がなければ前記プログラムを消去して、読み出した前記プログラムを記憶させる。前記空き領域が予め定められた判定基準値以下のとき、前記第２記憶部に記憶されている前記プログラムの合計サイズ、又は、前記第１記憶部からの前記プログラムの読み出しに基づき、前記制御部は、メモリー不足のレベルを判定する。前記制御部は、判定結果に基づき、再起動を促す助言メッセージを前記通知部に通知させる。
【発明の効果】
【００１０】
本発明によれば、消去不可データの蓄積による揮発性メモリーでのプログラム用の記憶領域の不足を検知することができる。処理速度の低下や異常停止を防ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る複合機の一例を示す図である。
【図２】実施形態に係る第１記憶部と第２記憶部の記憶内容の一例を示す図である。
【図３】実施形態に係るプログラムの一例を示す。
【図４】実施形態に係る複合機での処理の流れの一例を示す図である。
【図５】実施形態に係る複合機でのレベル判定処理の一例を示す図である。
【図６】実施形態に係る複合機でのレベル判定処理の一例を示す図である。
【図７】実施形態に係る複合機でのレベル判定処理の一例を示す図である。
【図８】実施形態に係る複合機でのジョブの実行禁止の一例を示す図である。
【図９】実施形態に係るホーム画面の一例を示す。
【発明を実施するための形態】
【００１２】
以下、図１〜図９を用いて、本発明の実施形態を説明する。以下の説明では、画像処理装置として複合機１００を例に挙げて説明する。複合機１００は、例えば、コピージョブ、プリントジョブ、送信ジョブを行える。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１３】
（複合機１００の構成）
図１を用いて、実施形態に係る複合機１００（画像形成装置）の概要を説明する。図１は実施形態に係る複合機１００の一例を示す図である。
【００１４】
複合機１００は、制御部１と記憶部２を含む。制御部１は複合機１００の各部を制御する。制御部１は、制御回路１１、画像処理回路１２を含む。制御回路１１は制御に関する演算、処理を行う。制御回路１１は、例えば、ＣＰＵである。画像処理回路１２は画像データに関する処理を行う。
【００１５】
記憶部２は、第１記憶部２１と第２記憶部２２を含む。第１記憶部２１は、不揮発性の記憶装置を含む。第１記憶部２１は、例えば、ＲＯＭである。ＲＯＭは、例えば、フラッシュＲＯＭである。また、第１記憶部２１は、ストレージを含んでもよい。例えば、第１記憶部２１は、ＨＤＤやＳＳＤを含んでもよい。制御部１（制御回路１１）は、第１記憶部２１の読出と書込を制御する。第１記憶部２１は、ソフトウェア、プログラム９、データを不揮発的に記憶する。
【００１６】
また、第２記憶部２２は揮発性の記憶装置である。第２記憶部２２は、例えば、ＲＡＭである。また、制御部１（制御回路１１）は、第２記憶部２２の読出と書込を制御する。制御部１は、第１記憶部２１から第２記憶部２２に読み出されたソフトウェア、プログラム９、データに基づき処理を行う。
【００１７】
複合機１００は原稿搬送部３ａと画像読取部３ｂを含む。原稿搬送部３ａは、セットされた原稿を１枚ずつ、自動的に搬送する。制御部１は、読み取り位置（搬送読取用コンタクトガラス）に向けて原稿を原稿搬送部３ａに搬送させる。送り出された原稿は、画像読取部３ｂの上面に設けられた搬送読取用コンタクトガラスの上面を通過する。画像読取部３ｂは載置読取用コンタクトガラスを含む。制御部１は、搬送原稿、又は、載置読取用コンタクトガラスにセットされた原稿を画像読取部３ｂに読み取らせる（スキャンさせる）。画像読取部３ｂは読み取った原稿の画像データを生成する。生成された画像データは、記憶部２に不揮発的に記憶される。
【００１８】
複合機１００は操作パネル４を含む。操作パネル４は表示パネル４１（通知部に相当）、タッチパネル４２、ハードキー４３を含む。制御部１は画面を表示パネル４１に表示させる。また、制御部１は操作用画像を表示パネル４１に表示させる。操作用画像は、例えば、ボタン、ソフトキー、タブ、スイッチである。表示パネル４１にはタッチパネル４２が設けられる。タッチパネル４２は、使用者がタッチした位置（座標）を検知する。タッチパネル４２の出力に基づき、制御部１は操作された操作用画像を認識する。表示パネル４１（タッチパネル４２）を操作することにより、各種設定を行うことができる。また、ハードキー４３を複数設けることができる（例えば、スタートキーやキャンセルキー）。
【００１９】
複合機１００は印刷部５を含む。印刷部５は、給紙部５ａ、用紙搬送部５ｂ、画像形成部５ｃ、定着部５ｄを含む。印刷部５は、用紙を給紙、搬送し、トナー像を用紙に印刷する。印刷ジョブのとき、制御部１は印刷部５を制御する。印刷ジョブのとき、制御部１は、給紙部５ａに用紙を供給させる。制御部１は、用紙を用紙搬送部５ｂに搬送させる。制御部１は画像データに基づく画像（トナー像）を画像形成部５ｃに形成させる。制御部１は、搬送される用紙へのトナー像の転写を画像形成部５ｃに行わせる。制御部１は、トナー像の用紙の定着を定着部５ｄに行わせる。
【００２０】
複合機１００は通信部１４（通知部に相当）を含む。通信部１４は、制御部１と通信可能に接続される。通信部１４は、ネットワークや通信網を介して、コンピューター２００やＦＡＸ装置３００と通信する。コンピューター２００は、例えば、ＰＣやサーバーである。通信部１４は、コンピューター２００から印刷用データを受信する。また、通信部１４は、ＦＡＸ装置３００からＦＡＸデータを受信する。
【００２１】
（第１記憶部２１と第２記憶部２２の記憶内容）
次に、図２、図３を用いて、実施形態に係る第１記憶部２１と第２記憶部２２の記憶内容の一例を説明する。図２は、実施形態に係る第１記憶部２１と第２記憶部２２の記憶内容の一例を示す図である。図３は、実施形態に係るプログラム９の一例を示す。
【００２２】
第１記憶部２１はソフトウェアを不揮発的に記憶する。図２に示すように、第１記憶部２１は例えば、起動用ソフトウェア２３、印刷用ソフトウェア２４、スキャン用ソフトウェア２５、通信用ソフトウェア２６、表示制御用ソフトウェア２７、ブラウザーソフトウェア２８、拡張ソフトウェア２９を含む。各ソフトウェアは複数のプログラム９を含む。
【００２３】
起動用ソフトウェア２３は、起動時の処理に関するソフトウェアである。制御部１は、起動用ソフトウェア２３を用いて、各部分の初期化や、各部分との通信確立を行う。印刷用ソフトウェア２４は印刷部５の制御に関するソフトウェアである。印刷用ソフトウェア２４により、印刷機能が実現される。スキャン用ソフトウェア２５は原稿搬送部３ａ、画像読取部３ｂの制御に関するソフトウェアである。スキャン用ソフトウェア２５により、原稿読み取り機能が実現される。通信用ソフトウェア２６は、通信部１４の制御に関するソフトウェアである。通信用ソフトウェア２６により、送受信機能が実現される。
【００２４】
表示制御用ソフトウェア２７は、表示パネル４１の表示を制御するためのソフトウェアである。ブラウザーソフトウェア２８は、ネットワーク上のウェブページの情報を表示パネル４１に表示するための閲覧ソフトである。ブラウザーソフトウェア２８に基づき、制御部１は、表示パネル４１に画面を表示させる。拡張ソフトウェア２９は、標準搭載されないソフトウェアである。拡張ソフトウェア２９は使用者により第１記憶部２１に新たに（追加的に）インストールされたソフトウェアである。拡張ソフトウェア２９は、複合機１００の機能を拡張するためのソフトウェア（アプリケーション）である。
【００２５】
コピージョブのとき、スキャン用ソフトウェア２５と印刷用ソフトウェア２４に含まれるプログラム９を用いて、制御部１は処理を行う。制御部１は原稿を画像読取部３ｂに読み取らせる。制御部１は画像データを画像読取部３ｂに生成させる。制御部１は、生成された画像データの画像処理を画像処理回路１２に行わせる。制御部１は画像処理後の画像データに基づく印刷を印刷部５に行わせる。
【００２６】
プリントジョブのとき、通信用ソフトウェア２６と印刷用ソフトウェア２４に含まれるプログラム９を用いて、制御部１は処理を行う。制御部１は、コンピューター２００から送信された印刷用データを通信部１４に受信させる。制御部１は、受信した印刷用データに基づき、画像データを画像読取部３ｂに生成させる。印刷用データは、例えば、ページ記述言語（ＰＤＬ）で記述されたデータである。制御部１は、印刷用データを解析し、ラスターイメージ（ビットマップ画像）を画像データとして生成させる。制御部１は、画像データの画像処理を画像処理回路１２に行わせる。制御部１は、画像処理後の画像データに基づく印刷を印刷部５に行わせる。
【００２７】
送信ジョブのとき、スキャン用ソフトウェア２５と通信用ソフトウェア２６に含まれるプログラム９を用いて、制御部１は処理を行う。原稿を画像読取部３ｂに読み取らせる。制御部１は、画像データを画像読取部３ｂに生成させる。制御部１は、生成された画像データの画像処理を画像処理回路１２に行わせる。例えば、画像処理回路１２は、操作パネル４で設定された形式の画像データを生成する。制御部１は、操作パネル４で設定された宛先（コンピューター２００）に向けて、生成した画像データを通信部１４に送信させる。
【００２８】
図３に示すように、各ソフトウェアは、複数のプログラム９（ファイル、コード）を含む。各ソフトウェアは、プログラム９とプログラム９に対応するプログラムデータ９０を含む。プログラムデータ９０は、例えば、プログラム９で用いられる変数である。例えば、変数には、グローバル変数がある。変数は、固有の名前が付されたデータである。変数は、プログラム９（コード）に代入されるデータである。制御部１は、変数を用いてプログラム９（コード）を実行する。
【００２９】
１つのソフトウェアは、複数のプログラム９（コード）を含む。例えば、機能や項目単位でプログラム９が作成される。それぞれのプログラム９とプログラムデータ９０は、圧縮された状態で第１記憶部２１に格納される。ジョブを実行するとき、制御部１は、使用する設定がなされた機能を実現するためのプログラム９とプログラムデータ９０を、解凍しつつ、第１記憶部２１から第２記憶部２２に読み出す。制御部１は、読み出されたプログラム９とプログラムデータ９０を用いて、処理（ジョブ）を実行する。
【００３０】
第２記憶部２２は、ジョブに使用する画像データ及びジョブの実行に必要なソフトウェアを記憶する。第２記憶部２２の記憶領域内には、第１領域８ａと第２領域８ｂが設けられる。起動時、制御部１は、第２記憶部２２に記憶された起動用ソフトウェア２３を実行する。例えば、複合機１００の電源が投入されたとき、又は、スリープモード（省電力モード）から復帰したとき、起動用ソフトウェア２３が実行される。起動用ソフトウェア２３に基づき、制御部１は起動処理を実行する。起動処理のとき、制御部１は第２記憶部２２の記憶領域を区分けする（パーティションを行う）。
【００３１】
第１領域８ａは、ソフトウェアの実行に必要なデータが記憶される領域である。また、第１領域８ａはソフトウェアが実行される領域である。第２記憶部２２の第１領域８ａは、例えば、カーネル８０（ＯＳ）、ヒープメモリー８１、スタックメモリー８２、共有メモリー８３、プログラムデータ領域８５、プログラムキャッシュ領域８６を含む。起動用ソフトウェア２３により、カーネル８０が第１領域８ａに生成される。カーネル８０（カーネル空間）は第２記憶部２２の動作を管理する。カーネル８０は、例えば、デバイスドライバー、ファイルシステム、ネットワークプロトコルを含む。
【００３２】
ヒープメモリー８１は、第１領域８ａに記憶されたプログラム９が処理実行時に確保するメモリー領域である。スタックメモリー８２は、次の関数、命令に関する情報を記憶させるメモリー領域である。共有メモリー８３は、複数のソフトウェア間で共用されるメモリー領域である。ヒープメモリー８１、スタックメモリー８２、共有メモリー８３は、各ソフトウェア（プログラム９）が用いるメモリー領域である。
【００３３】
共有メモリー８３は管理情報８４を記憶する。管理情報８４は、ジョブを管理するための情報と、ジョブに含まれる各ページを管理するための情報を含む。ジョブを管理するための情報は、例えば、ジョブの種類、ジョブのページ数、ジョブの設定情報、ジョブの進行状況といった情報を含む。各ページを管理するための情報は、ジョブの種類、ページの順番、ページで行うべき画像処理、ページの処理状況といった情報を含む。例えば、カーネル８０、ヒープメモリー８１、スタックメモリー８２、共有メモリー８３のサイズは、固定される。
【００３４】
第１領域８ａのうち、カーネル８０（ＯＳ）、ヒープメモリー８１、スタックメモリー８２、共有メモリー８３以外の記憶領域が、プログラムデータ領域８５又はプログラムキャッシュ領域８６とされる。プログラムキャッシュ領域８６（プログラム９実行領域）は、第１記憶部２１から読み出されたプログラム９が記憶される領域である。プログラムキャッシュ領域８６のサイズは固定されない。
【００３５】
プログラムデータ領域８５は、第１記憶部２１から読み出されたプログラムデータ９０が記憶される領域である。プログラムデータ領域８５のサイズも固定されていない。プログラム９とプログラムデータ９０が読み出されるごとに、プログラムデータ領域８５のサイズは次第に大きくなる。第２記憶部２２、第１領域８ａのサイズは決まっている。プログラムデータ領域８５が大きくなった分、プログラムキャッシュ領域８６のサイズが小さくなる。
【００３６】
第２領域８ｂは、ジョブに使用する画像データが記憶される領域である。第２領域８ｂには、第３領域８７（複数部処理用領域）、第４領域８８（ビデオ領域）、第５領域８９（ＲＩＰ領域）が設けられる。起動処理のとき、制御部１は、第３領域８７、第４領域８８、及び、第５領域８９を第２領域８ｂ内に設定する（パーティションを行う）。第３領域８７は、複数部ジョブ用の領域である。第４領域８８は、画像処理がなされた画像データを記憶する領域である。第５領域８９は、ページ記述言語で記述されたページを画像データに変換するために使用される領域である。
【００３７】
（処理の流れ）
次に、図４を用いて、実施形態に係る複合機１００での処理の流れの一例を説明する。図４は、実施形態に係る複合機１００での処理の流れの一例を示す図である。
【００３８】
図４のスタートは、処理を開始する時点である。例えば、ジョブを開始する時点である。まず、制御部１は、次に実行するプログラム９（ファイル）が第２記憶部２２に既に読み出されているか（記憶しているか）否かを確認する（ステップ♯１１）。読み出されていないとき（ステップ♯１１のＮｏ）、制御部１は、第２記憶部２２に空き領域があるか否かを確認する（ステップ♯１２）。具体的に、制御部１は、次に実行するプログラム９（ファイル）を記憶できるだけの未使用領域があるか否かを確認する。
【００３９】
空き領域がない場合（ステップ♯１２のＮｏ）、制御部１は、第２記憶部２２のプログラム９の一部を消去する（ステップ♯１３）。言い換えると、制御部１は、プログラムキャッシュ領域８６の一部を開放する。制御部１は、所定のアルゴリズムに基づき、第２記憶部２２に記憶されるプログラム９のうち、消去するプログラム９を選択する。例えば、制御部１は、第２記憶部２２のプログラム９のうち、最も古いプログラム９を消去する。アルゴリズムは、上記に限られない。空き領域がある場合（ステップ♯１２のＹｅｓ）、又は、プログラム９の一部消去後（ステップ♯１３）、制御部１は、第１記憶部２１から次に実行するプログラム９とプログラムデータ９０を読み出し、記憶させる（ステップ♯１４）。
【００４０】
次に、制御部１は、次に実行するプログラム９（ファイル）に対応するプログラムデータ９０が第２記憶部２２に既に読み出されているか（記憶しているか）否かを確認する（ステップ♯１５）。読み出されていないとき（ステップ♯１５のＮｏ）、制御部１は、第２記憶部２２に空き領域があるか否かを確認する（ステップ♯１６）。具体的に、制御部１は、次に実行するプログラム９（ファイル）に対応するプログラムデータ９０を記憶できるだけの未使用領域があるか否かを確認する。
【００４１】
空き領域がない場合（ステップ♯１６のＮｏ）、制御部１は、第２記憶部２２のプログラム９の一部を消去する（ステップ♯１７）。言い換えると、プログラムデータ９０の記憶のため、制御部１は、プログラムキャッシュ領域８６の一部を開放する。制御部１は、空き領域を確保するために、プログラムデータ９０を消去しない。空き領域がある場合（ステップ♯１６のＹｅｓ）、又は、プログラム９の一部消去後（ステップ♯１７）、制御部１は、第１記憶部２１から次に実行するプログラム９に対応するプログラムデータ９０を読み出し、記憶させる（ステップ♯１８）。
【００４２】
実行するプログラム９（ファイル）が第２記憶部２２に既に読み出されている場合（ステップ♯１１のＹｅｓ）、次に実行するプログラム９（ファイル）に対応するプログラムデータ９０が第２記憶部２２に既に読み出されている場合（ステップ♯１５のＹｅｓ）、又は、ステップ♯１８の後、制御部１は、プログラム９を実行する（ステップ♯１９）。そして、制御部１は、ジョブ（処理）で実行するプログラム９の全てを実行したか否かを確認する（ステップ♯１１０）。言い換えると、制御部１は、ジョブが完了したか否かを確認する。ジョブで実行すべき全てのプログラム９を実行したとき（ステップ♯１１０のＹｅｓ）、本フローは終了する（エンド）。処理で実行すべきプログラム９が残っているとき（ステップ♯１１０のＮｏ）、フローはステップ♯１１に戻る。
【００４３】
複合機１００では、再起動（リセット）されない限り、第２記憶部２２のプログラムデータ９０（変数）は消去されない。また、第２記憶部２２に記憶されていないプログラムデータ９０は、読み出される。新たなプログラムデータ９０が読み出されるたびに、新たなプログラムデータ９０が第２記憶部２２に記憶される。ジョブの実行を繰り返すと、プログラムデータ９０の合計が増大する。新たなプログラム９を実行するたびに、プログラム９用の記憶領域（プログラムキャッシュ領域８６）が次第に小さくなる。
【００４４】
プログラム９用の記憶領域が小さくなると、第１記憶部２１からのプログラム９の読み出し回数が多くなる。第２記憶部２２にプログラム９が用意されるまでの制御部１の待ち時間が長くなる。その結果、処理速度が低下する。さらに、ジョブを実行できないほど（停止するほど）、プログラムキャッシュ領域８６が小さくなることもある。そこで、制御部１は、プログラムキャッシュ領域８６の容量不足（メモリー不足）のレベルを判定する。制御部１は、複数種の判定処理を行える。以下、メモリー不足のレベルの判定の流れの一例を説明する。
【００４５】
（第１判定処理）
次に、図５を用いて、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を説明する。図５は、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を示す図である。
【００４６】
まず、第１判定処理の一例を説明する。第１判定処理では、第２記憶部２２に記憶されているプログラム９の合計サイズに基づき、メモリー不足のレベルを判定する。図５のスタートは、第１判定処理を開始する時点である。第１判定処理は、例えば、コピージョブ、プリントジョブ、送信ジョブのようなジョブの完了時に行うことができる。また、省電力モードに移行するときに制御部１は、第１判定処理を行ってもよい。
【００４７】
まず、制御部１は、空き領域のサイズが判定基準値７０以下か否かを確認する（ステップ♯２１）。十分な空き領域がある場合、メモリー不足のレベル判定を行う必要はないためである。また、判定基準値７０による判定により、複合機が起動してすぐの合計サイズが小さい状態で、メモリー不足と誤判定することを防ぐことができる。
【００４８】
判定基準値７０は予め定められる。判定基準値７０は、第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１の判定基準値７０を参照する。判定基準値７０は、ジョブを実行するのに十分な空き領域のサイズとできる。例えば、判定基準値７０は後述の第１閾値７１と同じ値とできる。また、判定基準値７０は、後述の第１閾値７１に所定のマージンを加算した大きさでもよい。所定のマージンは、例えば、数Ｍバイト〜数十Ｍバイトとできる。
【００４９】
空き領域のサイズが判定基準値７０を超えているとき（ステップ♯２１のＮｏ）、本フローは終了する（エンド）。空き領域のサイズが判定基準値７０以下のとき（ステップ♯２１のＹｅｓ）、制御部１は、合計サイズを認識する（ステップ♯２２）。合計サイズは、第２記憶部２２に記憶されているプログラム９（ファイル）のサイズの合計値である。言い換えると、制御部１は、プログラムキャッシュ領域８６のサイズを認識する。
【００５０】
制御部１は合計サイズが予め定められた第１閾値７１以下か否かを確認する（ステップ♯２３）。第１閾値７１は、第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１の第１閾値７１を参照する。例えば、ジョブ開始から終了までの目標時間が予め定められる。目標時間は、仕様上のジョブ実行速度に基づき定めることができる。第１閾値７１は、ジョブ開始から終了までの時間が目標時間となる合計値の最小値とすることができる。第１閾値７１は、プログラム９の消去とプログラム９の読み出しの繰り返しにより、ジョブの遅延が生じ始めるプログラムキャッシュ領域８６のサイズとできる。
【００５１】
第１閾値７１は、実験（テスト）により定めてもよい。例えば、予め定められた設定（基本設定）のジョブを目標時間で実行できる合計値の最小値（第１最小値）を確認する。ジョブの種類（コピー、プリント、送信ジョブ）ごとに、第１最小値を求めてもよい。求められた第１最小値のうち、制御部１は、最も大きい又は最も小さい第１最小値を第１閾値７１としてもよい。
【００５２】
合計サイズが第１閾値７１を超えている場合（ステップ♯２３のＮｏ）、制御部１は、メモリー不足の状態ではないと判定する（ステップ♯２４）。そして、本フローは終了する。一方、合計サイズが第１閾値７１以下のとき（ステップ♯２３のＹｅｓ）、制御部１は、合計サイズが第２閾値７２以下であるか否かを確認する（ステップ♯２５）。
【００５３】
第２閾値７２は予め定められる。第２閾値７２は、第１閾値７１よりも小さい。第２閾値７２は、ジョブを実行した場合、ジョブが停止するほど、プログラムキャッシュ領域８６が不足していることを認識するための値である。第２閾値７２は、第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１の第２閾値７２を参照する。
【００５４】
第２閾値７２は、実験（テスト）により定めてもよい。例えば、設定（基本設定）のジョブが停止しない合計値の最小値（第２最小値）を確認する。ジョブの種類（コピー、プリント、送信ジョブ）ごとに、第２最小値を求めてもよい。求められた第２最小値のうち、制御部１は、最も大きい又は最も小さい第２最小値を第２閾値７２としてもよい。言い換えると、システムが破綻するプログラムキャッシュ領域８６のサイズを第２閾値７２とすることができる。
【００５５】
合計サイズが第２閾値７２を超えているとき（ステップ♯２５のＮｏ）、制御部１は、軽度のメモリー不足と判定する（ステップ♯２６）。合計サイズが第２閾値７２以下のとき（ステップ♯２５のＹｅｓ）、制御部１は、重度のメモリー不足と判定する（ステップ♯２７）。
【００５６】
軽度のメモリー不足と判定したとき（ステップ♯２６）、制御部１は、管理者のコンピューター２００に向けて、助言メッセージＭ１を通知部に送信させる（ステップ♯２８）。管理者は、複合機１００の管理権限を有する者である。軽度のメモリー不足と判定したとき、限られた通知対象にのみ、制御部１は、助言メッセージＭ１を通知する。一方、重度のメモリー不足と判定したとき（ステップ♯２７）、制御部１は、助言メッセージＭ１を表示パネル４１に表示させる（ステップ♯２９）。助言メッセージＭ１の通知先の限定が解除される。なお、重度のメモリー不足と判定したときにも、制御部１は、管理者のコンピューター２００に向けて、助言メッセージＭ１を通知部に送信させてもよい。
【００５７】
助言メッセージＭ１は、複合機１００の再起動を促すメッセージである（図９参照）。助言メッセージＭ１を受信したとき、管理者のコンピューター２００は、そのディスプレイに、助言メッセージＭ１を表示させる。また、重度のメモリー不足と判定したとき、制御部１は、表示パネル４１に助言メッセージＭ１を表示させる。助言メッセージＭ１は、例えば、「メモリー不足です。複合機１００を再起動して下さい」のような再起動を促す文章（文字列）を含む。警告のため、制御部１は、文章を点滅させてもよい。また、制御部１は、文字色を赤色としてもよい。
【００５８】
再起動されれば、第２記憶部２２のプログラムデータ９０（変数）を減らすことができる。ステップ♯２８、ステップ♯２９により、本フローは終了する（エンド）。
【００５９】
（第２判定処理）
次に、図６を用いて、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を説明する。図６は、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を示す図である。
【００６０】
次に、第２判定処理の一例を説明する。第２判定処理では、ジョブ実行開始から完了までの第１記憶部２１からのプログラム９の読み出し時間の合計時間に基づき、メモリー不足のレベルを判定する。図６のスタートは、第２判定処理を開始する時点である。第２判定処理は、例えば、コピージョブ、プリントジョブ、送信ジョブのようなジョブの開始時に開始できる。
【００６１】
まず、制御部１は、空き領域のサイズが判定基準値７０以下か否かを確認する（ステップ♯３１）。判定基準値７０による判定により、複合機が起動し、プログラムキャッシュ領域が小さい段階で、メモリー不足と誤判定することを防ぐことができる。
【００６２】
空き領域のサイズが判定基準値７０を超えているとき（ステップ♯３１のＮｏ）、本フローは終了する（エンド）。空き領域のサイズが判定基準値７０以下のとき（ステップ♯３１のＹｅｓ）、制御部１は合計時間を測る（ステップ♯３２）。合計時間は、ジョブ実行開始から完了までの第１記憶部２１からのプログラム９の読み出し時間の合計である。プログラムデータ領域８５が大きいとき、プログラムキャッシュ領域８６の開放と、プログラム９の読み出しが増える。ジョブ中のプログラム９の読み出し時間が長くなることに基づき、プログラムキャッシュ領域８６が小さくなっているか否かを判定する。
【００６３】
制御部１は合計時間が基準時間７３を超えているか否かを確認する（ステップ♯３３）。基準時間７３は第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１の基準時間７３を参照する。基準時間７３は、適宜定められる。基準時間７３は、例えば、１〜数秒の範囲のうち、何れかの時間とできる。基準時間７３は、プログラム９とプログラムデータ９０の読み出しが頻繁に行われたか否かを判定するための時間である。
【００６４】
合計時間が基準時間７３以下のとき（ステップ♯３３のＮｏ）、制御部１は、メモリー不足の状態ではないと判定する（ステップ♯３４）。そして、本フローは終了する（エンド）。合計時間が基準時間７３を超えているとき（ステップ♯３３のＹｅｓ）、制御部１は、前回のジョブと今回のジョブの種類が同じか否かを確認する（ステップ♯３５）。今回のジョブとは、ステップ♯３２で合計時間を測ったジョブである。例えば、前回のジョブがコピージョブであり、今回のジョブもコピージョブのとき、制御部１は、ステップ♯３５をＹｅｓと判定する。
【００６５】
前回のジョブと今回のジョブの種類が同じ種類のとき（ステップ♯３５のＹｅｓ）、制御部１は、重度のメモリー不足と判定する（ステップ♯３６）。同種のジョブを連続して実行しているのに、頻繁にプログラム９が読み出されている場合、ジョブ実行中に、プログラムキャッシュ領域８６の開放が繰り返されたと認められるためである。
【００６６】
前回のジョブと今回のジョブの種類が同じ種類ではないとき（ステップ♯３５のＮｏ）、制御部１は今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかが今回のジョブと同じ種類のジョブか否かを確認する（ステップ♯３７）。所定回数は、１回〜数回とできる。例えば、制御部１は、前々回と、３回前のジョブの種類が、今回のジョブの種類と同じか否かを確認する。今回のジョブがプリントジョブであり、前々回のジョブもプリントジョブのとき、制御部１は、ステップ♯３７をＹｅｓと判定する。
【００６７】
ステップ♯３７がＮｏの場合、フローは、ステップ♯３４に進む。ステップ♯３７がＹｅｓの場合、制御部１は、軽度のメモリー不足と判定する（ステップ♯３８）。重度のメモリー不足と判定したとき（ステップ♯３６）、制御部１は、助言メッセージＭ１を表示パネル４１に表示させる（ステップ♯３９）。軽度のメモリー不足と判定したとき（ステップ♯３８）、制御部１は、管理者のコンピューター２００に向けて、助言メッセージＭ１を通知部に送信させる（ステップ♯３１０）。ステップ♯３９とステップ♯３１０は、図５のステップ♯２８、ステップ♯２９と同様である。ステップ♯３９、ステップ♯３１０により、本フローは終了する（エンド）。
【００６８】
（第３判定処理）
次に、図７を用いて、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を説明する。図７は、実施形態に係る複合機１００でのメモリー不足のレベル判定処理の一例を示す図である。
【００６９】
第３判定処理の一例を説明する。第３判定処理では、ジョブ実行開始から完了までに第１記憶部２１からのプログラム９が読み出された回数に基づき、メモリー不足のレベルを判定する。図７のスタートは第３判定処理を開始する時点である。第３判定処理は、例えば、コピージョブ、プリントジョブ、送信ジョブのようなジョブの開始時に開始できる。
【００７０】
まず、制御部１は、空き領域のサイズが判定基準値７０以下か否かを確認する（ステップ♯４１）。判定基準値７０による判定により、複合機が起動し、プログラムキャッシュ領域が小さい段階で、メモリー不足と誤判定することを防ぐことができる。
【００７１】
空き領域のサイズが判定基準値７０を超えているとき（ステップ♯４１のＮｏ）、本フローは終了する（エンド）。空き領域のサイズが判定基準値７０以下のとき（ステップ♯４１のＹｅｓ）、制御部１は、読み出し回数を数える（ステップ♯４２）。読み出し回数は、ジョブ実行開始から完了までの第１記憶部２１から特定プログラム９を読み出した回数である。特定プログラム９は、第１記憶部２１に記憶されるプログラム９のうち、特定の部分である。どのプログラム９を特定プログラム９とするかは、予め定められる。例えば、ジョブを実行するとき、必ず利用されるプログラム９が特定プログラム９とされる。例えば、印刷用ソフトウェア２４、スキャン用ソフトウェア２５、通信用ソフトウェア２６に含まれるプログラム９のうち、コピー、プリント、送信といったジョブで必ず利用されるプログラム９が特定プログラム９とされる。プログラムデータ領域８５が大きいとき、プログラムキャッシュ領域８６の開放が増える。プログラム９の読み出し回数に基づき、プログラムキャッシュ領域８６が小さくなっているか否かを判定する。
【００７２】
制御部１は、合計回数が基準回数７４を超えているか否かを確認する（ステップ♯４３）。基準回数７４は第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１の基準回数７４を参照する。基準回数７４は、適宜定められる。基準回数７４は、印刷用ソフトウェア２４、スキャン用ソフトウェア２５、通信用ソフトウェア２６のそれぞれの特定プログラム９の数に基づき定めることができる。例えば、各ソフトウェアの特定プログラム９の数のうち、最大値、又は、最小値としてもよい。また、各ソフトウェアの特定プログラム９の数の平均値としてもよい。また、平均値の１／２程度の値としてもよい。基準回数７４は、プログラム９とプログラムデータ９０の読み出しが頻繁に行われたか否かを判定するための時間である。
【００７３】
合計回数が基準回数７４以下のとき（ステップ♯４３のＮｏ）、制御部１は、メモリー不足の状態ではないと判定する（ステップ♯４４）。そして、本フローは終了する（エンド）。合計回数が基準回数７４を超えているとき（ステップ♯４３のＹｅｓ）、制御部１は、前回のジョブと今回のジョブの種類が同じか否かを確認する（ステップ♯４５）。今回のジョブとは、ステップ♯４２で合計回数を測ったジョブである。例えば、前回のジョブがコピージョブであり、今回のジョブもコピージョブのとき、制御部１は、ステップ♯４５をＹｅｓと判定する。
【００７４】
前回のジョブと今回のジョブの種類が同じ種類のとき（ステップ♯４５のＹｅｓ）、制御部１は、重度のメモリー不足と判定する（ステップ♯４６）。同種のジョブを連続して実行しているのに、頻繁に特定プログラム９が読み出されている場合、プログラムキャッシュ領域８６のサイズが小さくなっていると認められるためである。
【００７５】
前回のジョブと今回のジョブの種類が同じ種類ではないとき（ステップ♯４５のＮｏ）、制御部１は、今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかが今回のジョブと同じ種類のジョブか否かを確認する（ステップ♯４７）。ステップ♯４７は、ステップ♯３７と同様の処理である。
【００７６】
ステップ♯４７がＮｏの場合、フローは、ステップ♯４４に戻る。ステップ♯４７がＹｅｓの場合、制御部１は、軽度のメモリー不足と判定する（ステップ♯４８）。重度のメモリー不足と判定したとき（ステップ♯４６）、制御部１は、助言メッセージＭ１を表示パネル４１に表示させる（ステップ♯４９）。軽度のメモリー不足と判定したとき（ステップ♯４８）、制御部１は、管理者のコンピューター２００に向けて、助言メッセージＭ１を通知部に送信させる（ステップ♯４１０）。ステップ♯４９とステップ♯４１０は、図５のステップ♯２８、ステップ♯２９と同様である。ステップ♯４９、ステップ♯４１０により、本フローは終了する（エンド）。
【００７７】
（ジョブの実行禁止）
次に、図８を用いて、実施形態に係る複合機１００でのジョブの実行禁止の一例を説明する。図８は実施形態に係る複合機１００でのジョブの実行禁止の一例を示す図である。
【００７８】
図８のフローチャートのスタートは、重度のメモリー不足と判定している状態でジョブの実行開始要求がなされた時点である。コピージョブ、送信ジョブの場合、図８のスタートは、操作パネル４がジョブの実行開始指示を受け付けた時点である（例えば、スタートキーの操作）。プリントジョブの場合、図８のスタートは、プリントジョブの印刷用データを通信部１４が受信した時点である。
【００７９】
制御部１は、第２記憶部２２のプログラム９の合計サイズ（プログラムキャッシュ領域８６のサイズ）を確認する（ステップ♯５１）。次に、制御部１は、合計サイズが予め定められたジョブ禁止値７５以下か否かを確認する（ステップ♯５２）。プログラム９を記憶する領域（プログラムキャッシュ領域８６）が少なすぎる場合、途中でジョブが停止する場合がある。ジョブ禁止値７５は、ジョブを禁止するか否かを判定するための値である。ジョブ禁止値７５は第１記憶部２１に記憶される（図１参照）。制御部１は、第１記憶部２１のジョブ禁止値７５を参照する。ジョブ禁止値７５は、適宜定められる。例えば、ジョブ禁止値７５は、ソフトウェアに含まれるプログラム９のうち、最大サイズのプログラム９より大きい値とできる。
【００８０】
合計サイズが禁止値を超えているとき（ステップ♯５２のＮｏ）、制御部１は、ジョブを実行する（ステップ♯５３）。そして、本フローを終了する（エンド）。合計サイズが禁止値以下のとき（ステップ♯５３のＹｅｓ）、制御部１は、ジョブを実行しない（ステップ♯５４）。言い換えると、制御部１は、ジョブの実行を禁止する。そして、制御部１は、禁止理由メッセージを通知する（ステップ♯５５）。コピージョブ、送信ジョブのとき、制御部１は、禁止理由メッセージを表示パネル４１に表示させる。プリントジョブのとき、制御部１は、印刷用データを送信したコンピューター２００に向けて、禁止理由メッセージを送信する。禁止理由メッセージは、メモリー不足のため、ジョブを開始できないことを知らせるメッセージである。そして、本フローは終了する（エンド）。
【００８１】
ジョブの種類ごとにジョブ禁止値７５を定める場合の一例を説明する。例えば、コピージョブのジョブ禁止値７５を第１禁止値、プリントジョブのジョブ禁止値７５が第２禁止値、送信ジョブのジョブ禁止値７５が第３禁止値とする。例えば、第１禁止値＞第２禁止値＞第３禁止値の関係であるとする。合計サイズが第３禁止値以下の場合、どの種類のジョブでも、制御部１は、ジョブを実行しない。送信ジョブを実行する場合、合計サイズが第１禁止値以下であるが第３禁止値より大きいとき、制御部１は、送信ジョブを実行する。プリントジョブを実行する場合、合計サイズが第１禁止値以下であるが第２禁止値より大きいとき、制御部１は、プリントジョブを実行する。
【００８２】
（ジョブ選択時の警告）
次に、図９を用いて、実施形態に係る複合機１００での警告の一例を説明する。図９は、実施形態に係るホーム画面４４の一例を示す。
【００８３】
重度のメモリー不足と判定したとき、制御部１は、助言メッセージＭ１を表示パネル４１に表示させる。再起動がなされるまで、制御部１は、助言メッセージＭ１を表示させ続けてもよい。一方、制御部１は、助言メッセージＭ１の表示開始から所定の表示時間が経過したとき、助言メッセージＭ１を表示パネル４１に消去させてもよい。この場合、制御部１は、操作パネル４がジョブの種類を選択する操作を受け付けたとき、助言メッセージＭ１を表示パネル４１に表示させる。
【００８４】
図９は、ホーム画面４４の一例を示す。ホーム画面４４はジョブの種類を選択するための画面である。例えば、ジョブが完了したとき、又は、操作パネル４の操作後、一定時間経過しても次の操作がなかったとき、制御部１２０はホーム画面４４を表示パネル４１に表示させる。
【００８５】
ホーム画面４４は階層的に最上位の画面である。図９に示すように、ホーム画面４４にはジョブ種類ボタンＢ１が表示される。ジョブ種類ボタンＢ１は、ジョブの種類を選択するためのボタンである。図９は、２つのジョブ種類ボタンＢ１をホーム画面４４に表示する例を示す。各ジョブ種類ボタンＢ１は、コピーと送信のジョブの何れかと対応する。制御部１２０は、各ジョブ種類ボタンＢ１の内側にジョブの種類（機能名）を表示させる。使用者は実行するジョブに対応するジョブ種類ボタンＢ１を操作する。複合機１００では、コピーやスキャン送信以外のジョブを実行できるが、図９では、便宜上、ジョブ種類ボタンＢ１を２つのみ図示している。
【００８６】
そして、図９に示すように、制御部１は、ジョブ種類ボタンＢ１が操作されたとき、助言メッセージＭ１を表示パネル４１に表示させる。これにより、ジョブを実行しても、停止するおそれがあることを知らせることができる。
【００８７】
このようにして、実施形態に係る画像処理装置（複合機１００）は、通知部（通信部１４、操作パネル４）、第１記憶部２１、第２記憶部２２、制御部１を含む。通知部は通知を行う。第１記憶部２１は、プログラム９とプログラム９で用いるプログラムデータ９０を不揮発的に記憶する。第２記憶部２２は、プログラム９とプログラムデータ９０を揮発的に記憶する。制御部１は、ジョブ実行時、第１記憶部２１から読み出したプログラム９とプログラムデータ９０を第２記憶部２２に記憶させる。制御部１は、読み出したプログラムデータ９０を第２記憶部２２に消去させない。プログラム９の実行に新たなプログラムデータ９０が必要な場合、制御部１は、第２記憶部２２に空き領域があれば第１記憶部２１から読み出した新たなプログラムデータ９０を第２記憶部２２に記憶させ、空き領域がなければプログラム９を消去して、新たなプログラムデータ９０を第２記憶部２２に記憶させる。実行するプログラム９が第２記憶部２２に記憶されている場合、制御部１は、第１記憶部２１からプログラム９を読み出さず第２記憶部２２のプログラム９に基づき処理を実行する。実行するプログラム９が第２記憶部２２に記憶されていない場合、前記制御部は、第２記憶部２２に空き領域があれば第１記憶部２１から読み出したプログラム９を空き領域に記憶させ、空き領域がなければプログラム９を消去して、読み出したプログラム９を記憶させる。空き領域が予め定められた判定基準値７０以下のとき、第２記憶部２２に記憶されているプログラム９の合計サイズ、又は、第１記憶部２１からのプログラム９の読み出しに基づき、制御部１は、メモリー不足のレベルを判定する。制御部１は、判定結果に基づき、再起動を促す助言メッセージＭ１を通知部に通知させる。
【００８８】
蓄積されたプログラムデータ９０により、第２記憶部２２でのプログラム９用の記憶領域（プログラムキャッシュ領域８６、プログラム９実行領域）のサイズが少なくなっているか否かを判定することができる。プログラム９用の記憶領域が小さくなっている場合、再起動を促すことができる。再起動して、揮発性メモリーに溜まったプログラムデータ９０を消去すべきことを勧めることができる。処理速度の低下や、メモリー不足による処理の停止が生ずる前に再起動すべきことを勧めることができる。
【００８９】
制御部１は、合計サイズを認識する。合計サイズが予め定められた第１閾値７１以下かつ予め定められた第２閾値７２を超えているとき、制御部１は、軽度のメモリー不足と判定する。合計サイズが第２閾値７２以下のとき、制御部１は、重度のメモリー不足と判定する。第１閾値７１は、第２閾値７２よりも大きい。第２記憶部２２に記憶されているプログラム９の合計サイズに基づき、プログラム９用の記憶領域の不足の程度（レベル）を認識することができる。プログラム９用の記憶領域のサイズが少なくなっているか否かを判定することができる。プログラム９用の記憶領域が不足しているか否かを正確に判定することができる。
【００９０】
プログラム９用の記憶領域のサイズが小さくなっているとき、プログラム９の消去（メモリーの開放）と、不揮発性メモリーからプログラム９の読み出しが繰り返される。そこで、制御部１は、ジョブ実行開始から完了までの第１記憶部２１からのプログラム９の読み出し時間の合計時間を測る。今回のジョブの合計時間が予め定められた基準時間７３を超えている場合、前回のジョブと今回のジョブの種類が同じとき、制御部１は、重度のメモリー不足と判定する。今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかで今回のジョブと同じ種類のジョブを実行しているとき、制御部１は、軽度のメモリー不足と判定する。実行したジョブ（処理）でのプログラム９の読み出しに要した時間（合計時間）に基づき、プログラム９用の記憶領域の不足の程度（レベル）を認識することができる。プログラム９用の記憶領域のサイズが少なくなっているか否かを判定することができる。プログラム９用の記憶領域が不足しているか否かを正確に判定することができる。
【００９１】
プログラム９用の記憶領域のサイズが小さくなっているとき、第１記憶部２１からのプログラム９の読み出し回数が多くなる。そこで、制御部１は、ジョブ実行開始から完了までの間に、複数のプログラム９のうち、予め定められた特定プログラム９の読み出し回数を数える。今回のジョブの読み出し回数が予め定められた基準回数７４を超えている場合、前回のジョブと今回のジョブの種類が同じとき、制御部１は重度のメモリー不足と判定する。今回のジョブから遡って、前回のジョブを除く所定回数分のジョブのうち何れかで今回のジョブと同じ種類のジョブを実行しているとき、制御部１は軽度のメモリー不足と判定する。特定プログラム９は、ジョブの実行時に必ず利用されるプログラム９の一部、又は、全てである。プログラム９用の記憶領域の不足の程度を認識することができる。ジョブ実行時に必ず利用されるプログラム９（特定プログラム９）の読み出し回数に基づき、プログラム９用の記憶領域のサイズが少なくなっているか否かを判定することができる。プログラム９用の記憶領域が不足しているか否かを正確に判定することができる。
【００９２】
操作パネル４は、メッセージを表示する表示パネル４１を含む。制御部１は、軽度のメモリー不足と判定したとき、管理者に向けて助言メッセージＭ１を通知部に送信させる。重度のメモリー不足と判定したとき助言メッセージＭ１を表示パネル４１に表示させる。プログラム９用の記憶領域の不足の程度に応じた通知を行うことができる。プログラム９用の記憶領域が不足しているとき、表示パネル４１で各使用者に再起動を促すことができる。プログラム９用の記憶領域が不足し始めているとき、通知先を管理者のみとすることができる。メッセージを通知する対象を絞ることができる。
【００９３】
ジョブを開始するとき、重度のメモリー不足と判定しているとき、制御部１は、ジョブを開始しない。プログラム９用の記憶領域の不足により、ジョブが停止するおそれがある場合、ジョブを実行させないようにすることができる。
【００９４】
操作パネル４は、使用者の操作を受け付ける。重度のメモリー不足と判定している場合、操作パネル４がジョブの種類を選択する操作を受け付けたとき、制御部１は、助言メッセージＭ１を表示パネル４１に表示させる。プログラム９用の記憶領域が不足しているとき、ジョブの設定を開始しようとした段階で再起動を使用者に促すことができる。具体的な設定を開始する前に、画像処理装置を再起動させることができる。
【００９５】
以上、本発明の実施形態を説明したが、本発明の範囲はこれに限定されず、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【００９６】
本発明はＲＡＭにプログラムを読み出して処理する画像処理装置に利用可能である。
【符号の説明】
【００９７】
１００  複合機（画像処理装置）        １      制御部
２１    第１記憶部                    ２２    第２記憶部
４      操作パネル（通知部）          ４１    表示パネル
６      通信部（通知部）              ７０    判定基準値
７１    第１閾値                      ７２    第２閾値
７３    基準時間                      ７４    基準回数
９      プログラム                    ９０    プログラムデータ
Ｍ１    助言メッセージ
【図１】
2019160018.tif 000003
【図２】
2019160018.tif 000004
【図３】
2019160018.tif 000005
【図４】
2019160018.tif 000006
【図５】
2019160018.tif 000007
【図６】
2019160018.tif 000008
【図７】
2019160018.tif 000009
【図８】
2019160018.tif 000010
【図９】
2019160018.tif 000011