(57)【要約】【課題】少ないメモリー容量でも適切にマルチタスク機能を実行できる電子機器およびメモリー管理プログラムの提供。【解決手段】複数の処理からなるジョブが実行される制御部と、前記処理を実行するための作業領域が確保されるメモリーと、前記メモリー上に、前記作業領域を確保するメモリー管理部と、前記処理ごとの実行に必要な前記作業領域の量を把握し、実行する前記処理に必要な前記作業領域を前記メモリー管理部に確保させ、１つの前記処理の完了後、次の前記処理の実行時に、完了した前記処理において既に確保されている前記作業領域の量を、前記次の処理に必要な量に調整するように前記メモリー管理部に指示するジョブ管理部とを備える。【選択図】図６
2016192011.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理からなるジョブが実行される制御部と、
前記処理を実行するための作業領域が確保されるメモリーと、
前記メモリー上に、前記作業領域を確保するメモリー管理部と、
前記処理ごとの実行に必要な前記作業領域の量を把握し、
実行する前記処理に必要な前記作業領域を前記メモリー管理部に確保させ、
１つの前記処理の完了後、次の前記処理の実行時に、完了した前記処理において既に確保されている前記作業領域の量を、前記次の処理に必要な量に調整するように前記メモリー管理部に指示するジョブ管理部と
を備えた
電子機器。
【請求項２】
複数の処理からなるジョブが制御部上で実行されるとき、
前記処理を実行するための作業領域をメモリー上に確保し、
前記処理ごとの実行に必要な前記作業領域の量を把握し、
１つの前記処理の完了後、次の前記処理の実行時に、完了した前記処理において既に確保されている前記作業領域の量を、前記次の処理に必要な量に調整する
手順をコンピューターに実行させるメモリー管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリーを利用して処理を行う電子機器およびメモリー管理プログラムに関する。
【背景技術】
【０００２】
従来、情報処理を行う電子機器、特に組込み機器では、処理を行うための領域が確保されるメモリーの容量が少ない（メモリーのリソースが充分ではない）状況において、効率的に処理を行うための様々な工夫が行われてきた。
【０００３】
例えば、特許文献１において開示されている技術では、複数のタスクが一定容量のメモリーを共有してマルチタスク処理を行う情報処理装置において、あるタスクがメモリーを要求した時にメモリーに空きが無い場合、メモリー上に既に領域を確保している他のタスクに対してメモリー解放要求を出し、解放されたメモリーの領域をメモリー要求したタスクに即座に割り当てている。
【０００４】
そのため、特許文献１の技術を用いた情報処理装置では、メモリー容量が少ない場合でも、マルチタスク機能を実行することが出来るとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−６２５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術では、タスク１がメモリー上の領域を確保して処理を行っているときに、新たにタスク２がメモリー上の作業領域を要求し、タスク1が使用していた領域が解放されタスク２に割り当てられると、タスク２は処理を開始できるがタスク１は処理が行えない状態になる。
【０００７】
そのため、タスク1が処理を再開するには、タスク２の処理が終了し、再度メモリーがタスク１に割り当てられるまで待たなければならなかった。
【０００８】
以上のような事情に鑑み、本発明の目的は、少ないメモリー容量でも適切にマルチタスク機能を実行できる電子機器およびメモリー管理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一形態に係る電子機器は、複数の処理からなるジョブが実行される制御部と、前記処理を実行するための作業領域が確保されるメモリーと、前記メモリー上に、前記作業領域を確保するメモリー管理部と、前記処理ごとの実行に必要な前記作業領域の量を把握し、実行する前記処理に必要な前記作業領域を前記メモリー管理部に確保させ、１つの前記処理の完了後、次の前記処理の実行時に、完了した前記処理において既に確保されている前記作業領域の量を、前記次の処理に必要な量に調整するように前記メモリー管理部に指示するジョブ管理部とを備える。そのため、少ないメモリー容量でも適切にマルチタスク（マルチジョブ）機能を実行できる。
【００１０】
上記目的を達成するため、本発明の一形態に係るメモリー管理プログラムは、複数の処理からなるジョブが制御部上で実行されるとき、前記処理を実行するための作業領域をメモリー上に確保し、前記処理ごとの実行に必要な前記作業領域の量を把握し、１つの前記処理の完了後、次の前記処理の実行時に、完了した前記処理において既に確保されている前記作業領域の量を、前記次の処理に必要な量に調整する手順をコンピューターに実行させる。
【発明の効果】
【００１１】
以上のように、本発明によれば、少ないメモリー容量でも適切にマルチタスク機能を実行できる。
【図面の簡単な説明】
【００１２】
【図１】電子機器１０の構成図である。
【図２】ＣＰＵ１１により実現される機能ブロックを示す図である。
【図３】典型的な技術によって、各ジョブがメモリーを使用する状況を示す図である。
【図４】典型的な技術によって行われるメモリー管理の流れについて説明するためのフローチャートである。
【図５】本発明の技術によって、各ジョブがメモリーを使用する状況を示す図である。
【図６】本発明の技術によって行われるメモリー管理の流れについて説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１４】
なお、以下の説明では、最初に本発明の一実施形態にかかる電子機器の構成を説明し、次いで、典型的な技術によるメモリーの管理方法とその管理方法による処理の流れを説明し、最後に、本発明の一実施形態にかかる電子機器でのメモリー管理方法とその管理方法による処理の流れについて説明する。
【００１５】
なお、上記の説明では、複数の処理を同時並行して行うことに関して、１つの処理をタスクと呼び、同時並行して処理することをマルチタスクと呼んだが、以下の説明では、１つの処理をジョブと呼び、同時並行して処理することをマルチジョブと呼ぶ。
【００１６】
例えば、本発明の一実施形態にかかる電子機器を画像形成装置（ＭＦＰ、Multifunction Peripheral）として実現する場合には、紙原稿をスキャンして画像編集し印刷するコピー処理や、ＰＣ（Personal Computer）などのホストコンピューターから受信したデータを印刷する印刷処理などが、それぞれ１つのジョブとなる。
【００１７】
また、コピー処理は、紙原稿をスキャンしてメモリーに読み込むまでの入力処理と、入力処理が完了した後に行われる、メモリーに読み込んだ画像データを編集して印刷する編集処理とに大別することが出来る。
【００１８】
画像形成装置では、例えば、マルチジョブとして、コピー処理と印刷処理を同時並行して行うことが出来る。
【００１９】
以下の説明では、本発明の一実施形態にかかる電子機器が、入力処理と編集処理を行うコピー処理（以下、ジョブ１と呼ぶ）と、印刷処理（以下、ジョブ２と呼ぶ）を行うものとして、説明する。
【００２０】
［構成]
次に、電子機器１０の構成について説明する。電子機器１０の構成図を図１に示す。
【００２１】
図１に示すように、電子機器１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、操作入力部１４、通信部１５、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。なお、ＲＡＭ１３とメモリーは、同じものである。
【００２２】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中のジョブに対応する各種データを一時的に保持する。
【００２３】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データが記憶される。
【００２４】
通信部１５は、外部のＰＣなどと情報のやりとりを行う為のネットワークと結ばれている。
【００２５】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、外部のＰＣまたは操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する制御部である。
【００２６】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００２７】
表示部１６は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイ等である。
【００２８】
次に、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明する。図２は、ＣＰＵ１１により実現される機能ブロックを示す図である。
【００２９】
電子機器１０のＣＰＵ１１において実現される機能ブロックは、ジョブ管理部１１ａおよびメモリー管理部１１ｂである。
【００３０】
ジョブ管理部１１ａは、ＣＰＵ１１において実行される各ジョブを管理する。各ジョブは、複数の処理からなるものであってもよい。より具体的には、ユーザーから指定されたジョブに含まれる各処理の実行を開始したり、終了させたりする。また、ジョブ管理部１１ａは、１つのジョブ、例えば、コピー処理において最初に実行される入力処理が完了すると、完了通知をジョブから受け取って各ジョブ内のどの処理が実行されているかを認識することが出来てもよい。
【００３１】
メモリー管理部１１ｂは、各ジョブの各処理から、使用するメモリーの作業領域の確保の要求を受け付け、メモリー内に要求された量の作業領域を確保してジョブに使用させる。また、メモリー管理部１１ｂは、既にジョブのある処理のために作業領域が確保されているときそのジョブの次の処理に必要な量に確保する作業領域の量を調整したり、各ジョブからの作業領域解放要求を受け付け、指定された量の作業領域を解放したりする。
【００３２】
以上、電子機器１０の構成について説明した。
【００３３】
［典型的な技術によるメモリー使用について］
次に、典型的な技術によって、各ジョブがメモリーを使用する場合について説明する。図３は、典型的な技術によって、各ジョブがメモリーを使用する状況を示す図である。
【００３４】
典型的な技術では、先に実行が開始されたジョブ１が、入力処理に用いる作業領域１３ａと編集処理に用いる作業領域１３ｂを予めそれぞれ確保している。
【００３５】
そのため、ジョブ２が使用できる作業領域１３ｃは、ＲＡＭ１３の全体から、入力処理用作業領域１３ａと編集処理用作業領域１３ｂを引いた残りとなり、かなり少なくなってしまう。
【００３６】
ジョブ２で使用できる作業領域が少な過ぎる場合、ジョブ２をジョブ１と同時並行して行うことが出来なくなることもある。
【００３７】
以上、典型的な技術によって、各ジョブがメモリーを使用する場合について説明した。
【００３８】
［典型的な技術によるメモリー管理の流れ］
次に、典型的な技術によって行われるメモリー管理の流れについて説明する。図４は、典型的な技術によって行われるメモリー管理の流れについて説明するためのフローチャートである。
【００３９】
まず、ジョブ管理部１１ａがメモリー管理部１１ｂに対して、ジョブ１の入力処理および編集処理で必要な作業領域を要求し、メモリー管理部１１ｂが、ＲＡＭ１３上にジョブ１の全ての処理で必要な作業領域を確保する（ステップＳ１）。
【００４０】
次に、ジョブ管理部１１ａは、ジョブ１に、入力処理を実行させる（ステップＳ２）。
【００４１】
次に、ジョブ管理部１１ａは、ジョブ１の入力処理が完了したか否かを判断する（ステップＳ３）。
【００４２】
ジョブ１の入力処理が完了していない場合（ステップＳ３のＮ）、ジョブ管理部１１ａは、ステップＳ２に戻り、ジョブ１に入力処理を継続させる。
【００４３】
ジョブ１の入力処理が完了している場合（ステップＳ３のＹ）、ジョブ管理部１１ａは、ジョブ１の次の処理である編集処理をジョブ１に実行させる（ステップＳ４）。
【００４４】
次に、ジョブ管理部１１ａは、ジョブ１の編集処理が完了したか否かを判断する（ステップＳ５）。
【００４５】
ジョブ１の編集処理が完了していない場合（ステップＳ５のＮ）、ジョブ管理部１１ａは、ステップＳ４に戻り、ジョブ１に編集処理を継続させる。
【００４６】
ジョブ１の編集処理が完了している場合（ステップＳ５のＹ）、ジョブ管理部１１ａは、メモリー管理部１１ｂに対し、ジョブ１用に確保していた作業領域を解放するように要求し、メモリー管理部１１ｂは、ジョブ１用に確保していた作業領域を解放する（ステップＳ６）。
【００４７】
以上、典型的な技術によって行われるメモリー管理の流れについて説明した。
【００４８】
なお、上記の説明では、典型的な技術を用いた場合に、ジョブ管理部１１ａおよびメモリー管理部１１ｂがどのような動作をするかを説明したものであり、本実施形態にかかる電子機器１０のジョブ管理部１１ａおよびメモリー管理部１１ｂの本来の動作を説明したものではない。ジョブ管理部１１ａおよびメモリー管理部１１ｂの本来の動作については後述する。
【００４９】
［本発明の技術によるメモリー使用について］
次に、本発明の技術によって、各ジョブがメモリーを使用する場合について説明する。図５は、本発明の技術によって、各ジョブがメモリーを使用する状況を示す図である。
【００５０】
本発明の技術では、上述した典型的な技術と異なり、ジョブ１の処理の進行に従って、ＲＡＭ１３上に確保される作業領域の量が変化する。
【００５１】
最初、メモリー管理部１１ｂは、ジョブ１が入力処理を行う場合には、図５の左側に示すように、ＲＡＭ１３上には、ジョブ１で確保する作業領域として、入力処理で用いられる作業領域１３ａだけを確保する。
【００５２】
そのため、ジョブ２で使うことが出来る残りの作業領域１３ｄは、典型的な技術を用いた場合の残り作業領域１３ｃよりも多くなり、ジョブ２が同時並行して実行されやすくなる。
【００５３】
次に、ジョブ１が編集処理を行う場合に、メモリー管理部１１ｂは、図５の右側に示すように、ＲＡＭ１３上には、ジョブ１で確保する作業領域として、編集処理で用いられる作業領域１３ｂだけを確保する。
【００５４】
具体的には、メモリー管理部１１ｂは、作業領域１３ａを一旦、解放して作業領域１３ｂを確保する。または、メモリー管理部１１ｂは、作業領域１３ａのうち、ジョブ１の編集処理に必要な領域以外の領域を解放することにより、作業領域１３ｂを確保する。
【００５５】
例えば、画像形成装置では、紙原稿を読み取る入力処理では、ユーザーがどのようなサイズの用紙を読み込ませるかが事前に分からないため、最大サイズの用紙に合わせた入力用作業領域を確保する必要がある。しかし、読み込んだデータを印刷する編集処理では、実際の用紙サイズに合わせた量だけ作業領域を確保すればよいので、確保する作業領域の量が入力処理に必要な量よりも削減されることが多い。
【００５６】
そのため、ジョブ２で使うことが出来る残りの作業領域１３ｅは、典型的な技術を用いた場合の残り作業領域１３ｃまたは本発明の技術を用いて入力処理を行っている場合の残り作業領域１３ｄよりも多くなり、ジョブ２が同時並行して実行されやすくなる。
【００５７】
以上、本発明の技術によって、各ジョブがメモリーを使用する場合について説明した。
【００５８】
［本発明の技術によるメモリー管理の流れ］
次に、本発明の技術によって行われるメモリー管理の流れについて説明する。図６は、本発明の技術によって行われるメモリー管理の流れについて説明するためのフローチャートである。
【００５９】
まず、ジョブ管理部１１ａがメモリー管理部１１ｂに対して、ジョブ１の入力処理で必要な作業領域のみを要求し、メモリー管理部１１ｂが、ＲＡＭ１３上にジョブ１の入力処理で必要な作業領域を確保する（ステップＳ１０）。
【００６０】
次に、ジョブ管理部１１ａは、ジョブ１に、入力処理を実行させる（ステップＳ１１）。
【００６１】
次に、ジョブ管理部１１ａは、ジョブ１の入力処理が完了したか否かを判断する（ステップＳ１２）。
【００６２】
ジョブ１の入力処理が完了していない場合（ステップＳ１２のＮ）、ジョブ管理部１１ａは、ステップＳ１１に戻り、ジョブ１に入力処理を継続させる。
【００６３】
ジョブ１の入力処理が完了している場合（ステップＳ１２のＹ）、ジョブ管理部１１ａがメモリー管理部１１ｂに対して、ジョブ１の編集処理で必要な作業領域を要求し、メモリー管理部１１ｂが、ＲＡＭ１３上に確保されているジョブ１用の作業領域を、編集処理で必要な作業領域の量になるように調整する（ステップＳ１３）。
【００６４】
次に、ジョブ管理部１１ａは、ジョブ１の次の処理である編集処理をジョブ１に実行させる（ステップＳ１４）。
【００６５】
次に、ジョブ管理部１１ａは、ジョブ１の編集処理が完了したか否かを判断する（ステップＳ１５）。
【００６６】
ジョブ１の編集処理が完了していない場合（ステップＳ１５のＮ）、ジョブ管理部１１ａは、ステップＳ１４に戻り、ジョブ１に編集処理を継続させる。
【００６７】
ジョブ１の編集処理が完了している場合（ステップＳ１５のＹ）、ジョブ管理部１１ａは、メモリー管理部１１ｂに対し、ジョブ１用に確保していた作業領域を解放するように要求し、メモリー管理部１１ｂは、ジョブ１用に確保していた作業領域を解放する（ステップＳ１６）。
【００６８】
以上、本発明の技術によって行われるメモリー管理の流れについて説明した。
【００６９】
［補足事項］
なお、上述した典型的な技術とは別の典型的な技術として、最初、ジョブ１では入力処理用のメモリー１３ａのみを確保し、次の編集処理では、入力処理用に確保された作業領域１３ａをそのまま使用する方法もある。
【００７０】
その場合、上述した典型的な技術によるメモリー管理方法よりもジョブ２が実行できる可能性は高まるが、本発明によるメモリー管理方法よりはジョブ２が実行できる可能性は低いものとなる。
【００７１】
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００７２】
１０  …  電子機器
１１  …  ＣＰＵ
１１ａ…  ジョブ管理部
１１ｂ…  メモリー管理部
１２  …  ＲＯＭ
１３  …  ＲＡＭ
１４  …  操作入力部
１５  …  通信部
１６  …  表示部
１７  …  記憶部
１８  …  バス
【図１】
2016192011.tif 000003
【図２】
2016192011.tif 000004
【図３】
2016192011.tif 000005
【図４】
2016192011.tif 000006
【図５】
2016192011.tif 000007
【図６】
2016192011.tif 000008