JP4560493B2 - 画像形成装置 - Google Patents

画像形成装置 Download PDF

Info

Publication number
JP4560493B2
JP4560493B2 JP2006133649A JP2006133649A JP4560493B2 JP 4560493 B2 JP4560493 B2 JP 4560493B2 JP 2006133649 A JP2006133649 A JP 2006133649A JP 2006133649 A JP2006133649 A JP 2006133649A JP 4560493 B2 JP4560493 B2 JP 4560493B2
Authority
JP
Japan
Prior art keywords
job
data
area
status
kernel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006133649A
Other languages
English (en)
Other versions
JP2007304938A (ja
Inventor
博幸 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2006133649A priority Critical patent/JP4560493B2/ja
Priority to US11/801,552 priority patent/US7911639B2/en
Publication of JP2007304938A publication Critical patent/JP2007304938A/ja
Application granted granted Critical
Publication of JP4560493B2 publication Critical patent/JP4560493B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、各ジョブのプロセス毎の仮想アドレス空間を実アドレス空間にマッピングしてマルチジョブを実行する画像形成装置に係り、特に共有メモリの管理を行う画像形成装置に関する。
この種の画像形成装置では、1つのMPUでコピー、プリント、スキャン、ファクシミリなどの複数の機能を並列処理するために、マルチタスク処理が可能なオペレーティングシステムが用いられている。OSのカーネル空間とプロセス空間とは互いに異なり、複数のプロセス空間もそれぞれ異なり、異なる空間の一方から他方をアクセスできないので、同じデータを異なる空間でアクセスするためには、アクセス前に、一方の空間から他方の空間へコピーを行う必要がある。
下記特許文献1には、画像形成装置においてメモリ管理手段が、USBデバイスドライバが使用するカーネル空間内の領域とプロセスのUSBインタフェースモジュールが使用するプロセス空間内の領域とを同一物理記憶領域に割り当てる構成が開示されている。
しかしながら、この特許文献1には、マルチプロセスにおけるプロセスとカーネルでのメモリ共有については、開示されていない。この場合、カーネルはプロセスからのメモリ獲得や解放の要求に応答するが、各プロセスが勝手にメモリ獲得要求をすると、メモリ獲得のためにジョブのウエイトが多くなり、マルチジョブを効率的に行うことができない。
また、下記特許文献2に開示されているように、各ジョブからのメモリ獲得要求に対し調停を行うミドルウェアをOSとアプリケーションの間に配置してプラットフォームを拡大すると、既存のソフトウェア資産を利用できなくなるとともに、階層が1つ増えるのでその構造が複雑になる。
特開2003−248626号公報 特開2002−084383号公報
本発明の目的は、上記問題点に鑑み、簡単な構成で、マルチプロセスにおける複数のプロセスとカーネルとの間の、それぞれ互いに異なる共有領域の該カーネルに対する獲得要求を適切に行うことにより、マルチジョブを効率的に行うことが可能な画像形成装置を提供することにある。
本発明の第1態様では、プロセッサと、該プロセッサに結合された複数の画像入力手段と、該プロセッサに結合され仮想アドレス空間及び実アドレス空間を構成するとともにオペレーティングシステムが格納された記憶手段とを備え、該オペレーティングシステムが該プロセッサに対し各ジョブのプロセス毎の仮想アドレス空間を実アドレス空間にマッピングさせてマルチジョブを実行させる画像形成装置において、
該実アドレス空間は、実行中のプロセスについての各仮想アドレス空間内のデータ領域が、プロセス間で互いに異なるようにマッピングされるとともに該オペレーティングシステムのカーネルによりアクセスされる第1共有領域と、実行中の各ジョブの状態及び実行中の各ジョブの該第1共有領域内の確保状況が格納される第2共有領域とを有し、
各仮想アドレス空間内のプロセスは、互いに同一内容のジョブページ保証プログラムを備え、該ジョブページ保証プログラムは、該プロセッサに対し、各ジョブの該状態及び該確保状況に基づいて、そのジョブへの該第1共有領域内の非圧縮データ1頁分の割当記憶領域サイズを決定させて、このサイズの領域確保を該カーネルを介し要求させるとともに該確保状況を変更させ、ジョブの出力完了通知に応答して、このジョブに対する該第1共有領域内の割当領域解放を該カーネルを介し要求させるとともに該確保状況を変更させる。
本発明による画像形成装置の第2態様では、第1態様において、該第1共有領域は、カーネルアドレス空間内のダイレクトメモリアクセスバッファ領域である。
上記第1態様の構成によれば、実アドレス空間に、実行中のプロセスについての各仮想アドレス空間内のデータ領域がマッピングされとともにオペレーティングシステムのカーネルによりアクセスされる第1共有領域と、実行中の各ジョブの状態及び実行中の各ジョブの該第1共有領域内の確保状況が格納される第2共有領域とを有し、各仮想アドレス空間内のプロセスは、互いに同一内容のジョブページ保証プログラムを備え、該ジョブページ保証プログラムは、各ジョブの該状態及び該確保状況に基づいて、カーネルに対し要求する、そのジョブへの該第1共有領域内の非圧縮データ1頁分の割当記憶領域サイズを決定して、このサイズの領域確保を該カーネルに要求するとともに該確保状況を変更し、ジョブの出力完了通知に応答して、このジョブに対する該第1共有領域内の割当領域解放を該カーネルに要求するとともに該確保状況を変更するので、簡単な構成で、マルチプロセスにおける複数のプロセスとカーネルとの間の、それぞれ互いに異なる共有領域の該カーネルに対する獲得要求が適切に行われて、マルチジョブを効率的に行うことが可能となるという効果を奏する。
上記第2態様の構成によれば、該第1共有領域は、カーネルアドレス空間内のダイレクトメモリアクセスバッファ領域であるので、さらに、ダイレクトメモリアクセスによりカーネルアドレス空間内へ入力された画像データをプロセス空間内へコピーすることなく、該プロセスで処理することが、各プロセスについて可能になるという効果を奏する。
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
図6は、本発明の実施例1に係る画像形成装置10の概略ブロック図である。
この画像形成装置10では、MPU11、ROM12、DRAM13、ダイレクトメモリアクセスコントローラ(DMAC)14、不揮発性メモリ(NVRAM)15、インタフェース16I〜20I、ネットワークインタフェースNIC21及びモデム22の間がバス23で結合され、インタフェース16I〜20Iにそれぞれハードディスクドライブ(HDD)16、オートシートフィーダ17、スキャナ18、プリンタ19及び操作パネル20が結合されている。
ROM12には、ブートストラップ及びBIOSが格納される。DRAM13は、主メモリとして用いられる。NVRAM15は、例えばフラッシュメモリである。NVRAM15には初期設定値が格納され、その一部は操作パネル20を操作して変更される。
HDD16には、図1に示す如く、オペレーティングシステム(OS)25(多重仮想記憶方式でマルチジョブを実行可能にするカーネル25aを含む。)、OS25の上層で動作するコピーアプリケーション26、プリントアプリケーション27、スキャナアプリケーション28及びファクシミリアプリケーション29、これらアプリケーション26〜29でその一部として用いられるジョブページ保証ライブラリ30、並びに、OSの下層で動作する各種デバイスドライバが格納されている。これらデバイスドライバには、スキャンエンジン18a、プリントエンジン19a、ネットワークインタフェース21、モデム22、DRAM13及びDMAC14に対するものがある。HDD16は、データ格納用としても用いられる。
図6に戻って、スキャナ18は、オートシートフィーダ17と連動して画像入力を行うものであり、コピー及びファックス送信のジョブで用いられる。プリンタ19は、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、印刷データとして供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。操作パネル20は例えば、タッチパネル及びハードウェアキーを備えており、設定情報又は指示を入力し、選択画面や設定画面などを表示させるためのものである。NIC21は、ネットワーク上の外部のホストコンピュータに接続されてプリントジョブに用いられる。モデム22はファックス送受信用である。
DMAC14は、アプリケーションからカーネル25a及びデバイスドライバを介して供給される命令に応答して、スキャナインタフェース18IからのスキャンデータをDRAM13に転送させ、DRAM13内のデータをプリンタインタフェース19Iに転送させ、ネットワークインタフェース21からのプリントデータをDRAM13に転送させ、モデム22とDRAM13との間でファクシミリの送信データ又は受信データを転送させる。
図4は、あるジョブを構成するプロセスの仮想アドレス空間(プロセス空間)P1Sと、他のジョブのプロセス空間P2Sと、これらの一部がマッピングされた実アドレス空間RSとの関係を示す。
例えば、コピージョブ26Jは、スキャンエンジン18aでの画像入力プロセスとプリントエンジン19aでの画像出力プロセスとを有し、プリントジョブ27Jは、NIC21での画像入力プロセスとプリントエンジン19aでの画像出力プロセスとを有し、例えば、プロセス空間P1Sは、コピージョブ26Jの画像入力プロセスのアドレス空間であり、プロセス空間P2Sは、プリントジョブ27Jの画像入力プロセスである。
実アドレス空間PS内のDMAバッファ領域131は、カーネル25aからDMAデバイスドライバを介してDMAC14に命令が供給されることによりアクセスされ、また、カーネル25aからメモリドライバを介してMPU11に命令が供給されることによりアクセスされる。後者のアクセスは、プロセス空間P1S内の入出力データファイルIO DATA FILE1I及びプロセス空間P2S内の入出力データファイルIO DATA FILE2を実アドレス空間RS内にマッピングすることにより可能となる。このマッピングにより、各プロセスに割り当てられた実アドレス空間RS内データ領域(不図示)へ、DMAバッファ領域131内のデータをコピーして処理する必要がないので、処理の高速化及びメモリ使用量の低減化が図られる。
しかしながら、各プロセスが勝手にカーネル25aに対しメモリ獲得要求をすると、ジョブのウエイトが多くなり、マルチジョブを効率的に行うことができない。また、各ジョブからのメモリ獲得要求に対し調停を行うミドルウェアを、OS25とアプリケーションとの間に配置してプラットフォームを拡大すると、既存のソフトウェア資産を利用できなくなるとともに、階層が1つ増えるのでその構造が複雑になる。
そこで、本実施例では、図1に示すようにジョブページ保証ライブラリ(JPA)30を備え、アプリケーション26〜29のそれぞれでジョブページ保証ライブラリ30を用い、各アプリケーション自体でDMAバッファ領域131に対するメモリ管理を行うことにより、調整を図っている。各アプリケーションが、自他のジョブ状態及びDMAバッファ領域131内の獲得状況を考慮してメモリ獲得の自己管理を行うことができるようにするために、各プロセス空間内に互いに同一内容のジョブリスト31及びメモリ管理リスト32を配置し、実アドレス空間RS内の共有領域内の同一領域にこれらをマッピングしている。
また、ジョブページ保証ライブラリ30をダイナミックリンクライブラリ(DLL)で構成することにより、プロセス空間P1S内及びプロセス空間P2S内で互いに異なる領域に配置されたJPAが実アドレス空間RS上の同一領域にマッピングされ、これによりメモリ使用量が低減される。
ジョブページ保証ライブラリ30は例えば、次のような関数を含んでいる。
(1)そのジョブで非圧縮データ1頁分を処理するのに必要な共有メモリ領域132内のサイズを計算する関数。
(2)ジョブリスト31及びメモリ管理リスト32を生成する関数。
(3)ジョブリスト31及びメモリ管理リスト32の内容に基づいて、そのジョブで獲得する非圧縮データ1頁分以内のメモリサイズを決定する関数。
(4)ジョブリスト31及びメモリ管理リスト32の内容に基づき、カーネル25aを介し、DMAバッファ領域131内の領域を獲得し、これに応じてジョブリスト31及びメモリ管理リスト32の内容を更新する関数。
(5)カーネル25aを介してDMAバッファ領域131内の獲得済メモリ領域を解放するとともに、ジョブリスト31及びメモリ管理リスト32内のそのジョブのデータブロックを削除する関数。
DMAバッファ領域131内にデータ領域獲得が必要になるのは、スキャナ18、NIC21又はモデム22からの画像入力データをDMAバッファ領域131内にDMA転送する場合である。そのデータは圧縮されていて圧縮率に変動があるが、非圧縮の1頁分を獲得しておけば、全頁の各々について繰り返し利用することにより、そのジョブの実行が確保される。例えば、スキャナ18でDMAバッファ領域131内に読み込んだ圧縮画像データを伸長させ、バンド単位でプリンタ19へDMA転送させることにより、印刷ジョブを行う。
各ジョブは、その開始時に関数(1)〜(3)を実行し、定期的、例えば100msec毎に関数(4)を実行し、ジョブ終了時、例えばコピージョブ26Jにおけるプリントエンジン19aへのビットマップデータ供給終了時に、関数(5)を実行する。
このような構成により、図2に示すように、ジョブページ保証ライブラリ30を、あたかも各アプリケーションから独立したミドルウェアのように機能させることが可能となる。すなわち、本実施例1によれば、ジョブページ保証ライブラリ30が各ジョブからの要求に応答して、カーネル25aを介しDMAバッファ領域131内に領域を適切に割り当てるのと、実質的に同じになる。
図3(A)は、ジョブリスト31の構成を示す。
ジョブリスト31は、複数のデータブロックがポインタでリンクされたリスト構造である。ジョブが生成されると、このジョブは、そのJPAを介してデータブロック311を生成し、次にこれと並列動作するジョブが生成されると、このジョブは、JPAを介して、データブロック311にリンクされたデータブロック312を生成する。
各データブロックは、次のデータブロックの先頭アドレスを指し示すポインタと、このデータブロックを生成したジョブのIDと、このジョブの種類(コピー、プリント等)と、このジョブの状態と、優先順位とのデータを備えている。
ジョブ状態は、それぞれ「初期」、「入力開始」及び「必要サイズ確保済」を示す0〜2で表され、このデータブロック作成時、すなわちそのジョブの開始時に、0にされ、このジョブの画像入力開始直前に1にされ、このジョブが必要サイズ確保済であると2にされる。優先順位は、原則として、実行開始時が早いジョブほど高く設定され、例外として、割込ジョブの優先順位が最も高くされる。なお、処理時間予測値が短いほど優先順位を高く設定するようにしてもよい。
図3(B)は、メモリ管理リスト32の構成例を示す。
メモリ管理リスト32は、ジョブリスト31と同様に、複数のデータブロックがポインタでリンクされたリスト構造である。ジョブが生成されると、このジョブは、そのJPAを介してデータブロック321を生成し(後述の獲得ページサイズなどは未記入)、次にこれと並列動作するジョブが生成されると、このジョブは、そのJPAを介して、データブロック321にリンクされたデータブロック322を生成する(獲得ページサイズなどは未記入)。
各データブロックは、次のデータブロックの先頭アドレスを指し示すポインタと、このデータブロックを生成したジョブのIDと、このジョブの実行に必要な、DMAバッファ領域131内のジョブ非圧縮データ1頁分エリアサイズと、カーネル25aを介して獲得した、DMAバッファ領域131内のエリアサイズと、現在使用されている、DMAバッファ領域131内のエリアサイズとのデータを有している。これらのサイズはページ単位であり、1ページは例えば8kBである。
ジョブに必要なDMAバッファ領域131内のジョブ非圧縮データ1頁分のサイズは、ジョブ開始時に、そのジョブの種類と、その画像入力処理で設定されている原稿サイズやdpiなどのパラメータとに基づいて決定される。
図5は、任意の1つのジョブにより実行される上記関数(4)の処理を示す概略フローチャートである。
(S0)ジョブリスト31内のそのジョブ(このJPAを実行するジョブ)のジョブ状態欄が「必要サイズ確保済」であれば図4の処理を終了する。
(S1)そのジョブIDについて、ジョブ優先順位が1位、2位及又は3位以下であれば、それぞれステップS2、S4及びS7へ進む。
(S2)優先順位が最も高いので、必要なサイズ(そのジョブの非圧縮データ1頁分)の領域をカーネル25aに対し要求することにより、この領域を獲得する。
(S3)ジョブリスト31内のこのジョブのジョブ状態欄を「必要サイズ確保済」にし、さらにメモリ管理リスト32内の獲得サイズにこの要求サイズを記入して、図4の処理を終了する。
(S4〜S6)メモリ管理リスト32を調べて、DMAバッファ領域131内に獲得可能な領域があれば、その領域を獲得し、そのサイズを、メモリ管理リスト32内のこのジョブの獲得サイズ欄に記入する。これにより必要なサイズを獲得できた場合には、ジョブリスト31内のこのジョブのジョブ状態欄を「必要サイズ確保済」にして、図4の処理を終了する。メモリ管理リスト32内からメモリを獲得できないが、FAX受信のようにジョブの画像入力プロセスを実行させる必要がある場合には、DMAバッファ領域131外のメモリ領域を確保する。この場合、メモリへのデータ転送は、MPU11により行われる。
(S7)このジョブよりも優先順位の高いジョブが全て「要求サイズ獲得済」であれば、ステップS4へ進む。
なお、図5では複雑化をさけるため表現されていないが、優先順位3位のジョブが生成されたとき、ジョブリスト31を参照し、優先順位2位のジョブがDMAバッファ領域131内に非圧縮データ1頁分の領域を確保できておらず、かつ、DMAバッファ領域131内に余りの領域があれば、この優先順位2位のジョブに該余りの領域を確保させる。
本実施例によれば、実アドレス空間RS内に、実行中のプロセスについての各仮想アドレス空間内のデータ領域がマッピングされとともにオペレーティングシステム25のカーネル25aによりアクセスされるDMAバッファ領域131と、実行中の各ジョブの状態を示すジョブリスト31及び実行中の各ジョブのDMAバッファ領域131内の確保状況を示すジョブ管理リスト32が格納される共有メモリ領域132とを有し、各仮想アドレス空間内のプロセスは、互いに同一内容のジョブページ保証ライブラリ(JPA)を備え、このJPAは、ジョブリスト31及びジョブ管理リスト32に基づいて、カーネル25aに対し要求する、そのジョブへのDMAバッファ領域131内の非圧縮データ1頁分の割当サイズを決定して、このサイズの領域確保をカーネル25aに要求するとともにジョブ管理リスト32の対応する内容を変更し、ジョブの出力完了通知に応答して、このジョブに対するDMAバッファ領域131内の割当領域解放をカーネル25aに要求するとともにDMAバッファ領域131内の対応する内容を変更するので、階層構造を複雑にするミドルウェアを備えることなく、簡単な構成で、マルチプロセスにおける複数のプロセスとカーネルとの間の、それぞれ互いに異なる共有領域の該カーネルに対する獲得要求が適切に行われて、マルチジョブを効率的に行うことが可能となるという効果を奏する。
カーネルアドレス空間内のDMAバッファ領域131へダイレクトメモリアクセスにより入力された画像データをプロセス空間内へコピーすることなく、そのプロセスで処理することが、各プロセスについて可能になるという効果を奏する。
ハードディスクドライブに格納されたソフトウェアの階層構造を示すブロック図である。 図1中のジョブページ保証ライブラリ(JPA)の入出力を示すブロック図である。 (A)及び(B)はそれぞれジョブリスト及びメモリ管理リストの概略構成を示す図である。 あるジョブを構成するプロセスの仮想アドレス空間(プロセス空間)P1Sと、他のジョブのプロセス空間P2Sと、これらの一部がマッピングされた実アドレス空間RSとの関係を示す図である。 ジョブリスト及びメモリ管理リストの内容に基づき、カーネルを介し、DMAバッファ領域内の領域を獲得し、これに応じてジョブリスト及びメモリ管理リストの内容を更新する関数の処理を示す概略フローチャートである。 本発明の実施例1に係る画像形成装置10のハードウェア概略ブロック図である。
符号の説明
10 画像形成装置
11 MPU
12 ROM
13 DRAM
131 DMAバッファ領域
132 共有メモリ領域
14 DMAC
15 NVRAM
16 ハードディスクドライブ
17 オートシートフィーダ
18 スキャナ
18a スキャンエンジン
19 プリンタ
19a プリントエンジン
20 操作パネル
21 ネットワークインタフェース
22 モデム
23 バス
25 OS
25a カーネル
26 コピーアプリケーション
26J コピージョブ
27 プリントアプリケーション
27J プリントジョブ
28 スキャナアプリケーション
28J スキャンジョブ
29 ファクシミリアプリケーション
291J ファックス送信ジョブ
292J ファックス受信ジョブ
30 ジョブページ保証ライブラリ
31 ジョブリスト
311、312、321、322 データブロック
32 メモリ管理リスト

Claims (6)

  1. プロセッサと、該プロセッサに結合された複数の画像入力手段と、該プロセッサに結合され仮想アドレス空間及び実アドレス空間を構成するとともにオペレーティングシステムが格納された記憶手段とを備え、該オペレーティングシステムが該プロセッサに対し各ジョブのプロセス毎の仮想アドレス空間を実アドレス空間にマッピングさせてマルチジョブを実行させる画像形成装置において、
    該実アドレス空間は、実行中のプロセスについての各仮想アドレス空間内のデータ領域が、プロセス間で互いに異なるようにマッピングされるとともに該オペレーティングシステムのカーネルによりアクセスされる第1共有領域と、実行中の各ジョブの状態及び実行中の各ジョブの該第1共有領域内の確保状況が格納される第2共有領域とを有し、
    各仮想アドレス空間内のプロセスは、互いに同一内容のジョブページ保証プログラムを備え、該ジョブページ保証プログラムは、該プロセッサに対し、各ジョブの該状態及び該確保状況に基づいて、そのジョブへの該第1共有領域内の非圧縮データ1頁分の割当記憶領域サイズを決定させて、このサイズの領域確保を該カーネルを介し要求させるとともに該確保状況を変更させ、ジョブの出力完了通知に応答して、このジョブに対する該第1共有領域内の割当領域解放を該カーネルを介し要求させるとともに該確保状況を変更させる、
    ことを特徴とする画像形成装置。
  2. 該第1共有領域は、カーネルアドレス空間内のダイレクトメモリアクセスバッファ領域であることを特徴とする請求項1に記載の画像形成装置。
  3. 該第2共有領域には、各ジョブの状態がそのジョブIDと対応させて書き込まれるジョブ状態データと、各ジョブの実行に必要な該第1共有領域内のサイズ及びこのジョブに割り当てられた該第1共有領域内のサイズがそのジョブIDと対応して書き込まれるメモリ管理データとが格納され、該状態には、該必要なサイズが割り当て済みであるか否かを示すデータが含まれ、
    各ジョブページ保証プログラムは、該プロセッサに対し、そのジョブの生成に応答して、該ジョブについて該ジョブ状態データ及び該メモリ管理データにその内容を追加させ、該カーネルを介した該解放要求とともに、そのジョブについての該ジョブ状態データ及び該メモリ管理データの内容を削除させる、
    ことを特徴とする請求項2に記載の画像形成装置。
  4. 該ジョブ状態データは、ジョブの状態がそのジョブIDと対応させて格納されるデータブロックが、各ジョブについてリンクされるジョブリストであり、
    該メモリ管理データは、ジョブに対し該第1共有領域内に割り当てられたサイズがそのジョブIDと対応して格納されるデータブロックが、各ジョブについてリンクされるメモリ管理リストである、
    ことを特徴とする請求項3に記載の画像形成装置。
  5. 該状態には、実行開始時点が早いほど高い優先順位が含まれ、
    該ジョブページ保証プログラムは、該プロセッサに対し、そのジョブの優先順位が最も高い場合、該カーネルを介し該非圧縮データ1頁分の領域を該第1共有領域内に確保させ、そのジョブの優先順位が2番目である場合、該優先順位が3番目のジョブが生成された時に該カーネルを介し該第1共有領域内の余っているジョブ非圧縮データ1頁分以内の領域を確保させる、
    ことを特徴とする請求項3又は4に記載の画像形成装置。
  6. 該ジョブページ保証プログラムは、ダイナミックリンクライブラリに含まれていることを特徴とする請求項3乃至5のいずれか1つに記載の画像形成装置。
JP2006133649A 2006-05-12 2006-05-12 画像形成装置 Expired - Fee Related JP4560493B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006133649A JP4560493B2 (ja) 2006-05-12 2006-05-12 画像形成装置
US11/801,552 US7911639B2 (en) 2006-05-12 2007-05-10 Image forming device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006133649A JP4560493B2 (ja) 2006-05-12 2006-05-12 画像形成装置

Publications (2)

Publication Number Publication Date
JP2007304938A JP2007304938A (ja) 2007-11-22
JP4560493B2 true JP4560493B2 (ja) 2010-10-13

Family

ID=38838804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006133649A Expired - Fee Related JP4560493B2 (ja) 2006-05-12 2006-05-12 画像形成装置

Country Status (2)

Country Link
US (1) US7911639B2 (ja)
JP (1) JP4560493B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080010A1 (en) * 2007-09-21 2009-03-26 Canon Kabushiki Kaisha Image forming apparatus, image forming method, and program
JP5768406B2 (ja) * 2011-03-02 2015-08-26 セイコーエプソン株式会社 デバイス統合用プログラム、デバイス統合方法、及び、ホスト装置
WO2013018204A1 (ja) * 2011-08-03 2013-02-07 株式会社日立製作所 画像処理ソフトウェア開発方法、画像処理ソフトウェア開発装置、および、画像処理ソフトウェア開発プログラム
JP6702681B2 (ja) 2015-10-01 2020-06-03 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP6794852B2 (ja) * 2017-02-02 2020-12-02 コニカミノルタ株式会社 画像処理装置、省電力方法、およびコンピュータプログラム
US11546315B2 (en) * 2020-05-28 2023-01-03 Hewlett Packard Enterprise Development Lp Authentication key-based DLL service
CN117234607B (zh) * 2023-11-15 2024-01-26 北京智芯微电子科技有限公司 多核***及其动态模块加载方法、介质和处理器芯片

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209249B2 (en) 2000-07-05 2007-04-24 Ricoh Company, Ltd. Method of and apparatus for image formation, and computer product
JP3679349B2 (ja) 2000-07-05 2005-08-03 株式会社リコー 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP4136397B2 (ja) 2002-02-25 2008-08-20 株式会社リコー 画像形成装置及びメモリ管理方法

Also Published As

Publication number Publication date
JP2007304938A (ja) 2007-11-22
US7911639B2 (en) 2011-03-22
US20080005388A1 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
JP4560493B2 (ja) 画像形成装置
JP4424623B2 (ja) 画像形成装置
EP1308793B1 (en) Image forming device having a memory assignment unit
JP4101004B2 (ja) 画像形成装置
JP5832556B2 (ja) 画像処理装置および画像形成装置
JP4001531B2 (ja) 画像形成装置
JP2005339271A (ja) カード型メモリ、画像形成装置、画像形成装置起動方法
JP4136397B2 (ja) 画像形成装置及びメモリ管理方法
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP5232728B2 (ja) 画像形成装置
JP2011192131A (ja) 制御装置、画像形成装置、及び制御プログラム
JP2005028687A (ja) 画像処理装置,情報処理装置およびメモリディスク管理方法
JP7158656B2 (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP2006344184A (ja) 画像形成装置
JP4128468B2 (ja) 情報処理装置及びメモリマップ方法
JP4128467B2 (ja) 画像形成装置及びメモリマップ方法
JP3857598B2 (ja) データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置
JP2005078419A (ja) 情報処理装置及びファイル管理方法
JP4918276B2 (ja) 情報処理装置および情報処理方法
JP2018049511A (ja) 情報処理装置及びプログラム
JP5917435B2 (ja) 画像形成装置
JP2003316645A (ja) 情報処理装置及びメモリ管理方法
JP4093770B2 (ja) データ転送方法およびそのデータ転送方法を利用するインターフェース制御モジュール,デバイス制御モジュール,画像形成装置
JP2009070208A (ja) 画像処理装置およびメモリ確保方法
JP2004272460A (ja) 情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100726

R150 Certificate of patent or registration of utility model

Ref document number: 4560493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees