JP2003316646A - 画像形成装置及びメモリ管理方法 - Google Patents

画像形成装置及びメモリ管理方法

Info

Publication number
JP2003316646A
JP2003316646A JP2003044585A JP2003044585A JP2003316646A JP 2003316646 A JP2003316646 A JP 2003316646A JP 2003044585 A JP2003044585 A JP 2003044585A JP 2003044585 A JP2003044585 A JP 2003044585A JP 2003316646 A JP2003316646 A JP 2003316646A
Authority
JP
Japan
Prior art keywords
address
area
virtual
direct map
map area
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.)
Granted
Application number
JP2003044585A
Other languages
English (en)
Other versions
JP4263919B2 (ja
Inventor
Noriyuki Shioda
憲行 塩田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003044585A priority Critical patent/JP4263919B2/ja
Priority to US10/370,726 priority patent/US7055015B2/en
Publication of JP2003316646A publication Critical patent/JP2003316646A/ja
Application granted granted Critical
Publication of JP4263919B2 publication Critical patent/JP4263919B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】メモリアクセスの際に発生するオーバーヘッド
を軽減しつつメモリの使用効率を向上させることが可能
な画像形成装置及びメモリ管理方法を提供することを目
的とする。 【解決手段】画像形成処理を行うアプリケーションのプ
ロセスと、画像形成処理で利用されるハードウェア資源
の管理を行うコントロールサービスのプロセスとにメモ
リをマップする画像形成装置であって、メモリ上に、プ
ロセスによって直接マップ可能な直接マップ領域を少な
くとも獲得する領域獲得手段と、直接マップ領域の物理
アドレスと、仮想メモリ領域上に含まれる直接マップ領
域用の仮想アドレスとを対応付けたアドレス変換手段と
を有することにより上記課題を解決する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像形成装置及び
メモリ管理方法に係り、特に仮想アドレス機能を利用す
る画像形成装置及びメモリ管理方法に関する。
【0002】
【従来の技術】近年、プリンタ,コピー,ファクシミリ
およびスキャナなどの各装置の機能を1つの筐体内に収
納した画像形成装置(以下、融合機という)が知られる
ようになった。この融合機は、1つの筐体内に表示部,
印刷部および撮像部などを設けると共に、プリンタ,コ
ピー,ファクシミリおよびスキャナにそれぞれ対応する
4種類のソフトウェアを設け、そのソフトウェアを切り
替えることより、プリンタ,コピー,ファクシミリおよ
びスキャナとして動作させるものである。
【0003】従来の融合機は、プリンタ,コピー,ファ
クシミリおよびスキャナにそれぞれ対応するソフトウェ
アを設けている。したがって、各ソフトウェアを実行す
ることで生成されるプロセスは、必要なメモリを別個に
獲得していた。
【0004】ところで、融合機が備えているプリンタ,
コピー,ファクシミリおよびスキャナにそれぞれ対応す
るソフトウェアは、オペレーティングシステム(以下、
OSという)上で動作する場合、OSによりメモリ管理
がなされる。
【0005】マルチプロセスを実現するOSは、例えば
仮想アドレス機能を用いてアドレス管理を行い、各プロ
セスごとに別の仮想アドレス空間を提供する。仮想アド
レス機能では、他のプロセスのアクセスからメモリを保
護するためにページングの手法を用いている。ページン
グとは、プロセスに提供した仮想アドレス空間と物理メ
モリのある物理アドレス空間とをプロセッサにより決め
られる所定サイズのページに区切り、仮想アドレス空間
内のページと物理アドレス空間内のページとの対応関係
を管理し、仮想アドレスを物理アドレスに変換する手法
をいう。
【0006】また、ページングの手法では、ページテー
ブルを使用して仮想アドレス空間のページと物理アドレ
ス空間のページとの対応関係を管理している。ページテ
ーブルは、仮想アドレス空間を提供したプロセスごとに
必要となる。
【0007】ページングの手法を用いる場合、全てのメ
モリアクセスに対して仮想アドレスを物理アドレスに変
換するアドレス変換が必要となるため、実行速度の点か
らハードウェアによるサポートが必須であった。このア
ドレス変換は、プロセッサのメモリ管理部(以下、MM
Uという)により行われ、その対応がプロセッサごとに
異なっている。
【0008】例えば一のプロセッサのMMUでは、制御
レジスタにページテーブルの物理アドレスをセットして
おくことで、メモリアクセスを行うときに自動的にメモ
リ上にあるページテーブルを検索して物理アドレスへの
変換を行う。この場合、プロセスを切り替えるときに別
のページテーブルの物理アドレスが制御レジスタにセッ
トされる。
【0009】また、他のプロセッサのMMUではページ
テーブルを自動的に検索することはなく、トランスレー
ション・ルックアサイド・バッファ(以下、TLBとい
う)と呼ばれるプロセッサ内の変換テーブルのみを検索
して物理アドレスへの変換を行う。この場合、メモリア
クセスを行いたい仮想アドレス用のエントリがTLBに
なかったときにTLB例外エラーが発生し、このTLB
例外エラーのハンドラによりソフトウェア的にページテ
ーブルが検索される。そして、その検索結果に基づくエ
ントリがTLBに追加される。
【0010】特許文献1には、ページテーブルの共有に
関する技術が記載されている。特許文献2には、仮想メ
モリ上の1つのセグメントを共通領域と固有領域とに分
割する技術が記載されている。
【0011】
【特許文献1】特開平7−160583号公報
【0012】
【特許文献2】特公平6−58649号公報
【0013】
【発明が解決しようとする課題】ページングの手法を用
いるアドレス管理では、ハードウェアによるサポートに
より実質的な実行速度を得ている。しかしながら、デマ
ンドページングと呼ばれる手法を用いるアドレス管理で
は、以下のような問題があった。
【0014】まず、プロセスの生成時は物理メモリが割
り当てられないために、ページテーブルの内容が全て無
効状態となっている。そして、プロセスの実行時にメモ
リアクセスが行われてページテーブル例外エラーが発生
し、このページテーブル例外エラーのハンドラにより物
理メモリを獲得してページテーブルの内容が作成され
る。
【0015】したがって、物理メモリに余裕がある場合
でもメモリアクセスの際に一定のオーバーヘッドが発生
してしまうという問題があった。このオーバーヘッド
は、画像形成処理のような大量のメモリを使用するプロ
セスの実行時に問題となる。
【0016】また、仮想メモリに対応する物理メモリの
アドレスは、物理メモリの柔軟な管理を行うため、ペー
ジテーブルによりページ単位で設定される。したがっ
て、連続した仮想アドレスに書き込んだデータはページ
単位に分割されて不連続な物理アドレスに書き込まれて
しまう恐れがあり、ダイレクト・メモリ・アクセス(以
下、DMAという)を利用したデバイスとのデータ交換
が煩雑になることがあるという問題があった。
【0017】なお、特許文献1および2に記載されてい
る内容は、メモリアクセスの際に発生するオーバーヘッ
ドを軽減するものではない。
【0018】本発明は、上記の点に鑑みなされたもの
で、メモリアクセスの際に発生するオーバーヘッドを軽
減しつつメモリの使用効率を向上させることが可能な画
像形成装置及びメモリ管理方法を提供することを目的と
する。
【0019】
【課題を解決するための手段】そこで、上記課題を解決
するため、請求項1にかかる発明は、画像形成処理を行
うアプリケーションのプロセスと、画像形成処理で利用
されるハードウェア資源の管理を行うコントロールサー
ビスのプロセスとにメモリをマップする画像形成装置で
あって、前記メモリ上に、前記プロセスによって直接マ
ップ可能な直接マップ領域を少なくとも獲得する領域獲
得手段と、前記直接マップ領域の物理アドレスと、仮想
メモリ領域上に含まれる直接マップ領域用の仮想アドレ
スとを対応付けたアドレス変換手段とを有することを特
徴とする。
【0020】このような画像形成装置では、メモリ上に
直接マップ領域を少なくとも獲得し、その直接マップ領
域の物理アドレスと仮想メモリ領域上に含まれる直接マ
ップ領域用の仮想アドレスとを対応付けておくことによ
り、アドレス変換手段による例外エラーの発生を減少さ
せることができ、直接マップ領域に対するメモリアクセ
スのオーバーヘッドを軽減することが可能である。
【0021】また、請求項2にかかる発明は、前記仮想
メモリ領域が、所定サイズのページごとに管理されるこ
とを特徴とする。
【0022】このような画像形成装置では、仮想メモリ
領域を所定サイズのページ単位で管理することができ、
メモリの管理をページ単位で行うオペレーティングシス
テムのアーキテクチャに適合させることが可能である。
したがって、メモリの使用効率を向上させることが可能
である。
【0023】また、請求項3にかかる発明は、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮想アドレスとを対応付けた
アドレス変換手段の内容を仮想記憶システムを介さずに
書き換えるアドレス書換手段を更に有することを特徴と
する。
【0024】このような画像形成装置では、直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮想アドレスとを対応付けたアドレス変
換手段の内容を、仮想記憶システムを介さずに書き換え
ることにより、仮想記憶システムによるオーバーヘッド
を避けつつハードウェアの仮想アドレス変換機能を利用
することが可能である。
【0025】また、請求項4にかかる発明は、前記アド
レス書換手段が、前記アプリケーションおよび前記コン
トロールサービスの各プロセスの起動時に前記アドレス
変換手段の内容を書き換えることを特徴とする。
【0026】このような画像形成装置では、アプリケー
ションおよびコントロールサービスの各プロセスの起動
時にアドレス変換手段の内容を書き換えることにより、
各プロセスの実行時にアドレス変換手段による例外エラ
ーの発生を減少させることができ、直接マップ領域に対
するメモリアクセスのオーバーヘッドを軽減することが
可能である。
【0027】また、請求項5にかかる発明は、前記領域
獲得手段が、画像形成装置の起動時に、前記直接マップ
領域を獲得することを特徴とする。
【0028】このような画像形成装置では、画像形成装
置の起動時に、直接マップ領域を獲得することにより、
アプリケーションおよびコントロールサービスの各プロ
セスの起動時に直接マップ領域の物理アドレスと仮想メ
モリ領域上に含まれる直接マップ領域用の仮想アドレス
とを対応付けておくことができる。
【0029】また、請求項6にかかる発明は、前記アド
レス変換手段が、前記アプリケーションおよび前記コン
トロールサービスの各プロセスごとに、前記直接マップ
領域の物理アドレスと前記仮想メモリ領域上に含まれる
直接マップ領域用の仮想アドレスとを対応付けたカーネ
ル内のアドレス変換テーブルであることを特徴とする。
【0030】このような画像形成装置では、カーネル内
のアドレス変換テーブルを自動的に検索して物理アドレ
スへの変換を行うプロセッサについて、例外エラーの発
生を減少させることができ、直接マップ領域に対するメ
モリアクセスのオーバーヘッドを軽減することが可能で
ある。
【0031】また、請求項7にかかる発明は、前記アド
レス変換手段が、前記アプリケーションおよび前記コン
トロールサービスの各プロセスごとに、前記直接マップ
領域の物理アドレスと前記仮想メモリ領域上に含まれる
直接マップ領域用の仮想アドレスとを対応付けたプロセ
ッサ内のアドレス変換テーブルであることを特徴とす
る。
【0032】このような画像形成装置では、プロセッサ
内のアドレス変換テーブルを自動的に検索して物理アド
レスへの変換を行うプロセッサについて、例外エラーの
発生を減少させることができ、直接マップ領域に対する
メモリアクセスのオーバーヘッドを軽減することが可能
である。
【0033】また、請求項8にかかる発明は、前記アド
レス変換手段が、前記プロセッサ内のアドレス変換テー
ブルのうち上書きの対象とならない部分に、前記直接マ
ップ領域の物理アドレスと前記仮想メモリ領域上に含ま
れる直接マップ領域用の仮想アドレスとを対応付けてお
くことを特徴とする。
【0034】このような画像形成装置では、プロセッサ
内のアドレス変換テーブルに格納した直接マップ領域の
物理アドレスと仮想メモリ領域上に含まれる直接マップ
領域用の仮想アドレスとの対応付けが上書きにより消去
されてしまうことを避けることができる。
【0035】また、請求項9にかかる発明は、前記アド
レス変換手段が、前記仮想メモリ領域上に含まれる直接
マップ領域用の仮想アドレスが連続しているとき、その
仮想アドレスに対応する前記直接マップ領域の物理アド
レスが連続するように、前記直接マップ領域の物理アド
レスと前記仮想メモリ領域上に含まれる直接マップ領域
用の仮想アドレスとを対応付けることを特徴とする。
【0036】このような画像形成装置では、仮想メモリ
領域上に含まれる直接マップ領域用の仮想アドレスで連
続している領域を、直接マップ領域の連続した物理アド
レスに割り当てることができる。したがって、ダイレク
ト・メモリ・アクセスを利用したデバイスとのデータ交
換が煩雑になることを避けることができ、一度のダイレ
クト・メモリ・アクセスにより大量のデータを転送する
ことが可能となる。
【0037】また、請求項10にかかる発明は、前記ア
ドレス変換手段が、前記直接マップ領域を複数のプロセ
スで共有するように、前記直接マップ領域の物理アドレ
スと前記仮想メモリ領域上に含まれる直接マップ領域用
の仮想アドレスとを対応付けることを特徴とする。
【0038】このような画像形成装置では、複数のプロ
セスが直接マップ領域を共有するように、直接マップ領
域の物理アドレスと仮想メモリ領域上に含まれる直接マ
ップ領域用の仮想アドレスとを対応付けておくことによ
り、複数のプロセスでメモリを共有できる。
【0039】また、請求項11にかかる発明は、前記仮
想メモリ領域が、前記仮想記憶システムにより管理され
るユーザプログラム領域およびスタック領域と、前記仮
想記憶システムにより管理されない直接マップ領域とを
有し、前記直接マップ領域が前記仮想メモリ領域のうち
前記ユーザプログラム領域またはスタック領域として使
用されない未使用領域に獲得されることを特徴とする。
【0040】このような画像形成装置では、仮想メモリ
領域のうち仮想記憶システムにより管理されない未使用
領域に直接マップ領域を獲得することにより、仮想記憶
システムを介さずにハードウェアの仮想アドレス変換機
能を直接利用して仮想アドレスから物理アドレスへの変
換を行うことができる。
【0041】また、請求項12にかかる発明は、画像形
成処理を行うアプリケーションのプロセスと、画像形成
処理で利用されるハードウェア資源の管理を行うコント
ロールサービスのプロセスとにメモリをマップする画像
形成装置のメモリ管理方法であって、前記メモリ上に、
前記プロセスによって直接マップ可能な直接マップ領域
を少なくとも獲得する領域獲得段階と、前記直接マップ
領域の物理アドレスと、仮想メモリ領域上に含まれる直
接マップ領域用の仮想アドレスとを対応付けるアドレス
変換段階とを有することを特徴とする。
【0042】このようなメモリ管理方法では、メモリ上
に直接マップ領域を少なくとも獲得し、その直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮想アドレスとを対応付けておくことに
より、仮想アドレスから物理アドレスに変換するときに
発生する例外エラーを減少させることができ、直接マッ
プ領域に対するメモリアクセスのオーバーヘッドを軽減
することが可能である。
【0043】また、請求項13にかかる発明は、前記仮
想メモリ領域が、所定サイズのページごとに管理される
ことを特徴とする。
【0044】このようなメモリ管理方法では、仮想メモ
リ領域を所定サイズのページ単位で管理することがで
き、メモリの管理をページ単位で行うオペレーティング
システムのアーキテクチャに適合させることが可能であ
る。したがって、メモリの使用効率を向上させることが
可能である。
【0045】また、請求項14にかかる発明は、前記ア
ドレス変換段階が、直接マップ領域の物理アドレスと前
記仮想メモリ領域上に含まれる直接マップ領域用の仮想
アドレスとを対応付けた内容を、仮想記憶システムを介
さずに書き換えることを特徴とする。
【0046】このようなメモリ管理方法では、直接マッ
プ領域の物理アドレスと仮想メモリ領域上に含まれる直
接マップ領域用の仮想アドレスとを対応付けた内容を仮
想記憶システムを介さずに書き換えることにより、仮想
記憶システムによるオーバーヘッドを避けつつハードウ
ェアの仮想アドレス変換機能を利用することが可能であ
る。
【0047】また、請求項15にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションおよび前記コ
ントロールサービスの各プロセスの起動時に、直接マッ
プ領域の物理アドレスと前記仮想メモリ領域上に含まれ
る直接マップ領域用の仮想アドレスとを対応付けた内容
を書き換えることを特徴とする。
【0048】このようなメモリ管理方法では、アプリケ
ーションおよびコントロールサービスの各プロセスの起
動時に、直接マップ領域の物理アドレスと仮想メモリ領
域上に含まれる直接マップ領域用の仮想アドレスとを対
応付けた内容を書き換えることにより、仮想アドレスか
ら物理アドレスに変換するときに発生する例外エラーが
各プロセスの実行時に発生しないようする。したがっ
て、直接マップ領域に対するメモリアクセスのオーバー
ヘッドを軽減することが可能である。
【0049】また、請求項16にかかる発明は、前記領
域獲得段階が、画像形成装置の起動時に、前記直接マッ
プ領域を獲得することを特徴とする。
【0050】このようなメモリ管理方法では、画像形成
装置の起動時に、直接マップ領域を獲得することによ
り、アプリケーションおよびコントロールサービスの各
プロセスの起動時に直接マップ領域の物理アドレスと仮
想メモリ領域上に含まれる直接マップ領域用の仮想アド
レスとを対応付けておくことができる。
【0051】また、請求項17にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションおよび前記コ
ントロールサービスの各プロセスごとに、前記直接マッ
プ領域の物理アドレスと前記仮想メモリ領域上に含まれ
る直接マップ領域用の仮想アドレスとを対応付けたカー
ネル内のアドレス変換テーブルを書き換えることを特徴
とする。
【0052】このようなメモリ管理方法では、カーネル
内のアドレス変換テーブルを自動的に検索して物理アド
レスへの変換を行うプロセッサについて、例外エラーの
発生を減少させることができ、直接マップ領域に対する
メモリアクセスのオーバーヘッドを軽減することが可能
である。
【0053】また、請求項18にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションおよび前記コ
ントロールサービスの各プロセスごとに、前記直接マッ
プ領域の物理アドレスと前記仮想メモリ領域上に含まれ
る直接マップ領域用の仮想アドレスとを対応付けたプロ
セッサ内のアドレス変換テーブルを書き換えることを特
徴とする。
【0054】このようなメモリ管理方法では、プロセッ
サ内のアドレス変換テーブルを自動的に検索して物理ア
ドレスへの変換を行うプロセッサについて、例外エラー
の発生を減少させることができ、直接マップ領域に対す
るメモリアクセスのオーバーヘッドを軽減することが可
能である。
【0055】また、請求項19にかかる発明は、前記ア
ドレス変換段階が、前記プロセッサ内のアドレス変換テ
ーブルのうち上書きの対象とならない部分に、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮想アドレスとを対応付ける
ことを特徴とする。
【0056】このようなメモリ管理方法では、プロセッ
サ内のアドレス変換テーブルに格納した直接マップ領域
の物理アドレスと仮想メモリ領域上に含まれる直接マッ
プ領域用の仮想アドレスとの対応付けが上書きにより消
去されてしまうことを避けることができる。
【0057】また、請求項20にかかる発明は、前記ア
ドレス変換段階が、前記仮想メモリ領域上に含まれる直
接マップ領域用の仮想アドレスが連続しているとき、そ
の仮想アドレスに対応する前記直接マップ領域の物理ア
ドレスが連続するように、前記直接マップ領域の物理ア
ドレスと前記仮想メモリ領域上に含まれる直接マップ領
域用の仮想アドレスとを対応付けることを特徴とする。
【0058】このようなメモリ管理方法では、仮想メモ
リ領域上に含まれる直接マップ領域用の仮想アドレスで
連続している領域を、直接マップ領域の連続した物理ア
ドレスに割り当てることができる。したがって、ダイレ
クト・メモリ・アクセスを利用したデバイスとのデータ
交換が煩雑になることを避けることができ、一度のダイ
レクト・メモリ・アクセスにより大量のデータを転送す
ることが可能となる。
【0059】また、請求項21にかかる発明は、前記ア
ドレス変換段階が、前記直接マップ領域を複数のプロセ
スで共有するように、前記直接マップ領域の物理アドレ
スと前記仮想メモリ領域上に含まれる直接マップ領域用
の仮想アドレスとを対応付けることを特徴とする。
【0060】このようなメモリ管理方法では、複数のプ
ロセスが直接マップ領域を共有するように、直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮想アドレスとを対応付けておくことに
より、複数のプロセスでメモリを共有できる。
【0061】また、請求項22にかかる発明は、前記仮
想メモリ領域が、前記仮想記憶システムにより管理され
るユーザプログラム領域およびスタック領域と、前記仮
想記憶システムにより管理されない直接マップ領域とを
有し、前記直接マップ領域が前記仮想メモリ領域のうち
前記ユーザプログラム領域またはスタック領域として使
用されない未使用領域に獲得されることを特徴とする。
【0062】このようなメモリ管理方法では、仮想メモ
リ領域のうち仮想記憶システムにより管理されない未使
用領域に直接マップ領域を獲得することにより、仮想記
憶システムを介さずにハードウェアの仮想アドレス変換
機能を直接利用して仮想アドレスから物理アドレスへの
変換を行うことができる。
【0063】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面に基づいて説明する。
【0064】まず、ページテーブルの自動参照機能を持
ったプロセッサを利用する第1実施例について説明す
る。
【0065】図1は、本発明による融合機の一実施例の
構成図を示す。融合機1は、ハードウェア資源10と,
ソフトウェア群20と,融合機起動部50とを含むよう
に構成される。ハードウェア資源10は、白黒レーザプ
リンタ11と,カラーレーザプリンタ12と,スキャナ
やファクシミリなどのハードウェアリソース13とを有
する。また、ソフトウェア群20は、UNIX(登録商
標)などのオペレーティングシステム(以下、OSとい
う)上に起動されているアプリケーション30とプラッ
トフォーム40とを有する。
【0066】プラットフォーム40は、アプリケーショ
ン30からの処理要求を解釈してハードウェア資源10
の獲得要求を発生するコントロールサービス51と、1
つ以上のハードウェア資源10の管理を行ってコントロ
ールサービス51からの獲得要求を調停するシステムリ
ソースマネージャ(以下、SRMという)43と、SR
M43からの獲得要求に応じてハードウェア資源10の
管理を行うハンドラ層52とを有するように構成されて
いる。
【0067】コントロールサービス51は、システムコ
ントロールサービス(以下、SCSという)42,エン
ジンコントロールサービス(以下、ECSという)4
4,メモリコントロールサービス(以下、MCSとい
う)45,オペレーションパネルコントロールサービス
(以下、OCSという)46,ファックスコントロール
サービス(以下、FCSという)47,ネットワークコ
ントロールサービス(以下、NCSという)48,など
一つ以上のサービスモジュールを有するように構成され
ている。
【0068】なお、プラットフォーム40は予め定義さ
れている関数によりアプリケーション30からの処理要
求を受信可能とするアプリケーションプログラムインタ
ーフェース(以下、APIという)53を有するように
構成されている。OSは、プラットフォーム40および
アプリケーション30の各ソフトウェアをプロセスとし
て並列実行する。
【0069】SRM43のプロセスは、SCS42と共
にシステムの制御およびリソースの管理を行うものであ
る。例えばSRM43のプロセスは、スキャナ部やプリ
ンタ部などのエンジン,メモリ,HDDファイル,ホス
トI/O(セントロI/F,ネットワークI/F,IE
EE1394 I/F,RS232C I/Fなど)の
ハードウェア資源10を利用する上位層からの要求に従
って調停を行い、実行制御する。
【0070】具体的に、SRM43は要求されたハード
ウェア資源10が利用可能であるか(他の要求により利
用されていないかどうか)を判定し、利用可能であれば
要求されたハードウェア資源10が利用可能である旨を
上位層に通知する。また、SRM43は上位層からの要
求に対してハードウェア資源10の利用スケジューリン
グを行い、例えばプリンタエンジンによる紙搬送と作像
動作,メモリ獲得,ファイル生成などの要求内容を直接
実施している。
【0071】SCS42のプロセスは、アプリケーショ
ン管理,操作部制御,システム画面表示,LED表示,
リソース管理,割り込みアプリケーション制御を行う。
ECS44のプロセスは、白黒レーザプリンタ11,カ
ラーレーザプリンタ12,その他のハードウェアリソー
ス13のエンジンの制御を行う。
【0072】MCS45のプロセスは、画像メモリの取
得および解放,ハードディスク装置(HDD)の利用,
画像データの圧縮および伸張などを行う。OCS46の
プロセスは、オペレータと本体制御との間の情報伝達手
段となるオペレーションパネルの制御を行う。
【0073】FCS47のプロセスは、システムコント
ローラの各アプリケーション層からPSTNまたはIS
DN網を利用したファクシミリ送受信,BKM(バック
アップSRAM)で管理されている各種ファクシミリデ
ータの登録/引用,ファクシミリ読み取り,ファクシミ
リ受信印刷,融合送受信を行うためのアプリケーション
を提供する。
【0074】NCS48のプロセスは、ネットワークI
/Oを必要とするアプリケーション30に対し、共通に
利用できるサービスを提供するものであり、ネットワー
ク側から各プロトコルによって受信したデータを各アプ
リケーション30に振り分けたり、アプリケーション3
0からのデータをネットワーク側に送信する際の仲介を
行う。
【0075】また、ハンドラ層52は後述するファック
スコントロールユニット(以下、FCUという)の管理
を行うファックスコントロールユニットハンドラ(以
下、FCUHという)54と、各プロセスに対するメモ
リの割り振り、各プロセスに割り振ったメモリの管理,
後述する直接マップ領域の管理などを行うイメージメモ
リハンドラ(以下、IMHという)55とを含む。
【0076】SRM43,FCUH54およびIMH5
5は、予め定義されている関数によりハードウェア資源
10に対する処理要求を送信するエンジンI/F56を
利用してハードウェア資源10に対する処理要求を行
う。
【0077】また、アプリケーション30は、プリン
タ,コピー,ファクシミリ,スキャナなどの画像形成処
理にかかるユーザサービスにそれぞれ固有の処理を行う
ものである。
【0078】アプリケーション30は、ページ記述言語
(PDL,PCL)およびポストスクリプト(PS)を
有するプリンタ用のアプリケーションであるプリンタア
プリ31と,コピー用アプリケーションであるコピーア
プリ32と,ファクシミリ用アプリケーションであるフ
ァックスアプリ33と,スキャナ用アプリケーションで
あるスキャナアプリ34とを有している。
【0079】図2は、本発明による融合機の一実施例の
ハードウェア構成図を示す。図2の融合機1は、コント
ローラ60と,オペレーションパネル70と,ファック
スコントロールユニット(以下、FCUという)80
と,USBデバイス90と,IEEE1394デバイス
100と,エンジン部110とを有する。
【0080】また、コントローラ60は、CPU61
と,MEM−P62と,ノースブリッジ(以下、NBと
いう)63と,サウスブリッジ(以下、SBという)6
4と,ASIC66と,MEM−C67と,HDD68
と,ネットワークI/Fコントローラ69とを有する。
【0081】オペレーションパネル70は、コントロー
ラ60のASIC66に直接接続されている。また、F
CU80,USBデバイス90,IEEE1394デバ
イス100およびエンジン部110は、コントローラ6
0のASIC66にPCIバスなどで接続されている。
【0082】コントローラ60は、ASIC66にME
M−C67,HDD68,ネットワークI/Fコントロ
ーラ69などが接続されると共に、CPU61とASI
C66とがCPUチップセットのNB63を介して接続
されている。このように、NB63を介してCPU61
とASIC66とを接続すれば、CPU61のインター
フェースが公開されていない場合に対応できる。
【0083】ここで、ASIC66とNB63とはPC
Iバスを介して接続されているのでなく、AGP(Acce
lerated Graphics Port )65を介して接続されてい
る。このように、図1のプラットフォーム40やアプリ
ケーション30を形成する一つ以上のプロセスを実行制
御するため、ASIC66とNB63とを低速のPCI
バスでなくAGP65を介して接続し、パフォーマンス
の低下を防いでいる。
【0084】CPU61は、融合機1の全体制御を行う
ものである。CPU61は、OS上でプラットフォーム
40を形成するSCS42,SRM43,ECS44,
MCS45,OCS46,FCS47,NCS48,F
CUH54およびIMH55をそれぞれプロセスとして
起動して実行させると共に、アプリケーション30を形
成するプリンタアプリ31,コピーアプリ32,ファッ
クスアプリ33,スキャナアプリ34を起動して実行さ
せる。なお、CPU61はページテーブルの自動参照機
能を持っている。
【0085】NB63は、CPU61,MEM−P6
2,SB64およびASIC66を接続するためのブリ
ッジである。MEM−P62は、融合機1の描画用メモ
リなどとして用いるシステムメモリである。SB64
は、NB63とROM,PCIバス,周辺デバイスとを
接続するためのブリッジである。
【0086】MEM−C67は、コピー用画像バッフ
ァ,符号バッファとして用いるローカルメモリである。
ASIC66は、画像処理用のハードウェア要素を有す
る画像処理用途向けのICである。HDD68は、画像
データの蓄積,プログラムの蓄積,フォントデータの蓄
積,フォームの蓄積を行うためのストレージである。ま
た、オペレーションパネル70は、オペレータからの入
力操作を受け付けると共に、オペレータに向けた表示を
行う操作部である。
【0087】図1の融合機起動部50は、融合機1の電
源投入時に最初に実行され、プラットフォーム40やア
プリケーション30を起動するものである。図3は、融
合機起動部の一例の構成図を示す。融合機起動部50
は、ROMモニタ121と,プログラム起動部122と
を有する。
【0088】ROMモニタ121は電源投入時に実行さ
れ、ハードウェアの初期化,コントローラボードの診
断,ソフトウェアの初期化,OSの起動などを行う。プ
ログラム起動部122はOSから呼び出されるものであ
り、MEM−P62,MEM−C67上にメモリ領域を
獲得する。そして、プログラム起動部122は、コント
ロールサービス51やアプリケーション30のプログラ
ムをROMから読み出し、読み出した各プログラムをM
EM−P62,MEM−C67上に獲得したメモリ領域
に転送して起動するものである。
【0089】次に、融合機1におけるメモリ管理につい
て説明する。図4は、融合機におけるメモリ管理の一例
について説明する図を示す。例えばMEM−P62およ
びMEM−C67のメモリマップは、図4(b)のよう
に表される。
【0090】MEM−P62およびMEM−C67は、
例えばOSなどが使用するカーネル領域と,各種アプリ
ケーション30や各種コントロールサービス51が使用
する汎用領域と,後述する直接マップ領域とが獲得され
る。なお、カーネル領域および汎用領域は、OSにより
管理される。
【0091】また、仮想メモリ領域のメモリマップは、
図4(a)のように表される。仮想メモリ領域は、ユー
ザプログラム領域と,後述する直接マップ領域と,スタ
ック領域とが獲得される。仮想メモリ領域は、プリンタ
アプリ31,コピーアプリ32などのアプリケーション
30のプロセスごと、およびECS44,MCS45な
どのコントロールサービス51のプロセスごとに割り当
てられる。
【0092】なお、ユーザプログラム領域およびスタッ
ク領域は、仮想記憶システムにより管理される。したが
って、ユーザプログラム領域およびスタック領域に対す
るページテーブルの内容は、仮想記憶システムによって
作成または変更される。
【0093】ここで、図5を利用してページテーブルの
内容が無効状態となっている場合のページアクセス処理
について説明する。図5は、ページアクセス処理の一例
のフローチャートを示す。
【0094】新しいページへのアクセスがあると、CP
U61はステップS10に進み、アクセスするページの
仮想アドレスがページテーブル内に登録されているか否
かを判定する。ページテーブルの内容が無効状態となっ
ている場合、CPU61はアクセスするページの仮想ア
ドレスがページテーブル内に登録されていないと判定し
(S11においてNO)、ステップS13に進む。
【0095】ステップS13では、アクセスするページ
の仮想アドレスがページテーブル内に登録されていない
と判定されたためにページテーブル例外エラーが発生す
る。ステップS13に続いてステップS14に進み、C
PU61はページテーブル例外エラーが発生した仮想ア
ドレスを取得する。
【0096】ステップS14に続いてステップS15に
進み、仮想記憶システムはステップS14で取得された
仮想アドレスがメモリにマップされている範囲内である
か否かを判定する。取得された仮想アドレスがメモリに
マップされている範囲内であると判定すると(S16に
おいてYES)、仮想記憶システムはステップS18に
進み、1ページ分の物理メモリを獲得する。なお、取得
した仮想アドレスがメモリにマップされている範囲内で
ないと判定すると(S16においてNO)、仮想記憶シ
ステムはステップS17に進み、プロセスに不正アドレ
スアクセスエラーを通知する。
【0097】ステップS18に続いてステップS19に
進み、仮想記憶システムはステップS18で獲得した物
理メモリのアドレスをページテーブルに登録することで
ページテーブルの内容を作成する。ステップS20に続
いてステップS10に進み、CPU61はアクセスする
ページの仮想アドレスがページテーブル内に登録されて
いるか否かを判定する。
【0098】ステップS19でページテーブルの内容を
作成しているため、CPU61はアクセスするページの
仮想アドレスがページテーブル内に登録されていると判
定し(S11においてYES)、ステップS12に進
む。そして、ステップS12では、ページテーブル例外
エラーが発生せず、新しいページへのアクセスが成功す
ることとなる。このようなページアクセス処理では、物
理メモリに余裕がある場合でもメモリアクセスの際に一
定のオーバーヘッドが発生してしまう。
【0099】そこで、本発明では仮想メモリ領域に直接
マップ領域を作成し、この直接マップ領域に対応するペ
ージテーブルの内容をプロセス生成時またはユーザプロ
セス実行時のシステムコールの発行により作成するよう
にした。図6は、直接マップ領域の一例のメモリマップ
を示す。図6に表されるように、直接マップ領域は、プ
リンタアプリ31,コピーアプリ32などのアプリケー
ションのプロセス、ECS44,MCS45などのコン
トロールサービスのプロセスごとに割り当てられる。
【0100】なお、本発明では仮想記憶システムの起動
時に、物理メモリの仮想メモリ領域以外の未使用領域を
直接マップ領域として獲得する。したがって、直接マッ
プ領域に対応するページテーブルの内容は、仮想記憶シ
ステムによって作成または変更されない。
【0101】図7は、直接マップ領域に対するメモリ管
理方法について説明するための図を示す。なお、図7で
は説明に関係のない構成を適宜省略している。
【0102】OSは、仮想記憶へのアクセスを処理する
仮想記憶処理部133と、仮想記憶の使用領域を、ペー
ジテーブルを用いてページ毎に管理するページテーブル
管理部134と、仮想記憶へのアクセスの例外処理を行
う例外処理部135とを有している。なお、仮想記憶処
理部133,ページテーブル管理部134及び例外処理
部135が仮想記憶システムを構成する。
【0103】OS内の直接マップ領域獲得部131は、
仮想記憶システムの起動時に物理メモリの直接マップ領
域に対応した仮想メモリ領域上に含まれる直接マップ領
域用の仮想アドレスを設定する。また、メモリマップ部
132はプロセスの生成時またはユーザプロセス実行時
のシステムコールの発行時に、IMH55からの指示に
応じてプロセス用のメモリを直接マップ領域にマップす
る。言い換えれば、メモリマップ部132は直接マップ
領域の物理アドレスと、仮想メモリ領域上に含まれる直
接マップ領域用の仮想アドレスとを関連付けるように、
ページテーブル管理部134が管理するページテーブル
の内容を書き換える。
【0104】なお、直接マップ領域獲得部131は特許
請求の範囲に記載した領域獲得手段に相当する。ページ
テーブル管理部134の管理するページテーブルは特許
請求の範囲に記載したアドレス変換手段に相当する。メ
モリマップ部132は特許請求の範囲に記載したアドレ
ス書換手段に相当する。
【0105】ここで、図5を利用して直接マップ領域に
対するページアクセス処理について説明する。直接マッ
プ領域に含まれるページへのアクセスがあると、CPU
61はステップS10に進み、アクセスするページの仮
想アドレスがページテーブル内に登録されているか否か
を判定する。
【0106】直接マップ領域に対応するページテーブル
の内容はプロセス生成時またはユーザプロセス実行時の
システムコールの発行により既に作成されているため、
CPU61はアクセスするページの仮想アドレスがペー
ジテーブル内に登録されていると判定し(S11におい
てYES)、ステップS12に進む。そして、ステップ
S12では、ページテーブル例外エラーが発生せず、直
接マップ領域に含まれるページへのアクセスが成功する
こととなる。
【0107】つまり、ページテーブルの自動参照機能を
持ったプロセッサが直接マップ領域に含まれるページに
アクセスした場合、ページテーブル例外エラーが発生せ
ず、プロセッサにより自動的にページテーブルが参照さ
れて仮想アドレスから物理アドレスへの変換が行われ
る。
【0108】したがって、仮想記憶システムは直接マッ
プ領域に対するアクセスが起こったことを知ることがな
く、仮想メモリ領域を管理するための処理も行わない。
このようなページアクセス処理では、仮想記憶システム
によるオーバーヘッドが発生することなく、ページにア
クセスすることが可能となる。
【0109】第1実施例では、仮想メモリ領域のユーザ
プログラム領域とスタック領域との間であって、仮想記
憶システムが使用していないユーザアドレス空間を直接
マップ領域として利用している。通常、仮想メモリ領域
に含まれるユーザアドレス空間は実際に使用されるアド
レス空間に比べて十分に大きいため、仮想記憶システム
が使用していないユーザアドレス空間を直接マップ領域
として利用しても問題ない。
【0110】次に、ページテーブルの自動参照機能を持
たず、TLBによるアドレス変換機能を持ったプロセッ
サを利用する第2実施例について説明する。なお、第2
実施例の融合機1の構成,ハードウェア構成および融合
機起動部50の構成は、第1実施例の融合機1と同様で
あるので説明を省略する。
【0111】CPU61のキャッシュメモリには、CP
U61によって管理されるTLBが設けられている。T
LBは、プロセスごとに仮想アドレスと物理アドレスと
を対応付けて保持しており、プロセスが仮想アドレスを
指定してメモリにアクセスしようとしたときに、指定さ
れた仮想アドレスを物理アドレスに変換するものであ
る。このTLBは、仮想アドレスと物理アドレスとの組
を所定数(例えば、48個,64個など)だけ保持して
いる。
【0112】図8は、TLBと各プロセスのページテー
ブルとの関係について説明するための図を示す。図8に
表したように、各ページテーブルは各プロセス独自の仮
想アドレスを使用しており、その仮想アドレスに対応す
る物理アドレスを管理している。また、TLBは各プロ
セスがアクセスした仮想アドレスと、その仮想アドレス
に対応する物理アドレスとをプロセスID(以下、PI
Dという)ごとに保持している。
【0113】例えばプリンタアプリ31のプロセスが仮
想アドレス1100番地に対してアクセスすると、CP
U61はプリンタアプリ31のPIDの中から仮想アド
レス1100番地を検索し、プリンタアプリ31の仮想
アドレス1100番地に対応する物理アドレス130番
地を使用する。
【0114】一方、プリンタアプリ31のプロセスが仮
想アドレス1000番地に対してアクセスすると、CP
U61はプリンタアプリ31のPIDの中から仮想アド
レス1000番地を検索する。しかし、図8のTLBに
はプリンタアプリ31の仮想アドレス1000番地が登
録されていない。このためにTLB例外エラーが発生
し、CPU61はプリンタアプリ31のページテーブル
を参照する。そして、プリンタアプリ31の仮想アドレ
ス1000番地に対応する物理アドレス30番地を取得
して、TLBに「PID:プリンタアプリ,物理アドレ
ス:30番地,仮想アドレス:1000番地」のエント
リを追加する。
【0115】しかし、TLBが保持できるエントリの数
はプロセッサにより決まっているため、新たにエントリ
を追加するときに以前のエントリが上書きされる場合が
生じる。このように、TLBのエントリは上書きされて
内容が変わってしまう場合があるが、頻繁に使用する重
要なエントリを固定的な使用のために上書きから保護す
る機能がある。
【0116】図9は、TLBの一例の構成図を示す。図
9のTLBでは、所定数のエントリを上書きの対象とな
らない固定的に使用されるエントリとし、残りのエント
リを上書きの対象となる動的に使用されるエントリとし
ている。固定的に使用されるエントリを利用することに
より、重要なエントリが上書きの対象とならないように
保護することができる。
【0117】そこで、本発明では第1実施例と同様に、
仮想メモリ領域に直接マップ領域を作成し、直接マップ
領域の仮想アドレス及びその仮想アドレスに対応する物
理アドレスをプロセス生成時またはユーザプロセス実行
時のシステムコールの発行により図9の固定的に使用さ
れるエントリに書き込むようにした。なお、本発明では
仮想記憶システムの起動時に、物理メモリの仮想メモリ
領域以外の未使用領域を直接マップ領域として獲得す
る。したがって、直接マップ領域に対するTLBの内容
は、仮想記憶システムによって作成または変更されな
い。
【0118】なお、第2実施例の場合、図7のメモリマ
ップ部132は直接マップ領域の物理アドレスと、仮想
メモリ領域上に含まれる直接マップ領域用の仮想アドレ
スとを関連付けるように、CPU61が管理するTLB
の固定的に使用されるエントリに書き込む。
【0119】この状態で直接マップ領域に含まれるペー
ジへのアクセスがあると、TLBに対する仮想アドレス
の検索は必ずヒットし、CPU61は仮想アドレスに対
応する物理アドレスを取得することができる。このよう
に、TLB例外エラーが発生しないため、仮想記憶シス
テムは直接マップ領域に対するアクセスが起こったこと
を知ることがなく、仮想メモリ領域を管理するための処
理も行わない。したがって、仮想記憶システムによるオ
ーバーヘッドが発生することなく、ページにアクセスす
ることが可能となる。
【0120】第2実施例では、仮想メモリ領域のユーザ
プログラム領域とスタック領域との間であって、仮想記
憶システムが使用していないユーザアドレス空間を直接
マップ領域として利用している。通常、仮想メモリ領域
に含まれるユーザアドレス空間は実際にしようされるア
ドレス空間に比べて十分に大きいため、仮想記憶システ
ムが使用していないユーザアドレス空間を直接マップ領
域として利用しても問題ない。
【0121】また、1つのエントリで指定できるアドレ
ス範囲には制限があるため、その制限を越えたアドレス
範囲を直接マップ領域として使用する場合には複数のエ
ントリをTLBの固定的に使用されるエントリに書き込
んでおく必要がある。
【0122】前述の第1実施例および第2実施例は、ハ
ードウェアによるサポートを直接に利用して図4のよう
な直接マップ領域を実現している。そこで、本発明の融
合機1は直接マップ領域の仮想アドレスに対する物理ア
ドレスが連続するようにページテーブルまたはTLBを
作成することにより、仮想アドレス空間でアドレスが連
続している領域を物理メモリ上でもアドレスが連続して
いるように対応付けることが可能である。
【0123】通常、デバイスが行うDMAによるデータ
交換は、物理アドレス空間で行われている。したがっ
て、仮想アドレス空間で作成したデータをDMAにより
デバイスに転送する場合に、物理メモリ上でもアドレス
が連続しているという保証があれば、一度のDMAによ
り大量のデータをデバイスに転送することができる。
【0124】また、本発明の融合機1は複数のプロセス
でデータを共有する場合に、メモリを共有することが可
能となる。図10は、複数のプロセスによりメモリを共
有するときの一例のメモリマップを示す。
【0125】図10のメモリマップでは、プロセスAの
仮想メモリ領域に含まれる領域aとプロセスBの仮想メ
モリ領域に含まれる領域bとが同じ物理メモリ領域を使
用するように、領域aおよび領域bに対応するページテ
ーブルまたはTLBの内容が書き換えられている。した
がって、プロセスAおよびプロセスBは仮想記憶システ
ムによるオーバーヘッドがほとんど発生することなく、
物理メモリ領域を共有することができる。
【0126】例えば図10のメモリマップを利用して複
数のプロセスでメモリを共有する処理を図11を参照し
つつ説明する。図11は、複数のプロセスによりメモリ
を共有するときの一例のシーケンス図を示す。
【0127】図11中、ステップS30ではプロセスA
がIMH49に対して仮想メモリ領域aの獲得を要求す
る。ステップS30に続いてステップS31に進み、I
MH49はプロセスAからの要求に応じて物理メモリ領
域を獲得し、獲得した物理メモリ領域に対応する仮想ア
ドレスAをプロセスAに通知する。例えばプロセスAは
画像を作成し、作成した画像を獲得した仮想アドレスA
に書き込む。
【0128】ステップS31に続いてステップS32に
進み、プロセスAは画像を書き込んだ仮想アドレスAを
プロセス間通信によりプロセスBに通知する。なお、プ
ロセスAの仮想メモリ領域に含まれる領域aとプロセス
Bの仮想メモリ領域に含まれる領域bとが同じ物理メモ
リ領域を使用するように、領域aおよび領域bに対応す
るページテーブルまたはTLBの内容が書き換えられて
いるしたがって、プロセスBはプロセスAから通知され
た仮想アドレスAから画像を読み出し、読み出した画像
を例えばプリンタに出力できる。ステップS32に続い
てステップS33に進み、プロセスBは画像を読み込ん
でプリンタに出力した旨をプロセス間通信によりプロセ
スAに通知する。ステップS33に続いてステップS3
4に進み、プロセスAはIMH49に対して物理アドレ
スの解放を要求して処理を終了する。
【0129】
【発明の効果】上述の如く、本発明によれば、メモリア
クセスのときに例外エラーがほとんど発生しないため、
直接マップ領域に対するメモリアクセスのオーバーヘッ
ドを軽減することが可能である。
【0130】また、本発明によれば、仮想メモリ領域上
に含まれる直接マップ領域用の仮想アドレスで連続して
いる領域を、直接マップ領域の連続した物理アドレスに
割り当てることができるため、ダイレクト・メモリ・ア
クセスを利用したデバイスとのデータ交換が煩雑になら
ず、一度のダイレクト・メモリ・アクセスにより大量の
データを転送することが可能となる。
【0131】また、本発明によれば、複数のプロセスが
直接マップ領域を共有するように直接マップ領域の物理
アドレスと仮想メモリ領域上に含まれる直接マップ領域
用の仮想アドレスとを対応付けておくことができるた
め、複数のプロセスでメモリを共有することが可能とな
る。
【0132】
【図面の簡単な説明】
【図1】本発明による融合機の一実施例の構成図であ
る。
【図2】本発明による融合機の一実施例のハードウェア
構成図である。
【図3】融合機起動部の一例の構成図である。
【図4】融合機におけるメモリ管理の一例について説明
する図である。
【図5】ページアクセス処理の一例のフローチャートで
ある。
【図6】直接マップ領域の一例のメモリマップである。
【図7】直接マップ領域に対するメモリ管理方法につい
て説明するための図である。
【図8】TLBと各プロセスのページテーブルとの関係
について説明するための図である。
【図9】TLBの一例の構成図である。
【図10】複数のプロセスによりメモリを共有するとき
の一例のメモリマップである。
【図11】複数のプロセスによりメモリを共有するとき
の一例のシーケンス図である。
【符号の説明】
1 融合機 11 白黒レーザプリンタ 12 カラーレーザプリンタ 13 ハードウェアリソース 20 ソフトウェア群 30 アプリケーション 40 プラットフォーム 42 システムコントロールサービス(SCS) 43 システムリソースマネージャ(SRM) 44 エンジンコントロールサービス(ECS) 45 メモリコントロールサービス(MCS) 46 オペレーションパネルコントロールサービス
(OCS) 47 ファックスコントロールサービス(FCS) 48 ネットワークコントロールサービス(NCS) 50 融合機起動部 51 コントロールサービス 52 ハンドラ層 53 アプリケーションプログラムインターフェース
(API) 54 ファックスコントロールユニットハンドラ(F
CUH) 55 イメージメモリハンドラ(IMH) 56 エンジンI/F 60 コントローラ 61 CPU 62 システムメモリ(MEM−P) 63 ノースブリッジ(NB) 64 サウスブリッジ(SB) 65 AGP(Accelerated Graphics Port) 66 ASIC 67 ローカルメモリ(MEM−C) 68 ハードディスク装置(HDD) 69 ネットワークI/Fコントローラ 70 オペレーションパネル 80 ファックスコントロールユニット(FCU) 90 USBデバイス 100 IEEE1394デバイス 110 エンジン部 121 ROMモニタ 122 プログラム起動部 131 直接マップ領域獲得部 132 メモリマップ部 133 仮想記憶処理部 134 ページテーブル管理部 135 例外処理部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/46 340 G06F 9/46 340F

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 画像形成処理を行うアプリケーションの
    プロセスと、画像形成処理で利用されるハードウェア資
    源の管理を行うコントロールサービスのプロセスとにメ
    モリをマップする画像形成装置であって、 前記メモリ上に、前記プロセスによって直接マップ可能
    な直接マップ領域を少なくとも獲得する領域獲得手段
    と、 前記直接マップ領域の物理アドレスと、仮想メモリ領域
    上に含まれる直接マップ領域用の仮想アドレスとを対応
    付けたアドレス変換手段とを有することを特徴とする画
    像形成装置。
  2. 【請求項2】 前記仮想メモリ領域は、所定サイズのペ
    ージごとに管理されることを特徴とする請求項1記載の
    画像形成装置。
  3. 【請求項3】 前記直接マップ領域の物理アドレスと前
    記仮想メモリ領域上に含まれる直接マップ領域用の仮想
    アドレスとを対応付けたアドレス変換手段の内容を仮想
    記憶システムを介さずに書き換えるアドレス書換手段を
    更に有することを特徴とする請求項1又は2記載の画像
    形成装置。
  4. 【請求項4】 前記アドレス書換手段は、前記アプリケ
    ーションおよび前記コントロールサービスの各プロセス
    の起動時に前記アドレス変換手段の内容を書き換えるこ
    とを特徴とする請求項3記載の画像形成装置。
  5. 【請求項5】 前記領域獲得手段は、画像形成装置の起
    動時に、前記直接マップ領域を獲得することを特徴とす
    る請求項1乃至4何れか一項記載の画像形成装置。
  6. 【請求項6】 前記アドレス変換手段は、前記アプリケ
    ーションおよび前記コントロールサービスの各プロセス
    ごとに、前記直接マップ領域の物理アドレスと前記仮想
    メモリ領域上に含まれる直接マップ領域用の仮想アドレ
    スとを対応付けたカーネル内のアドレス変換テーブルで
    あることを特徴とする請求項1乃至5何れか一項記載の
    画像形成装置。
  7. 【請求項7】 前記アドレス変換手段は、前記アプリケ
    ーションおよび前記コントロールサービスの各プロセス
    ごとに、前記直接マップ領域の物理アドレスと前記仮想
    メモリ領域上に含まれる直接マップ領域用の仮想アドレ
    スとを対応付けたプロセッサ内のアドレス変換テーブル
    であることを特徴とする請求項1乃至5何れか一項記載
    の画像形成装置。
  8. 【請求項8】 前記アドレス変換手段は、前記プロセッ
    サ内のアドレス変換テーブルのうち上書きの対象となら
    ない部分に、前記直接マップ領域の物理アドレスと前記
    仮想メモリ領域上に含まれる直接マップ領域用の仮想ア
    ドレスとを対応付けておくことを特徴とする請求項7記
    載の画像形成装置。
  9. 【請求項9】 前記アドレス変換手段は、前記仮想メモ
    リ領域上に含まれる直接マップ領域用の仮想アドレスが
    連続しているとき、その仮想アドレスに対応する前記直
    接マップ領域の物理アドレスが連続するように、前記直
    接マップ領域の物理アドレスと前記仮想メモリ領域上に
    含まれる直接マップ領域用の仮想アドレスとを対応付け
    ることを特徴とする請求項1乃至8何れか一項記載の画
    像形成装置。
  10. 【請求項10】 前記アドレス変換手段は、複数のプロ
    セスが前記直接マップ領域を共有するように、前記直接
    マップ領域の物理アドレスと前記仮想メモリ領域上に含
    まれる直接マップ領域用の仮想アドレスとを対応付ける
    ことを特徴とする請求項1乃至9何れか一項記載の画像
    形成装置。
  11. 【請求項11】 前記仮想メモリ領域は、前記仮想記憶
    システムにより管理されるユーザプログラム領域および
    スタック領域と、前記仮想記憶システムにより管理され
    ない直接マップ領域とを有し、前記直接マップ領域が前
    記仮想メモリ領域のうち前記ユーザプログラム領域また
    はスタック領域として使用されない未使用領域に獲得さ
    れることを特徴とする請求項3乃至10何れか一項記載
    の画像形成装置。
  12. 【請求項12】 画像形成処理を行うアプリケーション
    のプロセスと、画像形成処理で利用されるハードウェア
    資源の管理を行うコントロールサービスのプロセスとに
    メモリをマップする画像形成装置のメモリ管理方法であ
    って、 前記メモリ上に、前記プロセスによって直接マップ可能
    な直接マップ領域を少なくとも獲得する領域獲得段階
    と、 前記直接マップ領域の物理アドレスと、仮想メモリ領域
    上に含まれる直接マップ領域用の仮想アドレスとを対応
    付けるアドレス変換段階とを有することを特徴とするメ
    モリ管理方法。
  13. 【請求項13】 前記仮想メモリ領域は、所定サイズの
    ページごとに管理されることを特徴とする請求項12記
    載のメモリ管理方法。
  14. 【請求項14】 前記アドレス変換段階は、直接マップ
    領域の物理アドレスと前記仮想メモリ領域上に含まれる
    直接マップ領域用の仮想アドレスとを対応付けた内容を
    仮想記憶システムを介さずに書き換えることを特徴とす
    る請求項12又は13記載のメモリ管理方法。
  15. 【請求項15】 前記アドレス変換段階は、前記アプリ
    ケーションおよび前記コントロールサービスの各プロセ
    スの起動時に、直接マップ領域の物理アドレスと前記仮
    想メモリ領域上に含まれる直接マップ領域用の仮想アド
    レスとを対応付けた内容を書き換えることを特徴とする
    請求項14記載のメモリ管理方法。
  16. 【請求項16】 前記領域獲得段階は、画像形成装置の
    起動時に、前記直接マップ領域を獲得することを特徴と
    する請求項12乃至15何れか一項記載のメモリ管理方
    法。
  17. 【請求項17】 前記アドレス変換段階は、前記アプリ
    ケーションおよび前記コントロールサービスの各プロセ
    スごとに、前記直接マップ領域の物理アドレスと前記仮
    想メモリ領域上に含まれる直接マップ領域用の仮想アド
    レスとを対応付けたカーネル内のアドレス変換テーブル
    を書き換えることを特徴とする請求項12乃至16何れ
    か一項記載のメモリ管理方法。
  18. 【請求項18】 前記アドレス変換段階は、前記アプリ
    ケーションおよび前記コントロールサービスの各プロセ
    スごとに、前記直接マップ領域の物理アドレスと前記仮
    想メモリ領域上に含まれる直接マップ領域用の仮想アド
    レスとを対応付けたプロセッサ内のアドレス変換テーブ
    ルを書き換えることを特徴とする請求項12乃至16何
    れか一項記載のメモリ管理方法。
  19. 【請求項19】 前記アドレス変換段階は、前記プロセ
    ッサ内のアドレス変換テーブルのうち上書きの対象とな
    らない部分に、前記直接マップ領域の物理アドレスと前
    記仮想メモリ領域上に含まれる直接マップ領域用の仮想
    アドレスとを対応付けることを特徴とする請求項18記
    載のメモリ管理方法。
  20. 【請求項20】 前記アドレス変換段階は、前記仮想メ
    モリ領域上に含まれる直接マップ領域用の仮想アドレス
    が連続しているとき、その仮想アドレスに対応する前記
    直接マップ領域の物理アドレスが連続するように、前記
    直接マップ領域の物理アドレスと前記仮想メモリ領域上
    に含まれる直接マップ領域用の仮想アドレスとを対応付
    けることを特徴とする請求項12乃至19何れか一項記
    載のメモリ管理方法。
  21. 【請求項21】 前記アドレス変換段階は、複数のプロ
    セスが前記直接マップ領域を共有するように、前記直接
    マップ領域の物理アドレスと前記仮想メモリ領域上に含
    まれる直接マップ領域用の仮想アドレスとを対応付ける
    ことを特徴とする請求項12乃至20何れか一項記載の
    メモリ管理方法。
  22. 【請求項22】 前記仮想メモリ領域は、前記仮想記憶
    システムにより管理されるユーザプログラム領域および
    スタック領域と、前記仮想記憶システムにより管理され
    ない直接マップ領域とを有し、前記直接マップ領域が前
    記仮想メモリ領域のうち前記ユーザプログラム領域また
    はスタック領域として使用されない未使用領域に獲得さ
    れることを特徴とする請求項14乃至21何れか一項記
    載のメモリ管理方法。
JP2003044585A 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法 Expired - Fee Related JP4263919B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003044585A JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法
US10/370,726 US7055015B2 (en) 2002-02-25 2003-02-24 Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002-48514 2002-02-25
JP2002048514 2002-02-25
JP2003044585A JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法

Publications (2)

Publication Number Publication Date
JP2003316646A true JP2003316646A (ja) 2003-11-07
JP4263919B2 JP4263919B2 (ja) 2009-05-13

Family

ID=29551938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003044585A Expired - Fee Related JP4263919B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリ管理方法

Country Status (1)

Country Link
JP (1) JP4263919B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085393A (ja) * 2004-09-15 2006-03-30 National Institute Of Information & Communication Technology デバイスからの高速データ転送方法及びデータ処理装置
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構
JP2009070208A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像処理装置およびメモリ確保方法
JP2010020540A (ja) * 2008-07-10 2010-01-28 Ricoh Co Ltd 画像形成装置及び補助記憶装置のアクセス方法
US7676645B2 (en) 2004-01-09 2010-03-09 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP2011065650A (ja) * 2009-09-18 2011-03-31 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2013037588A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム
JP2013037589A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム
US8547453B2 (en) 2007-04-25 2013-10-01 Sony Corporation Image processing apparatus and camera system
JP2014219941A (ja) * 2013-05-10 2014-11-20 株式会社リコー 画像データ処理装置、画像処理装置、及び画像データ転送方法
US9361305B2 (en) 2011-08-09 2016-06-07 Kyocera Document Solutions Inc. Image forming apparatus having a file system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676645B2 (en) 2004-01-09 2010-03-09 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP2006085393A (ja) * 2004-09-15 2006-03-30 National Institute Of Information & Communication Technology デバイスからの高速データ転送方法及びデータ処理装置
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構
US8547453B2 (en) 2007-04-25 2013-10-01 Sony Corporation Image processing apparatus and camera system
JP2009070208A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像処理装置およびメモリ確保方法
JP2010020540A (ja) * 2008-07-10 2010-01-28 Ricoh Co Ltd 画像形成装置及び補助記憶装置のアクセス方法
JP2013254524A (ja) * 2009-09-18 2013-12-19 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2011065650A (ja) * 2009-09-18 2011-03-31 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2015135696A (ja) * 2009-09-18 2015-07-27 インテル コーポレイション ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2013037589A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム
JP2013037588A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム
US9361305B2 (en) 2011-08-09 2016-06-07 Kyocera Document Solutions Inc. Image forming apparatus having a file system
JP2014219941A (ja) * 2013-05-10 2014-11-20 株式会社リコー 画像データ処理装置、画像処理装置、及び画像データ転送方法

Also Published As

Publication number Publication date
JP4263919B2 (ja) 2009-05-13

Similar Documents

Publication Publication Date Title
US7055015B2 (en) Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory
JP4237222B2 (ja) 画像処理装置および画像処理方法
JP5213539B2 (ja) 画像処理装置及び画像処理装置のメモリ管理方法
US7721023B2 (en) I/O address translation method for specifying a relaxed ordering for I/O accesses
US7715028B2 (en) Card type memory, image forming apparatus, and starting method therefor
JP4263919B2 (ja) 画像形成装置及びメモリ管理方法
US8473691B2 (en) Memory management device, image forming apparatus, and image forming method
US20130007367A1 (en) Information processing apparatus and method of controlling same
JP4101004B2 (ja) 画像形成装置
US7911639B2 (en) Image forming device
EP1308793B1 (en) Image forming device having a memory assignment unit
JP4263920B2 (ja) 情報処理装置及びメモリ管理方法
JP2004112718A (ja) 画像処理装置
JPH05303553A (ja) 複合機コントローラ
US8526039B2 (en) Image processing apparatus, and control method thereof and program
JP4136397B2 (ja) 画像形成装置及びメモリ管理方法
US20050086450A1 (en) Information processing apparatus and file management method
JP2003196110A (ja) 画像形成装置
JP2005028687A (ja) 画像処理装置,情報処理装置およびメモリディスク管理方法
JP3857598B2 (ja) データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置
JP4128468B2 (ja) 情報処理装置及びメモリマップ方法
JP4128467B2 (ja) 画像形成装置及びメモリマップ方法
JP2011188411A (ja) 画像処理装置と画像処理システム
JP2004272479A (ja) 情報処理装置、画像形成装置、スワップアウト制御方法、そのプログラム及びそのプログラムを記録した記録媒体
JP2004272460A (ja) 情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

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: 20090213

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees