(58)【調査した分野】(Int.Cl.,DB名)
前記第1領域確保手段は、前記新たなタスクの実行のための前記第1領域を確保するために必要なサイズの空きが前記メモリーに存在する場合には、前記新たなタスクと同一の種類のタスクのための前記第1領域を既に確保しているときであっても、前記新たなタスクのための前記第1領域を新たに確保することを特徴とする請求項1または請求項2に記載の電子機器。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の電子機器においては、領域が即座に割り当てられたタスクの実行が完了した後、この領域が解放されるまで、領域を強制的に解放させられたタスクが再び領域を確保することができないので、マルチタスク機能を実行することができず、結果として、全てのタスクの実行が完了するまでに時間がかかるという問題がある。
【0005】
そこで、本発明は、タスクの実行を早期に完了させることができる電子機器およびメモリー管理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の電子機器は、メモリーの領域において、タスクの実行のための第1領域を確保する第1領域確保手段と、前記第1領域確保手段によって確保された前記第1領域において、実際にタスクの実行に使用する第2領域を確保する第2領域確保手段とを備え、前記第1領域確保手段は、実行対象となった新たなタスクと同一の種類のタスクのための前記第1領域を既に確保している場合に、前記新たなタスクのための前記第1領域の確保を中止し、前記第2領域確保手段は、前記新たなタスクのための前記第1領域の確保が中止された場合に、前記新たなタスクと同一の種類のタスクのための前記第1領域において、前記新たなタスクのための前記第2領域を確保することを特徴とする。
【0007】
この構成により、本発明の電子機器は、実行対象となった新たなタスクと同一の種類のタスクのための第1領域を既に確保している場合に、この第1領域を新たなタスクのための第2領域の確保のために使い回すので、第1領域を新たに確保するための時間が不要であり、タスクの実行を早期に完了させることができる。
【0008】
また、本発明の電子機器において、前記第1領域確保手段は、タスクにおける処理内容毎に前記第1領域を確保し、前記第2領域確保手段は、前記処理内容毎に確保された前記第1領域において、前記処理内容毎に前記第2領域を確保しても良い。
【0009】
この構成により、本発明の電子機器は、複数のタスクのそれぞれについて、タスクにおける処理内容毎に実行を進めることができるので、複数の処理内容について別々のタスクを同時に実行することができる。したがって、本発明の電子機器は、タスクの処理を早期に完了させることができる。
【0010】
また、本発明の電子機器において、前記第1領域確保手段は、前記新たなタスクの実行のための前記第1領域を確保するために必要なサイズの空きが前記メモリーに存在する場合には、前記新たなタスクと同一の種類のタスクのための前記第1領域を既に確保しているときであっても、前記新たなタスクのための前記第1領域を新たに確保しても良い。
【0011】
この構成により、本発明の電子機器は、新たなタスクの実行のための第1領域を確保するために必要なサイズの空きがメモリーに存在する場合には、新たなタスクのための第1領域を新たに確保するので、この第1領域において、新たなタスクの実行に実際に使用する第2領域を即座に確保することができる。したがって、本発明の電子機器は、タスクの処理を早期に完了させることができる。
【0012】
また、本発明の電子機器は、画像を描画して印刷するタスクを実行する画像形成装置であっても良い。
【0013】
この構成により、本発明の電子機器は、画像を描画して印刷するタスクを複数同時に実行することができるので、間欠印刷の発生を抑えることができる。
【0014】
本発明のメモリー管理方法は、電子機器におけるメモリーの管理方法であって、前記メモリーの領域において、タスクの実行のための第1領域を確保する第1領域確保ステップと、前記第1領域確保ステップによって確保された前記第1領域において、実際にタスクの実行に使用する第2領域を確保する第2領域確保ステップとを備え、前記第1領域確保ステップは、実行対象となった新たなタスクと同一の種類のタスクのための前記第1領域を既に確保している場合に、前記新たなタスクのための前記第1領域の確保を中止するステップであり、前記第2領域確保ステップは、前記新たなタスクのための前記第1領域の確保が中止された場合に、前記新たなタスクと同一の種類のタスクのための前記第1領域において、前記新たなタスクのための前記第2領域を確保するステップであることを特徴とする。
【0015】
この構成により、本発明のメモリー管理方法は、実行対象となった新たなタスクと同一の種類のタスクのための第1領域を既に確保している場合に、この第1領域を新たなタスクのための第2領域の確保のために使い回すので、第1領域を新たに確保するための時間が不要であり、タスクの実行を早期に完了させることができる。
【発明の効果】
【0016】
本発明の電子機器およびメモリー管理方法は、タスクの実行を早期に完了させることができる。
【発明を実施するための形態】
【0018】
以下、本発明の一実施の形態について、図面を用いて説明する。
【0019】
まず、本実施の形態に係る電子機器としてのMFP(Multifunction Peripheral)の構成について説明する。
【0020】
図1は、本実施の形態に係るMFP10の構成を示すブロック図である。
【0021】
図1に示すように、MFP10は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部11と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、原稿から画像を読み取る読取デバイスであるスキャナー13と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター14と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部15と、図示していない外部の装置とLAN(Local Area Network)、インターネットなどのネットワーク経由で通信を行うネットワーク通信デバイスであるネットワーク通信部16と、各種のデータを記憶しているEEPROM(Electrically Erasable Programmable Read Only Memory)、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部17と、MFP10全体を制御する制御部20とを備えている。
【0022】
制御部20は、例えば、CPU(Central Processing Unit)21と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)22と、CPU21の作業領域として用いられるメモリーとしてのRAM(Random Access Memory)23とを備えている。CPU21は、ROM22または記憶部17に記憶されているプログラムを実行する。
【0023】
記憶部17は、RAM23を管理するためのメモリー管理プログラム17aを記憶している。メモリー管理プログラム17aは、MFP10の製造段階でMFP10にインストールされていても良いし、SDカード、USB(Universal Serial Bus)メモリーなどの記憶媒体からMFP10に追加でインストールされても良いし、ネットワーク上からMFP10に追加でインストールされても良い。
【0024】
図2は、制御部20の機能のブロック図である。
【0025】
制御部20は、記憶部17に記憶されているメモリー管理プログラム17aを実行することによって、
図2に示すように、RAM23(
図1参照。)の領域において、タスクの実行のための第1領域としての主領域を確保する第1領域確保手段としての主領域確保手段20a、および、主領域確保手段20aによって確保された主領域において、実際にタスクの実行に使用する第2領域としての従領域を確保する第2領域確保手段としての従領域確保手段20bとして機能する。
【0026】
次に、RAM23を管理する場合のMFP10の動作について説明する。
【0027】
図3は、RAM23を管理する場合のMFP10の動作のフローチャートである。
【0028】
MFP10の制御部20は、タスクからRAM23の使用が要求されると、
図3に示す動作を実行する。
【0029】
図3に示すように、制御部20の主領域確保手段20aは、RAM23の使用を要求してきた新たなタスクの実行のための主領域を確保するために必要なサイズの空きがRAM23に存在するか否かを判断する(S31)。
【0030】
ここで、主領域確保手段20aは、例えば、新たなタスクが、ネットワーク通信部16を介して受信した印刷データに基づいたプリンター14による印刷のタスク、すなわち、画像を描画して印刷するタスクである場合には、このタスクにおいて想定される最大の用紙のサイズに基づいて、このタスクの実行のための主領域を確保するために必要なサイズを決定する。また、主領域確保手段20aは、例えば、新たなタスクが、コピーなどのスキャナー13を使用するタスクである場合には、スキャナー13によって読み取られた原稿のサイズに基づいて、このタスクの実行のための主領域を確保するために必要なサイズを決定する。
【0031】
主領域確保手段20aは、新たなタスクの実行のための主領域を確保するために必要なサイズの空きがRAM23に存在するとS31において判断すると、新たなタスクの実行のための主領域を新たに確保する(S32)。
【0032】
ここで、主領域確保手段20aは、タスクにおける処理内容毎に主領域を確保する。例えば、主領域確保手段20aは、新たなタスクが、画像を描画して印刷するタスクである場合には、描画処理用の主領域(以下「描画用領域」と言う。)と、印刷処理用の主領域(以下「印刷用領域」と言う。)とを確保する。
【0033】
次いで、制御部20の従領域確保手段20bは、S32において確保された主領域において、新たなタスクの実行に実際に使用する従領域を確保する(S33)。
【0034】
ここで、従領域確保手段20bは、タスクにおける処理内容毎に確保された主領域において、タスクにおける処理内容毎に従領域を確保する。例えば、従領域確保手段20bは、新たなタスクが、画像を描画して印刷するタスクである場合には、描画用領域において描画処理用の従領域を確保し、印刷用領域において印刷処理用の従領域を確保する。
【0035】
主領域確保手段20aは、新たなタスクの実行のための主領域を確保するために必要なサイズの空きがRAM23に存在しないとS31において判断すると、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保しているか否かを判断する(S34)。
【0036】
従領域確保手段20bは、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保しているとS34において判断されると、新たなタスクと同一の種類のタスクのための主領域において、新たなタスクのための従領域を確保する(S35)。ここで、従領域確保手段20bは、タスクにおける処理内容毎に確保された主領域において、タスクにおける処理内容毎に従領域を確保する。
【0037】
主領域確保手段20aは、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保していないとS34において判断すると、S31の処理を実行する。
【0038】
制御部20は、S33またはS35の処理が終了すると、
図3に示す動作を終了する。
【0039】
なお、制御部20は、タスクにおける処理が終了する度に、この処理のために確保された従領域を解放する。そして、制御部20は、タスクにおける全ての処理が終了した場合に、このタスクにおける処理内容毎に確保された全ての主領域において全ての従領域が解放されているとき、これらの主領域を解放する。
【0040】
以下、具体例として、MFP10が画像を描画して印刷するタスクとして、タスク1およびタスク2を連続して実行する場合について説明する。
【0041】
タスク1が制御部20にRAM23の使用を要求する前、RAM23は、
図4(a)に示すように全ての領域に空きがある状態であるとする。
【0042】
まず、主領域確保手段20aは、タスク1からRAM23の使用が要求されると、タスク1の実行のための主領域を確保するために必要なサイズの空きがRAM23に存在するとS31において判断して、タスク1のための主領域を新たに確保する(S32)。すなわち、主領域確保手段20aは、
図4(b)に示す保証メモリー23aをRAM23に確保する。保証メモリー23aは、描画用領域23bと、印刷用領域23cとをそれぞれ主領域として含んでいる。
【0043】
次いで、制御部20は、タスク1の描画処理を実行する。したがって、従領域確保手段20bは、描画用領域23bにおいて、タスク1の描画処理の実行に実際に使用する従領域(以下「タスク1描画用使用領域」と言う。)を確保する(S33)。すなわち、従領域確保手段20bは、
図4(c)に示すように、描画用領域23bにタスク1描画用使用領域23dを確保する。
【0044】
次いで、制御部20は、タスク1の描画処理の実行が終了すると、タスク1の印刷処理を実行する。したがって、従領域確保手段20bは、印刷用領域23cにおいて、タスク1の印刷処理の実行に実際に使用する従領域(以下「タスク1印刷用使用領域」と言う。)を確保する(S33)。すなわち、従領域確保手段20bは、
図5(a)に示すように、印刷用領域23cにタスク1印刷用使用領域23eを確保する。
【0045】
主領域確保手段20aは、タスク2からRAM23の使用が要求されると、タスク2の実行のための主領域を確保するために必要なサイズの空きがRAM23に存在しないとS31において判断するとともに、実行対象となったタスク2と同一の種類のタスク、すなわち、MFP10が画像を描画して印刷するタスクのための主領域を既に確保しているとS34において判断する。そして、制御部20は、タスク1の描画処理が終了している場合には直ちに、タスク2の描画処理を実行する。また、制御部20は、タスク1の描画処理が終了していない場合には、タスク1の描画処理が終了した時点で直ちに、タスク2の描画処理を実行する。したがって、従領域確保手段20bは、タスク2と同一の種類のタスクのための主領域、すなわち、描画用領域23bにおいて、タスク2の描画処理の実行に実際に使用する従領域(以下「タスク2描画用使用領域」と言う。)を確保する(S35)。すなわち、従領域確保手段20bは、
図5(b)に示すように、描画用領域23bにタスク1描画用使用領域23d(
図5(a)参照。)に代えてタスク2描画用使用領域23fを確保する。
【0046】
次いで、制御部20は、タスク1の印刷処理の実行が終了した時点、すなわち、タスク1による印刷済の記録媒体をプリンター14によって出力した時点で、タスク1を処理するために使用していた従領域、すなわち、タスク1印刷用使用領域23eを解放する。したがって、RAM23は、
図5(c)に示す状態になる。
【0047】
次いで、制御部20は、タスク2の描画処理の実行が終了した場合に、タスク1の印刷処理が終了しているときには直ちに、タスク2の印刷処理を実行する。また、制御部20は、タスク2の描画処理の実行が終了した場合に、タスク1の印刷処理が終了していないときには、タスク1の印刷処理が終了した時点で直ちに、タスク2の印刷処理を実行する。したがって、従領域確保手段20bは、タスク2と同一の種類のタスクのための主領域、すなわち、印刷用領域23cにおいて、タスク2の印刷処理の実行に実際に使用する従領域(以下「タスク2印刷用使用領域」と言う。)を確保する(S35)。すなわち、従領域確保手段20bは、
図6(a)に示すように、印刷用領域23cにタスク2印刷用使用領域23gを確保する。
【0048】
次いで、制御部20は、タスク2の印刷処理の実行が終了した時点、すなわち、タスク2による印刷済の記録媒体をプリンター14によって出力した時点で、タスク2を処理するために使用していた従領域、すなわち、タスク2描画用使用領域23fおよびタスク2印刷用使用領域23gを解放する。したがって、RAM23は、
図6(b)に示す状態になる。
【0049】
そして、制御部20は、タスク2における全ての処理が終了した場合に、タスク2における処理内容毎に確保された全ての主領域、すなわち、描画用領域23bおよび印刷用領域23cにおいて全ての従領域が解放されているので、描画用領域23bおよび印刷用領域23cを解放する。すなわち、制御部20は、保証メモリー23aを解放して、再び
図4(a)に示す状態になる。
【0050】
以上に説明したように、MFP10の主領域確保手段20aは、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保している場合に(S34でYES)、新たなタスクのための主領域の確保(S32)を中止する。そして、従領域確保手段20bは、新たなタスクのための主領域の確保が中止された場合に(S34でYES)、新たなタスクと同一の種類のタスクのための主領域において、新たなタスクのための従領域を確保する(S35)。この構成により、MFP10は、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保している場合に、この主領域を新たなタスクのための従領域の確保のために使い回すので、主領域を新たに確保するための時間が不要であり、タスクの実行を早期に完了させることができる。
【0051】
MFP10は、複数のタスクのそれぞれについて、タスクにおける処理内容毎に実行を進めることができるので、
図5(b)に示すように、複数の処理内容について別々のタスクを同時に実行することができる。すなわち、MFP10は、マルチタスク機能を実行することができる。したがって、MFP10は、タスクの処理を早期に完了させることができる。
【0052】
特に、MFP10は、画像を描画して印刷するタスクを複数同時に実行することができるので、間欠印刷の発生を抑えることができる。
【0053】
なお、MFP10は、本実施の形態においてタスクにおける複数の処理内容毎に主領域を確保しているが、1つのタスクについて1つの主領域のみを確保しても良い。MFP10は、1つのタスクについて1つの主領域のみを確保する場合であっても、新たなタスクのための従領域の確保のために主領域を使い回すことによって、「主領域を一旦解放して、新たなタスクのために再び主領域を確保する」という動作を省略することができるので、タスクの処理を早期に完了させることができる。
【0054】
MFP10の主領域確保手段20aは、新たなタスクの実行のための主領域を確保するために必要なサイズの空きがRAM23に存在する場合には(S31でYES)、新たなタスクと同一の種類のタスクのための主領域を既に確保しているときであっても、新たなタスクのための主領域を新たに確保する(S32)。この構成により、MFP10は、新たに確保した主領域において、新たなタスクの実行に実際に使用する従領域を即座に確保することができるので、タスクの処理を早期に完了させることができる。
【0055】
なお、MFP10は、新たなタスクの実行のための主領域を確保するために必要なサイズの空きがRAM23に存在するか否かに関わらず、新たなタスクと同一の種類のタスクのための主領域を既に確保している場合に(S34でYES)、新たなタスクのための主領域の確保(S32)を中止して、新たなタスクと同一の種類のタスクのための主領域において、新たなタスクのための従領域を確保する(S35)構成であっても良い。
【0056】
MFP10は、実行対象となった新たなタスクと同一の種類のタスクのための主領域を既に確保している場合に、この主領域を新たなタスクのための従領域の確保のために使い回すので、RAM23の使用効率を向上することができる。そのため、MFP10は、実行対象となった新たなタスクと同一の種類のタスクのための主領域を未だ確保していない場合に、新たなタスクのための主領域をRAM23の空き領域に確保することができる可能性が高い。したがって、MFP10は、複数の種類のタスクを同時に実行することができる可能性が高い。すなわち、MFP10は、マルチタスク機能を実行することができる。例えば、MFP10は、画像を描画して印刷するタスクと、画像をネットワーク通信部16を介して送信するタスクとを同時に実行することができる。
【0057】
なお、本発明の電子機器は、本実施の形態においてMFPであるが、プリンター専用機、コピー専用機、ファックス専用機など、MFP以外の画像形成装置であっても良いし、PC(Personal Computer)など、画像形成装置以外の電子機器であっても良い。