(57)【要約】【課題】  画像形成装置において、大容量の画像データ等を扱うための連続した大容量のメモリ空間の確保を容易にすること。【解決手段】  従来の仮想メモリシステムでは、ＯＳがメモリ空間を管理するために、取得するメモリの容量制限やＯＳ管理におかれたメモリ取得・解放動作によって引き起こされたフラグメンテーション等により、連続した大容量のメモリを取得することが困難であったが、物理メモリ空間をＯＳ管理領域とＯＳ非管理領域に分けて仮想メモリ空間に割当て前記ＯＳ非管理領域へのアプリケーションプログラムからのアクセスを可能とするＯＳ非管理メモリ領域管理部を有することにより課題を解決した。さらに、ＯＳメモリ領域管理部はウィンドウ領域を経由して、デバッグ用途などでのカーネルから非管理領域へのアクセスも可能となる。【選択図】図２
2010244303.tif 000002
【特許請求の範囲】
【請求項１】
仮想メモリ空間を有してメモリ領域の管理を行うメモリ管理装置であって、
物理メモリ空間の一部をオペレーティングシステム（ＯＳ）が管理する管理領域として確保して当該管理領域を仮想メモリ空間に割当て、前記オペレーティングシステムによるメモリ空間の取得・解放を可能とさせるＯＳ管理領域アクセス手段と、
前記物理メモリ空間の管理領域外を非管理領域として確保して当該非管理領域を仮想メモリ空間に割当て、メモリ空間の取得・解放を可能とするＯＳ非管理領域アクセス手段とを有し、
前記ＯＳ管理領域アクセス手段は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせる
ことを特徴とするメモリ管理装置。
【請求項２】
物理メモリ空間をオペレーティングシステム（ＯＳ）が管理可能な管理領域と管理を行わない非管理領域に分けて、前記管理領域を仮想メモリ空間に割当てて前記管理領域内のメモリ空間の取得・解放を可能とさせるＯＳメモリ領域管理部と、
前記非管理領域を仮想メモリ空間に割当てて、アプリケーションプログラムからの前記非管理領域内のメモリ空間の取得・解放を可能とさせるＯＳ非管理メモリ領域管理部とを有し、
前記ＯＳメモリ領域管理部は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせる
ことを特徴とする画像形成装置。
【請求項３】
請求項２の画像形成装置であって、
前記ＯＳメモリ領域管理部は、前記ウィンドウ領域のサイズを必要最小限とする
ことを特徴とする画像形成装置。
【請求項４】
請求項２又は３の画像形成装置であって、
前記非管理領域のメモリ空間にハードウェアからの直接アクセスが可能なＤＭＡ転送部を有する
ことを特徴とする画像形成装置。
【請求項５】
請求項４の画像形成装置であって、
前記非管理領域に書き込まれた画像データを前記ＤＭＡ転送部によって転送されて該画像データの印刷を行う印刷部を有する
ことを特徴とする画像形成装置。
【請求項６】
請求項４又は５の画像形成装置であって、
画像を読み込んで画像データに変換するスキャナ部を有し、
前記ＤＭＡ転送部は、前記スキャナ部により変換された画像データをＤＭＡ転送によって前記非管理領域に書き込む
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
仮想メモリシステムにおけるメモリ利用方式の技術に関するものである。
【背景技術】
【０００２】
通常仮想メモリ空間を意識したメモリマップ構成では、物理メモリの取り扱いはＯＳが管理するマッピング機構にその制御が委ねられるので、ユーザが自由に取り扱うことができずプロセス間の連携ができず取り扱えるメモリ量が限られる。
【０００３】
ＯＳが管理するメモリ空間では、メモリの使用・解放を繰り返す方法により細かにメモリが消費されてしまい、メモリ領域のフラグメンテーションが発生して、例えば画像形成装置等の大容量の画像データを扱う機器では、連続した大容量メモリを確保することができず、データ処理の低速化を発生させる原因となっていた。
【０００４】
従来技術として、ページ・テーブルのために物理メモリを余計に消費することのない仮想メモリ方式を提供するための以下の方法がある。アドレス変換テーブル生成器は、システム・バスに接続されており、ＴＬＢ（Translation Look-aside Buffer）ミス発生時に、ＣＰＵによってアクセスされる。そして、アクセスを受ける度に、あらかじめ設定された規則に従って該当するページ・テーブル・エントリを生成する。アドレス変換テーブル生成器にアクセスすることで、メモリ内の領域を使用せず済む。アドレス変換テーブル生成器におけるページ・テーブルの生成規則は、ＣＰＵから設定可能とする（特許文献１参照）。
【０００５】
しかし、上記方法はページ・テーブルのメモリ消費を抑える技術であり、これによって確保されるメモリ領域は非常に小さな量であり、画像形成装置で扱われる画像データが必要とする連続した大容量のメモリ空間を確保することはできない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３５５１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
解決しようとする課題は、仮想メモリシステムにおいてユーザが使用する大容量の連続したデータ領域を確保することができなかった点である。
【課題を解決するための手段】
【０００８】
本発明のメモリ管理装置は、仮想メモリ空間を有してメモリ領域の管理を行うメモリ管理装置であって、物理メモリ空間の一部をオペレーティングシステム（ＯＳ）が管理する管理領域として確保して当該管理領域を仮想メモリ空間に割当て、前記オペレーティングシステムによるメモリ空間の取得・解放を可能とさせるＯＳ管理領域アクセス手段と、前記物理メモリ空間の管理領域外を非管理領域として確保して当該非管理領域を仮想メモリ空間に割当て、メモリ空間の取得・解放を可能とするＯＳ非管理領域アクセス手段とを有し、前記ＯＳ管理領域アクセス手段は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせることを特徴とする。
【０００９】
本発明の画像形成装置は、物理メモリ空間をオペレーティングシステム（ＯＳ）が管理可能な管理領域と管理を行わない非管理領域に分けて、前記管理領域を仮想メモリ空間に割当てて前記管理領域内のメモリ空間の取得・解放を可能とさせるＯＳメモリ領域管理部と、前記非管理領域を仮想メモリ空間に割当てて、アプリケーションプログラムからの前記非管理領域内のメモリ空間の取得・解放を可能とさせるＯＳ非管理メモリ領域管理部とを有し、前記ＯＳメモリ領域管理部は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせることを特徴とする。
【００１０】
本発明の画像形成装置の前記ＯＳメモリ領域管理部は、前記ウィンドウ領域のサイズを必要最小限とすることを特徴としてもよい。
【００１１】
本発明の画像形成装置は、前記非管理領域のメモリ空間にハードウェアからの直接アクセスが可能なＤＭＡ転送部を有することを特徴としてもよい。
【００１２】
本発明の画像形成装置は、前記非管理領域に書き込まれた画像データをＤＭＡ転送部によって転送されて該画像データの印刷を行う印刷部を有することを特徴としてもよい。
【００１３】
本発明の画像形成装置は、画像を読み込んで画像データに変換するスキャナ部
を有し、前記ＤＭＡ転送部は、前記スキャナ部により変換された画像データをＤＭＡ転送によって前記非管理領域に書き込むことを特徴としてもよい。
【発明の効果】
【００１４】
本発明のメモリ管理装置は、仮想メモリ空間を有してメモリ領域の管理を行うメモリ管理装置であって、物理メモリ空間の一部をオペレーティングシステム（ＯＳ）が管理する管理領域として確保して当該管理領域を仮想メモリ空間に割当て、前記オペレーティングシステムによるメモリ空間の取得・解放を可能とさせるＯＳ管理領域アクセス手段と、前記物理メモリ空間の管理領域外を非管理領域として確保して当該非管理領域を仮想メモリ空間に割当て、メモリ空間の取得・解放を可能とするＯＳ非管理領域アクセス手段とを有し、前記ＯＳ管理領域アクセス手段は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせることを特徴とする。
【００１５】
このため、ＯＳが全てのメモリ領域を管理することに起因するメモリ取得の容量制限や、メモリのフラグメンテーション発生などに影響されずに、ＯＳ非管理領域のメモリを用いて連続した大容量のメモリを利用可能となる。さらに、ＯＳ管理領域アクセス手段はウィンドウ領域を用いることにより、デバッグ用途などでのカーネルから非管理領域へのアクセスも可能となる。
【００１６】
本発明の画像形成装置は、物理メモリ空間をオペレーティングシステム（ＯＳ）が管理可能な管理領域と管理を行わない非管理領域に分けて、前記管理領域を仮想メモリ空間に割当てて前記管理領域内のメモリ空間の取得・解放を可能とさせるＯＳメモリ領域管理部と、前記非管理領域を仮想メモリ空間に割当てて、アプリケーションプログラムからの前記非管理領域内のメモリ空間の取得・解放を可能とさせるＯＳ非管理メモリ領域管理部とを有し、前記ＯＳメモリ領域管理部は、前記オペレーティングシステムが前記非管理領域への参照を可能とするためのウィンドウ領域を有し、該ウィンドウ領域を経由して前記メモリのＯＳ非管理領域へのデータの読込及び書込を可能とさせることを特徴とする。
【００１７】
このため、ＯＳが全てのメモリ領域を管理することに起因するメモリ取得の容量制限や、メモリのフラグメンテーション発生などに影響されずに、ＯＳ非管理領域のメモリを用いて連続した大容量のメモリを利用可能となる。さらに、ＯＳ管理領域アクセス手段はウィンドウ領域を用いることにより、デバッグ用途などでのカーネルから非管理領域へのアクセスも可能となる。
【００１８】
本発明の画像形成装置の前記ＯＳメモリ領域管理部は、前記ウィンドウ領域のサイズを必要最小限とすることを特徴としてもよい。
【００１９】
このため、ウィンドウ領域に確保されるアドレス空間が実メモリと重なってしまい、メモリ領域が圧迫されるのを抑制可能となり、実メモリ空間を有効に活用できる。
【００２０】
本発明の画像形成装置は、前記非管理領域のメモリ空間にハードウェアからの直接アクセスが可能なＤＭＡ転送部を有することを特徴としてもよい。
【００２１】
このため、ＤＭＡ転送による高速のメモリアクセスを利用して、前記非管理領域のメモリに対してデータの読込・書込みを高速で可能となる。
【００２２】
本発明の画像形成装置は、前記非管理領域に書き込まれた画像データをＤＭＡ転送部によって転送されて該画像データの印刷を行う印刷部を有することを特徴としてもよい。
【００２３】
このため、印刷のための画像データとして大容量のデータ領域を非管理領域内に確保して高速のデータ転送が可能となり、印刷部の高性能化に対応する高速度のデータ転送が可能となる。
【００２４】
本発明の画像形成装置は、画像を読み込んで画像データに変換するスキャナ部を有し、前記ＤＭＡ転送部は、前記スキャナ部により変換された画像データをＤＭＡ転送によって前記非管理領域に書き込むことを特徴としてもよい。
【００２５】
このため、スキャナによって得られた大容量の画像データを高速に処理可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明実施例の画像形成装置（メモリ管理装置）の機能ブロック図である。
【図２】（Ａ）従来例によるＩ／Ｏ等を除いて全てのメモリ領域をＯＳ管理下においた場合のメモリマップである。（Ｂ）本発明実施例１によるデータ参照のための領域であるウィンドウ領域を有するメモリ管理方法でのメモリマップである。（Ｃ）本発明実施例２によるウィンドウ領域を最小限にしたメモリマップである。
【図３】（Ａ）本発明実施例による物理メモリが１Ｇバイトの場合のメモリ使用区分の例である。（Ｂ）本発明実施例による物理メモリが２Ｇバイトの場合のメモリ使用区分の例である。（Ｃ）本発明実施例による物理メモリが３Ｇバイトの場合のメモリ使用区分の例である。
【図４】本発明実施例の画像形成装置（メモリ管理装置）における、（Ａ）電源立ち上げ時の初期化動作におけるメモリ管理動作のフローチャートである。（Ｂ）スキャナ部による画像読み込み時における動作のフローチャートである。
【発明を実施するための形態】
【００２７】
従来の仮想メモリシステムではＯＳがメモリ空間を管理するために、取得するメモリの容量制限やＯＳ管理におかれたメモリ取得・解放動作によって引き起こされたフラグメンテーション等により、連続した大容量のメモリを取得することが困難であったが、物理メモリ空間をＯＳ管理領域とＯＳ非管理領域に分けて仮想メモリ空間に割当て、前記ＯＳ非管理領域へのアプリケーションプログラムからのアクセスを可能とするＯＳ非管理メモリ領域管理部を有することにより課題を解決した。
【実施例１】
【００２８】
実施例１のメモリ管理装置の仮想メモリの方式について、図２（Ａ）に示す従来例のメモリマップと、図２（Ｂ）に示す実施例１のメモリマップを用いて説明する。実施例１と実施例２の機能ブロックの構成、動作の流れは同じであるので、実施例２において説明する。
【００２９】
図２中において、ＰＲＯＧはプログラムの、ＡＰＬはアプリケーションの、ＷＩＮＤはウィンドウ領域の略である。
【００３０】
図２において、アドレス空間は３２ビットで示される範囲にあり、その上位８ビットのアドレスについて、図中に”００”から”ＦＦ”のように１６進数により表記した。残りの２４ビットは全て”０”であるので省略した。
【００３１】
図２（Ａ）は、従来例によるＩ／Ｏ等を除いて全てのメモリ領域をＯＳ管理下においた場合のメモリマップである。この場合には、標準状態では、ユーザ側にて十分仮想空間を取り扱えるが、すべてがＯＳ管理下にあるのでＤＭＡ転送領域など連続領域を動的に確保することは難しい。また、ＯＳの管理によってメモリの取得・解放が繰り返されることでフラグメンテーションが発生してしまい、ユーザが大容量のメモリ領域を取ることができなくなってしまう。
【００３２】
そこで、物理メモリからＤＭＡ転送専用領域を確保し、そこをＯＳ管理外の共有メモリとして取り扱う方法をとる。
【００３３】
実施例１のメモリ管理装置では、メモリマップ図２（Ｂ）に示すように、独自にＯＳ管理外のメモリ領域を参照するための領域であるウィンドウ領域（図中でのＷＩＮＤ）を有する。
【００３４】
メモリ管理装置は、物理メモリ空間をオペレーティングシステム（ＯＳ）が管理可能な管理領域と管理を行わない非管理領域に分けて、前記管理領域を仮想メモリ空間に割当てて前記管理領域内のメモリ空間の取得・解放を可能とさせるＯＳメモリ領域管理部と、前記非管理領域を仮想メモリ空間に割当てて、アプリケーションプログラムからの前記非管理領域内のメモリ空間の取得・解放を可能とさせるＩＯＭＥＭ（ＯＳ非管理メモリ領域管理部）とを有して仮想アドレス空間を管理領域と非管理領域（以降、共有メモリとも呼ぶ）に分ける。
【００３５】
しかしこのままでは、非管理領域（共有メモリ）のアドレス空間にＯＳ側（カーネル）からアクセス手段が無くなってしまう。そこで、実施例１では、管理領域のアドレス空間（以降、カーネル空間と呼ぶ）と非管理領域のアドレス空間（以降、ユーザ空間と呼ぶ）をカーネルから取り扱うことができるように、カーネルの物理空間から一定オフセットをずらした領域（図２（Ｂ）０ｘ９４００００００から０ｘＥ０００００００の１．２ＧＢ）に物理メモリをマッピングしたウィンドウ（ＷＩＮＤ）領域を備えた。
【００３６】
このウィンドウ領域を持たせることによりカーネル空間からのデバッグや、ユーザプロセスからの書込みを反映させるためのキャッシュフラッシュ動作、また非ＤＭＡ（Direct Memory Access）のＣＰＵによるデータ転送を容易に実行することができるようになる。
【実施例２】
【００３７】
本発明実施例２の画像形成装置における、メモリ管理方式について以下に説明する。
【００３８】
実施例１の画像形成装置におけるメモリ管理方式では、ウィンドウ領域を１．２ＧＢ（ギガバイト）と非常に大きく取ってしまったため、仮想空間でのユーザ利用可能領域が大きく圧迫される。
【００３９】
そこで、カーネル空間での共有メモリ内データへの参照を必要最小量に限定することでウィンドウ領域を削減する。具体的な例として図２（Ｃ）に示すように、ウィンドウ領域（０ｘＤ４００００００から０ｘＥ０００００００の１９２ＭＢ）を作成する。これにより、ＤＭＡによる転送用とその他用途のメモリを利用しつつも、ユーザ空間を十分確保することが可能である。
【００４０】
実施例２では、以下の方法によりユーザに割当てるメモリ領域（ユーザ空間）を確保する。
【００４１】
（１）ＯＳ（Operating System）の初期化時に予めプロセスにて共有する目的が明確になっているサイズの共有メモリをＯＳ管理外の領域に確保する。
【００４２】
（２）この管理領域外のメモリは、ＯＳの制約を受けることなくユーザ空間へマッピングすることが可能になり、ユーザ空間からのメモリ確保時にメモリ不足の事態を招くこがなくなる。またＯＳ管理外とすることでより広範にメモリをマッピングすることができる。
【００４３】
（３）より仮想メモリを有効利用するために上記管理外の領域を確保し、物理メモリを直接閲覧するためのカーネル仮想領域を削減するが、管理外領域に確保した物理メモリは主にＤＭＡなどハードウェア・アクセスに限定した領域に割り当てることによって、直接参照する可能性は低いため、この拡張のデメリットは少ない。
【００４４】
さらに必要最小限のウィンドウ領域を有することにより、実施例１と同じくカーネル側からのユーザ空間（ＯＳ非管理領域）へのアクセスが可能となる。実施例２では、実施例１に比較してウィンドウ領域が狭いためにユーザ空間のメモリ量も十分に確保することが可能となる。
【００４５】
ウィンドウ領域の必要最小限となる領域のサイズは、画像形成装置デバイスの特性に依存する。デバイスが直接にＤＭＡアクセスするために必要な最低量が、例えば画像形成装置内のスキャナからのＤＭＡ転送のために必要なサイズ等により決定される。
【００４６】
さらに、ＤＭＡで転送されたデータをユーザアプリケーションから参照する際には、ＣＰＵキャッシュと実メモリとの同期をとるためにキャッシュインバリッド処理が必要となる。このキャッシュインバリッドには、仮想アドレスとしてのウィンドウ領域が必要であり、無い場合はコヒーレンシ維持のために動的な確保、解放処理が必要となるため処理パフォーマンスに影響する。これを避けるために、ウィンドウ領域中にあらかじめコヒーレンシ用途のための領域を確保しておく必要がある。
【００４７】
上記のＤＭＡ転送のための必要領域及びキャッシュコヒーレンシを保つためのキャッシュインバリッド処理のための必要領域からウィンドウ領域の必要最小限量が決定される。
【００４８】
実施例２のようにウィンドウ領域を最小限とすることにより、共有メモリ空間（ＯＳ非管理領域）が増やせることについて、図３のメモリマップを用いて説明する。
【００４９】
図３（Ａ）は、物理メモリが１ＧＢの場合のメモリの使用割当の例、（Ｂ）は、物理メモリが２ＧＢの場合の例、（Ｃ）は、物理メモリが３ＧＢの場合の例である。物理メモリ量が１ＧＢ又は２ＧＢの場合には、いずれもウィンドウ領域が、メモリアドレスの０ｘ８０００００００以降にあるためにアドレスの重複が発生しない。この場合、実施例１のようにウィンドウ領域が１．２ＧＢであっても、実施例２のようにウィンドウ領域が１９２ＭＢであっても問題は発生しない。
【００５０】
しかし、図３（Ｃ）に示すように、物理メモリが３ＧＢある場合には、実施例１のように、ウィンドウ領域が０ｘ９４００００００から開始している場合には、ウィンドウ領域とＯＳ非管理のメモリ領域が重なってしまい、共有メモリの全てを使うことができない。
【００５１】
しかし、実施例２のようにウィンドウ領域を必要最小限とし、開始アドレスを０ｘＤ４００００００のように、メモリの最終アドレス０ｘＣ０００００００以降に割当てられているために、アドレスの重複が発生せずに図３（Ｃ）のように、例えばＯＳ管理領域を３２０ＭＢ、ＯＳ非管理のメモリ領域を２．７ＧＢと大きく取ることが可能であるために、画像形成装置での画像データのように大きなデータを用いる際には非常に有効である。
【００５２】
［構成］
以下に本発明実施例２としての画像形成装置（メモリ管理装置）について説明する。
【００５３】
図１に画像形成装置１０１の機能ブロック図を示す。
【００５４】
画像形成装置１０１は、スキャナ部１１１、ＨＤＤ（Hard Disk Drive）１１３、ＤＭＡ（Direct Memory Access）転送部１１５、印刷部１１７、主メモリ１１９、制御部１２０、ソフトウェア１２１、ＯＳ（Operating System）１２３、ＯＳメモリ領域管理部１２５、ＩＯＭＥＭ（ＯＳ非管理メモリ領域管理部）１２７、アプリケーションプログラム１２９、スキャナデータ読取プログラム１３１、データ圧縮プログラム１３３を有する。
【００５５】
以下に各機能ブロックについて説明する。
【００５６】
スキャナ部１１１は、画像データをスキャンして電子データに変換する。画像データはサイズが大きく、また、連続したメモリ領域を確保して該画像データを書き込む必要があるために、ＯＳ非管理メモリ領域にＤＭＡ転送部により書き込みが行われる。
【００５７】
ＨＤＤ（Hard Disk Drive）１１３は、回転磁気ディスクによる二次記憶装置であり、画像形成装置を動作させるためのプログラムやデータを記憶する。
【００５８】
ＤＭＡ（Direct Memory Access）転送部１１５は、例えばスキャナ部１１１で取得したデータを、ＣＰＵ（制御部１２０内に含まれる）を通さずに直接主メモリ１１９に書込み・読取を可能とさせる機能部である。これにより高速のデータ転送が可能となる。
【００５９】
印刷部１１７は、画像データを用紙に印刷を行う機能部である。
【００６０】
主メモリ１１９は、ＤＲＡＭ（Dynamic Random Access Memory）から構成され、一次記憶装置として画像形成装置１０１のソフトウェア１２１を必要に応じて記憶させたり、データの書込み・読み取りを行わせるために記憶する記憶装置である。
【００６１】
制御部１２０は、ＣＰＵ（Central Processing Unit）と周辺制御回路からなり、画像形成装置１０１の動作を制御する。
【００６２】
ソフトウェア１２１は、画像形成装置１０１の動作を司るためのソフトウェアであり、ＯＳ（Operating System）１２３、アプリケーションプログラム１２９、その他などからなる。詳細は各項目に後述する。
【００６３】
ＯＳ（Operating System）１２３は、画像形成装置１０１のハードウェア・ソフトウェアの動作を管理・制御するための基本ソフトウェアである。ＯＳ１２３中には、次項に説明するＯＳメモリ領域管理部１２５を有する。
【００６４】
ＯＳメモリ領域管理部（ＯＳメモリ領域管理手段）１２５は、ＯＳが管理するメモリ領域を確保して割り当て、プログラム等からのメモリの使用要求があると空き領域を見つけて取得し、メモリの使用が済めば、同領域を解放する。従来のメモリ管理方式では、Ｉ／Ｏ使用領域などの一部を除いたメモリ空間は全てＯＳメモリ領域管理部１２５により管理されていたが、本実施例画像形成装置では、カーネルやプログラム等が使用する一部の領域のみをＯＳメモリ領域管理部１２５が管理する。
【００６５】
さらにＯＳメモリ領域管理部１２５は、装置の起動時にユーザ空間にＯＳ側（カーネル）がアクセス可能とするための共有のアドレス空間であるウィンドウ領域を生成し、カーネルは、同ウィンドウ領域を用いて非管理領域にアクセス可能となる。
【００６６】
ＩＯＭＥＭ（ＯＳ非管理メモリ領域管理部；ＯＳ非管理領域アクセス手段）１２７は、本発明の最も特徴的な機能部であり、ＯＳの非管理下におかれたメモリ領域（Ｉ／Ｏ領域は除く）を確保して、当該メモリ領域（ＯＳ非管理メモリ領域）を仮想メモリ空間に割当てる。割当てにはＭＭＡＰ動作を行ってメモリの確保割り当てを行う。当該メモリ領域は、ハードウェア（スキャナ部や印刷部）からは、ＤＭＡによる直接アクセスが可能であり、ユーザプログラム（アプリケーションプログラム１２９）からは、ＩＯＭＥＭを経由してメモリ領域の取得（malloc()）・解放（free()）が可能である。
【００６７】
例えば、スキャナ部で読み取る画像データ等は、画像サイズ、解像度、カラー深度等によっては非常に大きな値となりうるので、これらの大容量データが連続したメモリ空間を確保可能とするために、ＩＯＭＥＭを通してユーザプログラム（例えば後述のスキャナデータ読取プログラム１３１）から直接メモリ領域の取得・解放を行わせる。
【００６８】
アプリケーションプログラム１２９は、画像形成装置１０１の動作を行うために必要なプログラムで例えば次項に示すようなスキャナデータ読取プログラム１３１やデータ圧縮プログラム１３３やその他のプログラムを含む。詳細は、次項に説明する。
【００６９】
スキャナデータ読取プログラム１３１は、スキャナ部１１１で読み取った大容量の画像データをＤＭＡ転送部１１５により、直接主メモリ１１９に書き込ませる機能を実現させる。
【００７０】
データ圧縮プログラム１３３は、画像データ等のデータ圧縮を行うための機能を実現させる。
【００７１】
［フローチャート］
図４（Ａ）に本発明実施例の画像形成装置１０１の初期化動作についてのフローチャートを示し、以下に各動作について説明する。
【００７２】
Ｓ１１：画像形成装置の電源が投入されると、ＯＳ１２３が動作を開始し、ＯＳメモリ領域管理部１２５が主メモリ１１９上の一部の領域をＯＳ管理領域として確保する。
【００７３】
Ｓ１３：ＩＯＭＥＭ１２７は、連続の大容量メモリの使用のために、主メモリから残りのメモリ領域をマッピングして、ユーザプログラムからの使用に備える。
【００７４】
以上の一連の動作により電源投入時のメモリの初期化動作を終了する。
【００７５】
図４（Ｂ）に本発明実施例の画像形成装置１０１において、画像データをスキャンする場合の動作を例にとってそのメモリの使用について説明する。
【００７６】
Ｓ２１：スキャナ部１１１で画像データの読み込みを開始する。この際にスキャナデータ読取プログラムは、ＩＯＭＥＭ１２７を経由して画像データを書き込むための大容量の連続したメモリ領域を主メモリ１１９上のＯＳ非管理のメモリ領域に取得する。
【００７７】
Ｓ２３：Ｓ２１動作中に読み込んだ画像データをＤＭＡ転送部１１５により、Ｓ１１で取得したＯＳ非管理のメモリ領域に転送する。
【００７８】
Ｓ２５：データ圧縮プログラム１３３は、前記ＯＳ非管理メモリ領域に転送された画像データにＩＯＭＥＭ１２７を経由してアクセスして読み込む。
【００７９】
Ｓ２７：データ圧縮プログラム１３３は、前記読み込んだ画像データを圧縮して、ＯＳ管理のメモリ領域に一時書込みを行う。
【００８０】
Ｓ２９：データ圧縮プログラム１３３は、Ｓ２７で一時書込みされた圧縮データをＨＤＤ１１３に書き込む。Ｓ２７とＳ２９は、並行に動作を行ってＨＤＤに書き込まれたデータについては、メモリから消去するため、ＯＳメモリ領域は大きく消費されることはない。
【００８１】
以上の一連の動作により、ＩＯＭＥＭ１２７により確保された大容量のＯＳ非管理のメモリ領域をＤＭＡ転送部１１５やスキャナデータ読取プログラム１３１、データ圧縮プログラムにより使用可能となる。
【００８２】
［実施例の効果］
本発明実施例の画像形成装置により以下のことが可能となる。
【００８３】
ユーザ空間とＯＳ管理のカーネル空間でのメモリの共有をもたらすためのウィンドウ領域を持つ必要がなくなるので、仮想メモリ空間での重複したアドレス空間であるウィンドウ領域によって、仮想メモリ空間が消費されてしまう問題が解消される。
【００８４】
メモリ領域を全てＯＳの管理下とすると、メモリ領域の取得（malloc()）は、ＯＳの制約を受けて取得容量サイズに制限を受けたりするが、ＩＯＭＥＭを利用することによりそのような制限は無くなる。
【００８５】
ＯＳ管理下のメモリ領域では、フラグメンテーションが発生してしまい、例え前記した取得容量サイズ制限内であっても、連続したメモリ領域が取得不可能な場合が発生するがＩＯＭＥＭにより、ユーザプログラム側（アプリケーションプログラム）が、メモリ取得をコントロールすることにより、フラグメンテーションの発生等を防ぎ、連続した大容量のメモリ空間の取得が可能となる。
【００８６】
ＯＳ非管理領域についても、ウィンドウ領域を経由してＯＳ側（例えばカーネル）からのアクセスを可能とさせるため、デバッグ用途などでのカーネルから非管理領域へのアクセスも可能となる。
【００８７】
［その他］
本発明実施例の説明においては、画像形成装置について説明を行ったが、画像形成装置に限らず、メモリを有する電子機器内のメモリ管理装置であってもよい。
【符号の説明】
【００８８】
１０１  画像形成装置（メモリ管理装置）
１１１  スキャナ部
１１３  ＨＤＤ（Hard Disk Drive）
１１５  ＤＭＡ（Direct Memory Access）転送部
１１７  印刷部
１１９  主メモリ
１２０  制御部（ＣＰＵを含む）
１２１  ソフトウェア
１２３  ＯＳ（Operating System）
１２５  ＯＳメモリ領域管理部（ＯＳ管理領域アクセス手段）
１２７  ＩＯＭＥＭ（ＯＳ非管理メモリ領域管理部；ＯＳ非管理領域アクセス手段）
１２９  アプリケーションプログラム
１３１  スキャナデータ読取プログラム
１３３  データ圧縮プログラム
【図１】
2010244303.tif 000003
【図２】
2010244303.tif 000004
【図３】
2010244303.tif 000005
【図４】
2010244303.tif 000006