(57)【要約】【課題】割り込みジョブに対するメモリー領域の割り当てを適切に行う。【解決手段】メモリー管理部１１８により、ＲＡＭ１１５（揮発性メモリー）に対し、非割り込みジョブにメモリー領域１１５ａ（第１のメモリー領域）を割り当て、システム制御部１２１により、非割り込みジョブを受け付けると、メモリー管理部１１８に対し、メモリー領域１１５ｂ（第２のメモリー領域）を割り込みジョブ予約領域として確保させる。また、システム制御部１２１は、メモリー管理部１１８に対し、非割り込みジョブの実行中に割り込みジョブを受け付けると、メモリー領域１１５ｂ（第２のメモリー領域）を割り込みジョブ用として割り当てさせる。ＲＡＭ１１５のワーク領域に生じる断片化が広がっている場合でも、ＲＡＭ１１５に対する非割り込みジョブの割り当てが行われると、直ちに割り込みジョブのための割り込みジョブ予約領域が確保される。【選択図】図１
2019129425.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリーに対し、非割り込みジョブに第１のメモリー領域を割り当てるメモリー管理部と、
前記非割り込みジョブを受け付けると、前記メモリー管理部に対し、第２のメモリー領域を割り込みジョブ予約領域として確保させるシステム制御部とを備え、
前記システム制御部は、前記メモリー管理部に対し、前記非割り込みジョブの実行中に割り込みジョブを受け付けると、前記第２のメモリー領域を前記割り込みジョブ用として割り当てさせる
ことを特徴とするメモリー管理装置。
【請求項２】
前記システム制御部は、前記メモリー管理部に対し、前記第２のメモリー領域を解放させ、前記解放された第２のメモリー領域を前記割り込みジョブ用として割り当てさせることを特徴とする請求項１に記載のメモリー管理装置。
【請求項３】
前記システム制御部は、前記メモリー管理部に対し、受け付けた前記割り込みジョブのサイズが前記第２のメモリー領域のサイズより小さい場合、前記第２のメモリー領域内に前記割り込みジョブ用のメモリー領域を割り当てさせることを特徴とする請求項１又は２に記載のメモリー管理装置。
【請求項４】
前記第１のメモリー領域及び前記第２のメモリー領域は、物理的に連続したメモリー領域に対応することを特徴とする請求項１〜３の何れか一項に記載のメモリー管理装置。
【請求項５】
メモリー管理装置の揮発性メモリーの領域の割り当てを制御するコンピューターに実行させるメモリー管理プログラムであって、
メモリー管理部により、揮発性メモリーに対し、非割り込みジョブに第１のメモリー領域を割り当てる工程と、
システム制御部により、前記非割り込みジョブを受け付けると、前記メモリー管理部に対し、第２のメモリー領域を割り込みジョブ予約領域として確保させる工程とを有し、
前記システム制御部は、前記メモリー管理部に対し、前記非割り込みジョブの実行中に割り込みジョブを受け付けると、前記第２のメモリー領域を前記割り込みジョブ用として割り当てさせる
ことを特徴とするメモリー管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込みジョブに対するメモリー管理に適したメモリー管理装置及びメモリー管理プログラムに関する。
【背景技術】
【０００２】
たとえば、電子機器の一つである、ＭＦＰ(Multifunction Peripheral)等の画像形成装置においては、印刷機能、コピー機能、ＦＡＸ(Facsimile)機能、スキャナー機能、ネットワーク経由でのデータ送受信機能等が搭載されている機種がある。また、これらの各種機能を備えた画像形成装置では、画像処理で用いられる揮発性メモリーであるＲＡＭ(Random Access Memory)のメモリー領域の割り当てを効率的に行うことで、各種ジョブの処理能力が高められている。
【０００３】
ところで、このような画像形成装置では、割り込みジョブを実行する場合、先行ジョブにより使用されていないＲＡＭの空き領域に、割り込みジョブ用のメモリー領域を確保する必要がある。ただし、割り込みジョブ用のメモリー領域を確保できない場合には、割り込みジョブの実行が拒否される。この場合、割り込みジョブが取り扱う画像データのサイズを小さくすることで、割り込みジョブ用のメモリー領域を確保できることがある。ところが、割り込みジョブが取り扱う画像データのサイズを小さくすると、画質が劣化してしまうという不具合を生じることがある。
【０００４】
このような不具合を解消するようにしてものとして、特許文献１では、メモリー管理部により、割り込みジョブについてのデフォルト割り当てサイズ以上の空き領域があるか否かを判定し、割り込みジョブについてのデフォルト割り当てサイズ以上の空き領域がある場合には、デフォルト割り当てサイズの記憶領域をメモリーにおいて確保し、割り当てについてのデフォルト割り当てサイズ以上の空き領域がない場合には、デフォルト割り当てサイズより小さく、かつ所定のジョブ種別のジョブを実行可能な所定の割込時割り当てサイズの記憶領域をメモリーにおいて確保する画像形成装置を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０１７０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１の画像形成装置では、割込時割り当てサイズの記憶領域で実行可能な割り込みジョブが実行されるため、画質を劣化させることがなくなる。なお、割込時割り当てサイズは、原稿サイズがＡ４であってモノクロコピーを実行可能なサイズとなっている。また、デフォルト割り当てサイズは、割り込み時ではない場合（つまり先行ジョブが存在しない場合）に、ジョブに割り当てられる記憶領域のサイズとなっている。また、割込時割り当てサイズは、デフォルト割り当てサイズより小さい値となっている。
【０００７】
ところで、特許文献１の画像形成装置では、メモリーにデフォルト割り当てサイズ以上の空き領域がない場合、所定のジョブ種別のジョブを実行可能な所定の割込時割り当てサイズの記憶領域の空き領域を確保している。このため、デフォルト割り当てサイズの記憶領域が割り当てられない場合でも、割込時割り当てサイズの記憶領域で割り込みジョブを実行できる。
【０００８】
ところが、この画像形成装置では、メモリーのワーク領域に生じる断片化を考慮していない。すなわち、メモリー領域へのアクセス効率、メモリー領域へのアクセスを制御するプロセッサーやＡＳＩＣ（Application Specific Integrated Circuit）の仕様等の理由により、各ジョブに対して物理的に連続したメモリー領域（連続した物理メモリー領域）を割り当てることが求められる。このため、メモリーの使用に伴って断片化が広がった場合、処理が優先されるべき割り込みジョブにメモリー領域を割り当てることが不可能となるおそれがある。このようなことから、メモリーのワーク領域に生じる断片化が広がった場合であっても、割り込みジョブに対するメモリー領域の割り当てを適切に行うことができる装置の開発が望まれている。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができるメモリー管理装置及びメモリー領域割り当てプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のメモリー管理装置は、揮発性メモリーに対し、非割り込みジョブに第１のメモリー領域を割り当てるメモリー管理部と、前記非割り込みジョブを受け付けると、前記メモリー管理部に対し、第２のメモリー領域を割り込みジョブ予約領域として確保させるシステム制御部とを備え、前記システム制御部は、前記メモリー管理部に対し、前記非割り込みジョブの実行中に割り込みジョブを受け付けると、前記第２のメモリー領域を前記割り込みジョブ用として割り当てさせることを特徴とする。
また、前記システム制御部は、前記メモリー管理部に対し、前記第２のメモリー領域を解放させ、前記解放された第２のメモリー領域を前記割り込みジョブ用として割り当てさせることを特徴とする。
また、前記システム制御部は、前記メモリー管理部に対し、受け付けた前記割り込みジョブのサイズが前記第２のメモリー領域のサイズより小さい場合、前記第２のメモリー領域内に前記割り込みジョブ用のメモリー領域を割り当てさせることを特徴とする請求項１又は２に記載のメモリー管理装置。
また、前記第１のメモリー領域及び前記第２のメモリー領域は、物理的に連続したメモリー領域に対応することを特徴とする。
本発明のメモリー管理プログラムは、メモリー管理装置の揮発性メモリーの領域の割り当てを制御するコンピューターに実行させるメモリー管理プログラムであって、メモリー管理部により、揮発性メモリーに対し、非割り込みジョブに第１のメモリー領域を割り当てる工程と、システム制御部により、前記非割り込みジョブを受け付けると、前記メモリー管理部に対し、第２のメモリー領域を割り込みジョブ予約領域として確保させる工程とを有し、前記システム制御部は、前記メモリー管理部に対し、前記非割り込みジョブの実行中に割り込みジョブを受け付けると、前記第２のメモリー領域を前記割り込みジョブ用として割り当てさせることを特徴とする。
本発明のメモリー管理装置及びメモリー管理プログラムでは、メモリー管理部により、揮発性メモリーに対し、非割り込みジョブに第１のメモリー領域を割り当て、システム制御部により、非割り込みジョブを受け付けると、メモリー管理部に対し、第２のメモリー領域を割り込みジョブ予約領域として確保させる。また、システム制御部は、メモリー管理部に対し、非割り込みジョブの実行中に割り込みジョブを受け付けると、第２のメモリー領域を割り込みジョブ用として割り当てさせる。
これにより、揮発性メモリーのワーク領域に生じる断片化が広がっている場合でも、揮発性メモリーに対する非割り込みジョブの割り当てが行われると、直ちに割り込みジョブのための割り込みジョブ予約領域が確保される。
【発明の効果】
【００１１】
本発明のメモリー管理装置及びメモリー管理プログラムによれば、揮発性メモリーに対する非割り込みジョブの割り当てが行われると、直ちに割り込みジョブのための割り込みジョブ予約領域が確保されるので、割り込みジョブに対するメモリー領域の割り当てを適切に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明のメモリー管理装置をＭＦＰに適用した場合の一実施形態を説明するための図である。
【図２】図１のメモリー管理部によるＲＡＭの一般的なメモリー管理について説明するものであって、図２（ａ）は断片化が少ないメモリーの場合での割り込みジョブに対するメモリー領域の割り当てについて説明するための図であり、図２（ｂ）は断片化が多いメモリーの場合での割り込みジョブに対するメモリー領域の割り当てについて説明するための図である。
【図３】図１のメモリー管理部によるＲＡＭのメモリー管理について説明するものであって、図３（ａ）は割り込みジョブ予約領域の確保について説明するための図であり、図３（ｂ）は確保した割り込みジョブ予約領域に対する割り込みジョブの割り当てについて説明するための図である。
【図４】図１のＲＡＭに対する割り込みジョブ予約領域の確保の一例について説明するためのフローチャートである。
【図５】図１のＲＡＭに対する割り込みジョブ予約領域の確保の他の例について説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明のメモリー管理装置の一実施形態を、図１〜図５を参照しながら説明する。なお、以下の説明においてのメモリー管理装置の一例としては、たとえば印刷機能、コピー機能、ＦＡＸ(Facsimile)機能、スキャナー機能、ネットワーク経由でのデータ送受信機能等を搭載した複合的な周辺機器であるＭＦＰ(Multifunction Peripheral)であるものとする。
【００１４】
まず、図１に示すように、ＭＦＰ１００は、スキャナー部１０１、プリンター部１０２、ＦＡＸ部１０３、Ｉ／Ｆ（インターフェース）１０４、パネル部１０５及びＨＤＤ１０６の動作を制御する制御部１１０を備えている。
【００１５】
スキャナー部１０１は、イメージセンサー（図示省略）によって読み取られる、図示しない用紙上の画像をデジタルの画像データに変換し、制御部１１０に入力するデバイスである。プリンター部１０２は、制御部１１０から出力される印刷データに基づき、図示しない用紙上に画像を印刷するデバイスである。ＦＡＸ部１０３は、制御部１１０から出力されるデータを、電話回線を通じ相手方となるファクシミリへと送信し、また、相手方ファクシミリからのデータを受信して制御部１１０に入力するデバイスである。
【００１６】
Ｉ／Ｆ１０４は、ネットワークを介し、図示しない他のＭＦＰやユーザー端末等との通信を受け持つ。なお、Ｉ／Ｆ１０４は、図示しないコンテンツサーバーやウェブサーバー等との通信を受け持ってもよい。パネル部１０５は、たとえばＭＦＰ１００の印刷機能、コピー機能、ＦＡＸ機能、スキャナー機能、ネットワーク経由でのデータ送受信機能や、各種設定のための表示を行うタッチパネルとハードウェアキーとを有するデバイスである。
【００１７】
制御部１１０は、認証プログラム等のアプリケーションプログラム、画像形成プログラム、及び制御プログラム等を実行してＭＦＰ１００全体の動作を制御するプロセッサーである。制御部１１０は、スキャナー制御部１１１、プリンター制御部１１２、ＦＡＸ制御部１１３、通信制御部１１４、ＲＡＭ(Random Access Memory)１１５、ＥＥＰＲＯＭ(electrically erasable and programmable read-only memory)１１６、画像処理部１１７、メモリー管理部１１８、パネル操作制御部１１９、ＨＤＤ制御部１２０、システム制御部１２１を備えている。また、これらは、データバス１２２に接続されている。
【００１８】
スキャナー制御部１１１は、スキャナー部１０１の読み取り動作を制御する。プリンター制御部１１２は、プリンター部１０２の印刷動作を制御する。ＦＡＸ制御部１１３は、ＦＡＸ部１０３によるデータの送受信動作を制御する。通信制御部１１４は、Ｉ／Ｆ１０４を介し、ネットワーク経由でのデータ等の送受信の制御を行う。ＲＡＭ１１５は、プログラムを実行するためのワークメモリーである。また、ＲＡＭ１１５には、詳細については後述するが、メモリー管理部１１８により、たとえば割り込みジョブの使用に適したメモリー領域が割り当てられる。ＥＥＰＲＯＭ１１６には、各部の動作チェックや起動シーケンスを生成する制御プログラム等が記憶されている。
【００１９】
画像処理部１１７は、スキャナー部１０１によって読み取られた画像データに対する画像処理（ラスタライズ）を行う。また、画像処理部１１７は、ＨＤＤ１０６のユーザーボックスに登録された印刷ジョブに対する画像処理（ラスタライズ）を行う。なお、システム制御部１２１は、ジョブの実行を制御する。このとき、システム制御部１２１は、画像処理部１１７が画像処理した印刷データを、一旦、ＲＡＭ１１５に記憶させる。
【００２０】
メモリー管理部１１８は、詳細については後述するが、システム制御部１２１の指示に従い、ＲＡＭ１１５のメモリー領域の割り当てを行う。パネル操作制御部１１９は、パネル部１０５の表示動作を制御する。また、パネル操作制御部１１９は、パネル部１０５を介し、印刷、コピー、ＦＡＸ、スキャン、ネットワーク経由でのデータ送受信等の設定を受け付ける。ＨＤＤ制御部１２０は、ＨＤＤ１０６に対するデータの読み出し及び書き込み等を制御する。システム制御部１２１は、各部の連携動作等を制御する。また、システム制御部１２１は、非割り込みジョブや割り込みジョブを受け付けると、メモリー管理部１１８に対し、ＲＡＭ１１５のメモリー領域の割り当てを指示する。
【００２１】
次に、図２を参照し、メモリー管理部１１８によるＲＡＭ１１５のメモリー領域の一般的な割り当てについて説明する。まず、図２（ａ）により、断片化が少ないメモリーの場合での割り込みジョブに対するメモリー領域の割り当てについて説明する。すなわち、メモリー管理部１１８は、ＲＡＭ１１５に対し、ジョブ割り当て領域１１５Ａとワーク領域１１５Ｂとを割り当てる。ジョブ割り当て領域１１５Ａは、受け付けたジョブのデータを記憶する領域であって、各ジョブに対して、物理的に連続するメモリー領域が割り当てられている。ワーク領域１１５Ｂは、ジョブ割り当て領域１１５Ａに記憶されたジョブのデータが読み出されて、画像処理に使用される領域である。ここで、ジョブ割り当て領域１１５Ａには、非割り込みジョブ１〜ｍ（ｍ＜ｎ、１〜ｍは、システム制御部１２１が非割り込みジョブを受け付けた順番を示す。）に対してそれぞれ物理的に連続したメモリー領域１１５ａ〜１１５ｃが割り当てられているとする。なお、非割り込みジョブ１〜ｍは、図示しないジョブキューに登録された順に割り当てられるものとする。また、メモリー管理部１１８は、ワーク領域１１５Ｂに生じる断片化が少ない場合、ジョブのデータのサイズを満たす物理的に連続した空き領域がメモリー領域に存在する可能性が高い。このため、割り込みジョブが受け付けられると、物理的に連続した空き領域が存在すれば、割り込みジョブに対してメモリー領域１１５ｄを割り当てることができる。このように、本実施形態において、メモリー管理部１１８は、非割り込みジョブ及び割り込みジョブにジョブ割り当て領域１１５Ａの物理的に連続したメモリー領域を割り当てる。
【００２２】
これに対し、ワーク領域１１５Ｂへのデータの読み書きが増加すると、ワーク領域１１５Ｂに多くの断片化が生じる可能性がある。このような場合、ジョブのデータのサイズを満たす物理的に連続した空き領域が確保できなくなる可能性がある。図２（ｂ）のように、非割り込みジョブ１〜ｎ（ｎ＞ｍ、１〜ｎは、システム制御部１２１が非割り込みジョブを受け付けた順番を示す。）の数が多くなると、ワーク領域１１５Ｂの断片化による物理的に連続した空き領域の確保が困難になる。このように、ワーク領域１１５Ｂに多くの断片化が生じると、ジョブ割り当て領域１１５Ａがひっ迫する。この場合、メモリー管理部１１８は、割り込みジョブが受け付けられたとき、その割り込みジョブのサイズがメモリー領域１１５ｄより大きい場合、メモリー領域１１５ｄに割り込みジョブを割り当てることができなくなる。なお、非割り込みジョブ１〜ｎは、上記同様に、図示しないジョブキューに登録された順に割り当てられるものとする。
【００２３】
そこで、本実施形態では、図３のように、ワーク領域１１５Ｂに多くの断片化が生じても、割り込みジョブの領域割り当てを確実に行うようにしている。すなわち、図３（ａ）のように、非割り込みジョブ１（最初に受け付けられた非割り込みジョブ）のメモリー領域１１５ａに物理的に連続するメモリー領域１１５ｂに、割り込みジョブ予約領域を確保している。また、メモリー領域１１５ｂに続けて非割り込みジョブ２〜非割り込みジョブｎを割り当てるようにしている。なお、非割り込みジョブ１〜ｎは、上記同様に、図示しないジョブキューに登録された順に割り当てられるとする。また、割り込みジョブのための領域１１５ｂは、ＲＡＭ１１５のサイズにもよるが、十分なサイズとなるように確保することが好ましい。すなわち、割り込みジョブがコピージョブである場合、過去の使用履歴から最大の使用サイズを満たすことができるサイズとなるように領域１１５ｂを確保することが好ましい。
【００２４】
これにより、ワーク領域１１５Ｂの断片化により、ジョブ割り当て領域１１５Ａがひっ迫しても、十分なサイズの割り込みジョブのための領域１１５ｂを確保できるため、割り込みジョブが受け付けられた場合、その確保された領域１１５ｂに割り込みジョブを確実に割り当てることができる。
【００２５】
図３（ｂ）は、割り込みジョブを割り当てた場合を示している。すなわち、システム制御部１２１は、割り込みジョブを受け付けると、割り込みジョブのサイズと、確保している割り込みジョブのための領域１１５ｂのサイズとを比較する。そして、システム制御部１２１は、受け付けた割り込みジョブのサイズが、確保している割り込みジョブのための領域１１５ｂのサイズ以下である場合、メモリー管理部１１８に対し、メモリー領域１１５ｄに対する割り込みジョブの割り当てを指示する。このとき、メモリー管理部１１８は、割り込みジョブのための領域１１５ｂを解放し、メモリー領域１１５ｄ内に割り込みジョブのサイズに見合った領域１１５ｂ１を割り当てる。これにより、ワーク領域１１５Ｂに多くの断片化が生じても、割り込みジョブの領域割り当てを確実に行うことができる。なお、システム制御部１２１は、ジョブキューが空になった場合、メモリー管理部１１８に対し、メモリー領域１１５ａ〜１１５ｄの解放を指示する。
【００２６】
次に、図４を参照し、ＲＡＭ１１５に対する割り込みジョブ予約領域の確保の一例について説明する。図４に示す処理は、非割り込みジョブ又は割り込みジョブが発生する度に、ジョブ毎に実行される。なお、以下では、非割り込みジョブを印刷ジョブとし、割り込みジョブをコピージョブとした場合で説明する。また、以下では、図３（ａ）に示したジョブ割り当て領域１１５Ａに、メモリー領域１１５ａ等が割り当てられていないものとして説明する。
【００２７】
（ステップＳ１０１）
システム制御部１２１は、ジョブを受け付けたかどうかを判断する。
この場合、システム制御部１２１は、ジョブを受け付けていないとき、ジョブを受け付けるまで処理を待機する（ステップＳ１０１：Ｎｏ）。
これに対し、システム制御部１２１は、ジョブを受け付けたとき（ステップＳ１０１：Ｙｅｓ）、ステップＳ１０２に移行する。
【００２８】
（ステップＳ１０２）
システム制御部１２１は、割り込みジョブかどうかを判断する。
この場合、システム制御部１２１は、パネル操作制御部１１９がパネル部１０５を介して割り込みコピーのボタン操作を受け付けたことを示す通知が無ければ、非割り込みジョブと判断し（ステップＳ１０２：Ｎｏ）、ステップＳ１０３に移行する。また、システム制御部１２１は、通信制御部１１４がＩ／Ｆ１０４を介して受信したジョブのデータに割り込みジョブであることを示す情報（コマンド、コード等）が含まれていなければ、非割り込みジョブと判断し（ステップＳ１０２：Ｎｏ）、ステップＳ１０３に移行する。
これに対し、システム制御部１２１は、パネル操作制御部１１９がパネル部１０５を介して割り込みコピーのボタン操作を受け付けたことを示す通知が有れば、割り込みジョブと判断し（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０８に移行する。また、システム制御部１２１は、通信制御部１１４がＩ／Ｆ１０４を介して受信したジョブのデータに割り込みジョブであることを示す情報（コマンド、コード等）が含まれていれば、割り込みジョブと判断し（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０８に移行する。
【００２９】
（ステップＳ１０３）
システム制御部１２１は、メモリー管理部１１８に対し、非割り込みジョブに対するメモリー領域１１５ａの割り当てを指示する。
このとき、メモリー管理部１１８は、図３（ａ）に示したように、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに非割り込みジョブに対するメモリー領域（以降、「メモリー領域１１５ａ等」と記述する。）を割り当て、非割り込みジョブのデータをメモリー領域１１５ａに記憶する。このとき、システム制御部１２１は、非割り込みジョブをジョブキューに登録する。その後、システム制御部１２１は、処理をステップＳ１０４に移行する。
なお、システム制御部１２１は、ジョブ割り当て領域１１５Ａに非割り込みジョブのデータのサイズを満たす物理的に連続した空き領域がない場合、非割り込みジョブをジョブキューに登録し、メモリー管理部１１８に非割り込みジョブに対するメモリー領域の割り当てを待機させる。
【００３０】
（ステップＳ１０４）
システム制御部１２１は、割り込みジョブ予約領域が確保されているかどうかを判断する。
この場合、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約しているとき、割り込みジョブ予約領域が確保されていると判断し（ステップＳ１０１：Ｙｅｓ）、ステップＳ１０６に移行する。
これに対し、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約していないとき、割り込みジョブ予約領域が確保されていないと判断し（ステップＳ１０１：Ｎｏ）、ステップＳ１０５に移行する。
【００３１】
（ステップＳ１０５）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブ予約領域を確保させる。
このとき、メモリー管理部１１８は、図３（ａ）に示したように、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り込みジョブに対するメモリー領域１１５ｂを確保する。その後、システム制御部１２１は、処理をＳ１０６に移行する。
【００３２】
（ステップＳ１０６）
システム制御部１２１は、非割り込みジョブの処理状況を監視し、メモリー管理部１１８に対し、非割り込みジョブ終了後、終了した非割り込みジョブに割り当てられたメモリー領域１１５ａ等を解放させ、ステップＳ１０７に移行する。
【００３３】
（ステップＳ１０７）
システム制御部１２１は、ジョブキューが空かどうかを判断する。
この場合、システム制御部１２１は、ジョブキューを確認し、ジョブキューが空と判断すると（ステップＳ１０７：Ｙｅｓ）、ステップＳ１０８に移行する。
これに対し、システム制御部１２１は、ジョブキューを確認し、ジョブキューが空でないと判断すると（ステップＳ１０７：Ｎｏ）、処理を終了する。
【００３４】
（ステップＳ１０８）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブ予約領域を解放させる。
このとき、メモリー管理部１１８は、図３（ａ）に示したＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り込みジョブに対するメモリー領域１１５ｂが確保されている場合、メモリー管理部１１８に対し、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り当てられているメモリー領域１１５ｂ（割り込みジョブ予約領域）を解放する。その後、システム制御部１２１は、処理を終了する。
【００３５】
（ステップＳ１０９）
システム制御部１２１は、割り込みジョブ予約領域が確保されているかどうかを判断する。
この場合、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約していないとき、割り込みジョブ予約領域が確保されていないと判断し（ステップＳ１０９：Ｎｏ）、ステップＳ１１０に移行する。メモリー管理部１１８が割り込みジョブ予約領域を予約していないときとは、典型的には、ジョブ割り当て領域１１５Ａに、メモリー領域１１５ａ等が割り当てられていない状態において、割り込みジョブが最初に受け付けられた場合である。
これに対し、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約しているとき、割り込みジョブ予約領域が確保されていると判断し（ステップＳ１０９：Ｙｅｓ）、ステップＳ１１１に移行する。
【００３６】
（ステップＳ１１０）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブに対するメモリー領域の割り当てを指示する。このとき、メモリー管理部１１８は、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り込みジョブに対するメモリー領域（図２に示したメモリー領域１１５ｄに相当）を割り当て、割り込みジョブのデータをメモリー領域１１５ｄに記憶する。その後、システム制御部１２１は、処理をステップＳ１１１に移行する。
【００３７】
（ステップＳ１１１）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブに対するメモリー領域の割り当てを指示する。
このとき、メモリー管理部１１８は、図３（ａ）に示したように、ＲＡＭ１１５のジョブ割り当て領域１１５Ａのメモリー領域１１５ｂ（割り込みジョブ予約領域）を解放し、に割り込みジョブにメモリー領域１１５ｂを割り当て、割り込みジョブのデータを図３（ｂ）に示すメモリー領域１１５ｂ１に記憶する。その後、システム制御部１２１は、処理をステップＳ１１２に移行する。
【００３８】
（ステップＳ１１２）
システム制御部１２１は、割り込みジョブの処理状況を監視し、メモリー管理部１１８に対し、割り込みジョブ終了後、終了した割り込みジョブに割り当てたられたメモリー領域を解放させる。
このとき、メモリー管理部１１８は、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り当てられている割り込みジョブに対するメモリー領域（図２（ａ）に示したメモリー領域１１５ｄに相当する領域又は図３（ｂ）に示した１１５ｂ１）を解放する。その後、システム制御部１２１は、処理をステップＳ１１３に移行する。
【００３９】
（ステップＳ１１３）
システム制御部１２１は、ジョブキューが空かどうかを判断する。
この場合、システム制御部１２１は、ジョブキューを確認し、ジョブキューが空と判断すると（ステップＳ１１３：Ｙｅｓ）、処理を終了する。
これに対し、システム制御部１２１は、ジョブキューを確認し、ジョブキューが空でないと判断すると（ステップＳ１１３：Ｎｏ）、ステップＳ１１４に移行する。
【００４０】
（ステップＳ１１４）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブ予約領域を確保させる。
このとき、メモリー管理部１１８は、図３（ａ）に示したように、ＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り込みジョブに対するメモリー領域１１５ｂを確保する。その後、システム制御部１２１は、処理を終了する。
【００４１】
次に、図５を参照し、ＲＡＭ１１５に対する割り込みジョブ予約領域の確保の他の例について説明する。図５に示す処理は、割り込みジョブが発生する度に、ジョブ毎に実行される。
【００４２】
（ステップＳ２０１）
システム制御部１２１は、割り込みジョブを受け付けたかどうかを判断する。
この場合、システム制御部１２１は、割り込みジョブを受け付けていないとき、割り込みジョブを受け付けるまで処理を待機する（ステップＳ２０１：Ｎｏ）。
これに対し、システム制御部１２１は、ジョブキューが割り込みジョブを受け付けたとき（ステップＳ２０１：Ｙｅｓ）、ステップＳ２０２に移行する。
【００４３】
（ステップＳ２０２）
システム制御部１２１は、メモリー領域の割り当てが可能かどうかを判断する。
この場合、システム制御部１２１は、メモリー管理部１１８が管理しているジョブ割り当て領域１１５Ａに、割り込みジョブのデータのサイズを満たす物理的に連続した空き領域が有るかどうかを確認し、割り込みジョブのサイズを満たす物理的に連続した空き領域が無い場合はメモリー領域の割り当てが不可能であると判断し（ステップＳ２０２：Ｎｏ）、ステップＳ２０３に移行する。
これに対し、システム制御部１２１は、メモリー管理部１１８が管理しているジョブ割り当て領域１１５Ａに、割り込みジョブのサイズを満たす物理的に連続した空き領域が有るかどうかを確認し、割り込みジョブのサイズを満たす物理的に連続した空き領域が有る場合はメモリー領域の割り当てが可能であると判断し（ステップＳ２０２：Ｙｅｓ）、ステップＳ２０７に移行する。
【００４４】
（ステップＳ２０３）
システム制御部１２１は、割り込みジョブのサイズが割り込みジョブ予約領域のサイズより小さいかどうかを判断する。
この場合、システム制御部１２１は、図３（ｂ）に示したように、割り込みジョブのサイズが割り込みジョブ予約領域のサイズより小さいとき（ステップＳ２０３：Ｙｅｓ）、ステップＳ２０５に移行する。
これに対し、システム制御部１２１は、図３（ｂ）に示したように、割り込みジョブのサイズが割り込みジョブ予約領域のサイズより大きいとき（ステップＳ２０３：Ｎｏ）、ステップＳ２０４に移行する。
【００４５】
（ステップＳ２０４）
システム制御部１２１は、割り込みジョブをジョブキューに登録する。
この場合、システム制御部１２１は、割り込みジョブをジョブキューに登録すると、ステップＳ２０２に戻り、メモリー領域の割り当てが可能となるまで待機する。この場合、システム制御部１２１は、先行する非割り込みジョブを実行し、非割り込みジョブが終了した後、非割り込みジョブに割り当てられたメモリー領域１１５ａ等が解放されると、処理をステップＳ２０２に移行する。
【００４６】
（ステップＳ２０５）
システム制御部１２１は、割り込みジョブ予約領域が確保されているかどうかを判断する。
この場合、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約していないとき、割り込みジョブ予約領域が確保されていないと判断し（ステップＳ２０５：Ｎｏ）、ステップＳ２０４に移行する。
これに対し、システム制御部１２１は、メモリー管理部１１８が割り込みジョブ予約領域を予約しているとき、割り込みジョブ予約領域が確保されていると判断し（ステップＳ２０５：Ｙｅｓ）、ステップＳ２０６に移行する。
【００４７】
（ステップＳ２０６）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブ予約領域を解放させる。
このとき、メモリー管理部１１８は、図３（ｂ）に示したＲＡＭ１１５のジョブ割り当て領域１１５Ａに割り当てられている割り込みジョブに対するメモリー領域１１５ｂを解放する。
【００４８】
（ステップＳ２０７）
システム制御部１２１は、メモリー管理部１１８に対し、割り込みジョブにメモリー領域を割り当てさせる。
このとき、メモリー管理部１１８は、ステップＳ２０６の後、図３（ｂ）に示した割り込みジョブのための領域１１５ｂを解放した後、メモリー領域１１５ｄ内に割り込みジョブのサイズに見合った領域１１５ｂ１を割り当てる。
また、メモリー管理部１１８は、ステップＳ２０２で「ＹＥＳ」の場合、ＲＡＭ１１５のジョブ割り当て領域１１５Ａの物理的に連続した空き領域を割り込みジョブに対するメモリー領域（図２（ａ）に示すメモリー領域１１５ｄに相当）として割り当てる。
システム制御部１２１は、割り込みジョブにメモリー領域を割り当てた後、図４に示すステップＳ１１２以降の処理を実行する。
なお、本実施形態において、システム制御部１２１は、メモリー管理部１１８に対し、非割り込みジョブ又は割り込みジョブがそれぞれ終了する度に、ＲＡＭ１１５のワーク領域１１５Ｂを解放させてもよいし、ジョブキューが空になった場合にワーク領域１１５Ｂを解放させてもよい。ワーク領域１１５Ｂが解放されたことによって形成される物理的に連続した空き領域を、ジョブ割り当て領域１１５Ａのメモリー領域として割り込みジョブ又は非割り込みジョブを割り当てることができる。
【００４９】
このように、本実施形態では、メモリー管理部１１８により、ＲＡＭ１１５（揮発性メモリー）に対し、非割り込みジョブにメモリー領域１１５ａ（第１のメモリー領域）を割り当て、システム制御部１２１により、非割り込みジョブを受け付けると、メモリー管理部１１８に対し、メモリー領域１１５ｂ（第２のメモリー領域）を割り込みジョブ予約領域として確保させる。また、システム制御部１２１は、メモリー管理部１１８に対し、非割り込みジョブの実行中に割り込みジョブを受け付けると、メモリー領域１１５ｂ（第２のメモリー領域）を割り込みジョブ用として割り当てさせる。
【００５０】
これにより、ＲＡＭ１１５（揮発性メモリー）のワーク領域に生じる断片化が広がっている場合でも、ＲＡＭ１１５（揮発性メモリー）に対する非割り込みジョブの割り当てが行われると、直ちに割り込みジョブのための割り込みジョブ予約領域が確保されるので、割り込みジョブに対するメモリー領域１１５ｂ（第２のメモリー領域）の割り当てを適切に行うことができる。
【００５１】
なお、本実施形態では、メモリー管理装置をＭＦＰ１００とした場合としているが、この例に限らず、多機能プリンターや、ＰＣ（Personal Computer）等の他のメモリー管理装置に適用してもよい。
【符号の説明】
【００５２】
１００  ＭＦＰ
１０１  スキャナー部
１０２  プリンター部
１０３  ＦＡＸ部
１０４  Ｉ／Ｆ
１０５  パネル部
１０６  ＨＤＤ
１１０  制御部
１１１  スキャナー制御部
１１２  プリンター制御部
１１３  ＦＡＸ制御部
１１４  通信制御部
１１５  ＲＡＭ
１１６  EEPROM
１１５Ａ  ジョブ割り当て領域
１１５Ｂ  ワーク領域
１１５ａ〜１１５ｅ  メモリー領域
１１５ｂ１  領域
１１７  画像処理部
１１８  メモリー管理部
１１９  パネル操作制御部
１２０  ＨＤＤ制御部
１２１  システム制御部
１２２  データバス
【図１】
2019129425.tif 000003
【図２】
2019129425.tif 000004
【図３】
2019129425.tif 000005
【図４】
2019129425.tif 000006
【図５】
2019129425.tif 000007