JP2003337714A - 画像形成装置及びメモリマップ方法 - Google Patents

画像形成装置及びメモリマップ方法

Info

Publication number
JP2003337714A
JP2003337714A JP2003044587A JP2003044587A JP2003337714A JP 2003337714 A JP2003337714 A JP 2003337714A JP 2003044587 A JP2003044587 A JP 2003044587A JP 2003044587 A JP2003044587 A JP 2003044587A JP 2003337714 A JP2003337714 A JP 2003337714A
Authority
JP
Japan
Prior art keywords
area
image forming
memory
map
forming apparatus
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
JP2003044587A
Other languages
English (en)
Other versions
JP4128467B2 (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 JP2003044587A priority Critical patent/JP4128467B2/ja
Priority to US10/370,726 priority patent/US7055015B2/en
Publication of JP2003337714A publication Critical patent/JP2003337714A/ja
Application granted granted Critical
Publication of JP4128467B2 publication Critical patent/JP4128467B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storing Facsimile Image Data (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 本発明の課題は、複数の異なる画像形成アプ
リケーションによって生成される複数のプロセス間でデ
ータを共有可能とする画像形成装置を提供することを目
的とする。 【解決手段】 本発明の課題は、画像形成処理を行うア
プリケーションのプロセスと、画像形成処理で利用され
るハードウェア資源の管理を行うコントロールサービス
のプロセスとにメモリをマップする画像形成装置であっ
て、上記メモリ上に上記プロセスによって直接マップ可
能な直接マップ領域を獲得する領域獲得手段と、上記プ
ロセスが指定する上記直接マップ領域内の所定領域を示
す物理アドレスによって、該プロセスの仮想メモリ領域
から該所定領域へ直接マップする直接マップ手段とを有
することを特徴とする画像形成装置によって達成され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多種の画像形成機
能を有する画像形成装置に係り、詳しくは、各機能に対
応するアプリケーションによって生成される複数のプロ
セス間でデータを共有可能とし、多種の画像形成機能を
融合する画像形成装置を提供するものである。
【0002】
【従来の技術】近年、プリンタ、コピー、ファクシミ
リ、スキャナなどの各装置の機能を1つの筐体内に収納
した画像形成装置が一般的に知られている。このような
複合型の画像形成装置は、1つの筐体内に表示部、印刷
部および撮像部などを設けるとともに、プリンタ、コピ
ーおよびファクシミリ装置にそれぞれ対応する3種類の
アプリケーションを設け、アプリケーションの切り替え
によって、当該装置をプリンタ、コピー、スキャナまた
はファクシミリ装置として動作させるものである。
【0003】例えば特許文献1には、上記のような複合
型の画像形成装置の一例が記載されている。
【0004】
【特許文献1】特開2002−84383号公報
【0005】
【発明が解決しようとする課題】このような従来の複合
型の画像形成装置では、プリンタ、コピーおよびファク
シミリにそれぞれ対応する別個のアプリケーション(O
Sを含む)を備えているため、各アプリケーションを実
行して生成されるプロセスが必要とするメモリはそれぞ
れ別個に獲得され、また、個別に管理されている。
【0006】コピー、スキャナ、プリンタなどのアプリ
ケーションがOS(オペレーティングシステム)上で動
作する従来の複合機の場合、OSが行なうOS仮想メモ
リ領域へのマップとアプリケーション等によって生成さ
れるプロセスが行なう仮想メモリ領域へのマップとは、
通常、別のアーキテクチャをとっていることが多い。
【0007】このようなアーキテクチャの場合、アプリ
ケーションによって生成されたプロセスがマップした仮
想メモリ領域のアドレスをOS仮想メモリ領域のアドレ
スに変換することによって、かかるOSによるそのアド
レスへのアクセスが制御されている。
【0008】例えば、図1に示すように、プロセスAが
プロセスAの仮想メモリ領域内の所定領域へのマップ
後、プロセスAの動作中の割り込み発生によるOS1に
よるOS仮想メモリ領域へのアクセスは、プロセスAが
マップした仮想メモリ領域のアドレスをOS仮想メモリ
領域へのアドレスに変換することによって、アクセスが
可能となる。
【0009】一方、プロセスBの動作中の割り込み発生
によって、プロセスAがマップしたプロセスAの仮想メ
モリ領域のアドレスに対応するOS1によるOS仮想メ
モリ領域へのアクセスは、プロセスBが、プロセスAが
マップしたプロセスAの仮想メモリ領域内の所定領域に
対応するプロセスBの仮想メモリ領域内の所定領域へマ
ップをしていない場合、そのアドレスをOS仮想メモリ
領域へのアドレスに変換することができない。このアド
レス変換の失敗により、OS1は、異常終了をしてしま
う等の問題があった。
【0010】このような異常終了によって、例えば、同
一画像データをプリンタ機能によって紙へ出力し、ま
た、スキャナ機能によってイメージデータの出力を行な
う場合などに効率的な処理を行なうことができなかっ
た。
【0011】よって、従来のようなプリンタ、コピー、
ファクシミリ、スキャナなどの各装置の機能を1つの筐
体内に収納した複合機型の画像形成装置ではなく、各機
能に対応するアプリケーションによって生成されるプロ
セス間でデータを共有することによって、プリンタ、コ
ピー、ファクシミリ、スキャナなどの機能を融合して1
つの画像形成装置とすることが望まれている。
【0012】そこで、本発明の課題は、多種の画像形成
機能毎に対応するアプリケーションによって生成される
プロセス間でデータの共有を可能とする画像形成装置を
提供することである。
【0013】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、請求項1に記載されるように、画像形成
処理を行うアプリケーションのプロセスと、画像形成処
理で利用されるハードウェア資源の管理を行うコントロ
ールサービスのプロセスとにメモリをマップする画像形
成装置であって、上記メモリ上に上記プロセスによって
直接マップ可能な直接マップ領域を獲得する領域獲得手
段と、上記プロセスが指定する上記直接マップ領域内の
所定領域を示す物理アドレスによって、該プロセスの仮
想メモリ領域から該所定領域へ直接マップする直接マッ
プ手段とを有するように構成される。
【0014】このような画像形成装置では、プロセスが
物理アドレスを指定することによって該プロセスの仮想
メモリ領域から獲得してメモリ上の直接マップ領域への
マップを行なうことができる。
【0015】プロセスが直接マップするという観点か
ら、本発明は、請求項2に記載されるように、請求項1
記載の画像形成装置であって、上記直接マップ手段は、
システムコールによって、オペレーティングシステムが
有する上記仮想メモリ領域から上記直接マップ領域内の
上記所定領域へマップするマップ処理手段を直接起動す
るように構成することができる。
【0016】このような画像形成装置では、プロセス
は、システムコールによって、オペレーティングシステ
ムのマップ処理手段を直接起動し、メモリ上の直接マッ
プ領域へのマップを行なうことができる。
【0017】プロセスがシステムコールするという観点
から、本発明は、請求項3に記載されるように、請求項
2記載の画像形成装置であって、上記システムコール
は、sysarch関数をコールすることによって行な
われるように構成することができる。
【0018】このような画像形成装置では、プロセス
は、直接sysarch関数をコールすることによって
システムコールを行なうことができ、オペレーティング
システムでの処理を介さずに、メモリ上の直接マップ領
域へのマップを行なうことができる。
【0019】プロセス間で直接マップ領域を共有すると
いう観点から、請求項4に記載されるように、請求項1
乃至3のいずれか一項記載の画像形成装置であって、2
以上の上記プロセスが同一物理アドレスを指定すること
によって、同一所定領域を上記プロセス間で共有するよ
うに構成することができる。
【0020】このような画像形成装置では、オペレーテ
ィングシステムを介さずに、異なるプロセスが同一物理
アドレスを指定することによって、該物理アドレスによ
って指定される所定領域を共有することが可能となる。
【0021】直接マップ領域内の所定領域を物理アドレ
スで指定するという観点から、請求項5に記載されるよ
うに、請求項1乃至4のいずれか一項記載の画像形成装
置であって、上記プロセスは、上記物理アドレスを、上
記直接マップ領域内における上記所定領域を示すオフセ
ット値によって指定するように構成することができる。
【0022】また、上記課題を解決するため、本発明
は、画像形成処理を行うアプリケーションのプロセス
と、画像形成処理で利用されるハードウェア資源の管理
を行うコントロールサービスのプロセスとにメモリをマ
ップする画像形成装置であって、上記プロセスの仮想メ
モリ領域から上記メモリ上へ直接マップ可能であって、
プロセッサーによる直接アクセスを可能とする第一直接
マップ領域を上記メモリ上に獲得する第一マップ領域獲
得手段と、上記第一マップ領域獲得手段によって獲得し
た上記第一直接マップ領域の所定第一領域を示す物理ア
ドレスをページディレクトリエントリに設定することに
よって、上記プロセスの仮想メモリ領域から該所定第一
領域へ直接マップする第一マップ手段とを有するように
構成される。
【0023】このような画像形成装置では、オペレーテ
ィングシステムを介さずに、プロセッサーによる上記第
一直接マップ領域への直接アクセスがページディレクト
リエントリから可能となる。
【0024】更に、プロセスによって直接マップ領域を
マップするという観点から、請求項7に記載されるよう
に、請求項6記載の画像形成装置であって、上記プロセ
スが該プロセスの仮想メモリ領域から上記メモリ上への
直接マップを可能とする第二マップ領域を上記メモリ上
に獲得する第二マップ領域獲得手段と、上記プロセスに
よるシステムコールによって、上記第二マップ領域獲得
手段によって獲得した上記第二直接マップ領域の所定第
二領域を示す物理アドレスをページテーブルエントリに
設定することによって、該プロセスの仮想メモリ領域か
ら該所定第二領域へ直接マップする第二マップ手段とを
有するように構成される。
【0025】このような画像形成装置では、プロセス
は、オペレーティングシステムを介さずに、上記所定第
二領域を示す物理アドレスをページテーブルエントリに
設定することによって、該ページテーブルエントリから
マップすることができる。
【0026】プロセスが上記所定第二領域へ直接マップ
するという観点から、請求項8に記載されるように、請
求項7記載の画像形成装置であって、上記第二マップ手
段は、システムコールによって、オペレーティングシス
テムが有する上記プロセスの仮想メモリ領域から上記第
二直接マップ領域の所定第二領域へマップするマップ処
理手段を直接起動するように構成することができる。
【0027】このような画像形成装置では、プロセスが
システムコールを行なえるように構成されるため、オペ
レーティングシステムを介さずに、上記所定第二領域を
マップすることができる。
【0028】上記第一マップ領域と上記第二マップ領域
とには異なるページ長単位でマップするという観点か
ら、請求項9に記載されるように、請求項6乃至8のい
ずれか一項記載の画像形成装置であって、上記第一マッ
プ手段は、上記プロセスに対して、上記第一マップ領域
を、第一所定ページ長単位で、該プロセスの仮想メモリ
領域からマップし、上記第二マップ手段は、上記プロセ
スに対して、上記第二マップ領域を、第二所定ページ長
単位で、該プロセスの仮想メモリ領域からマップするよ
うに構成することができる。
【0029】このような画像形成装置では、プロセッサ
ーが高速に直接アクセスできる上記第一マップ領域と、
プロセスがシステムコールによって直接マップ可能な上
記第二マップ領域とを夫々異なるページ長単位でマップ
することができる。
【0030】プロセッサーが容量の大きいデータを高速
に直接アクセスするという観点から、請求項10に記載
されるように、請求項9記載の画像形成装置であって、
上記第一所定ページ長単位は、上記第二所定ページ長単
位より大きいように構成することができる。
【0031】このような画像形成装置では、プロセッサ
ーによって容量の大きいデータを高速で処理することが
できる。
【0032】従来機能と互換性を保つといる観点から、
請求項11に記載されるように、請求項9記載の画像形
成装置であって、オペレーティングシステム起動時に、
上記第一所定ページ長単位をサポートしているか否かを
判断するページ単位判断手段を有し、上記ページ単位判
断手段による判断結果に基づいて、上記第一マップ領域
獲得手段と、上記第一マップ手段と、上記第二マップ領
域獲得手段と、上記第二マップ手段とを有効とするよう
に構成することができる。
【0033】このような画像形成装置では、容量の大き
いデータをアクセスするための上記第一所定ページ長単
位をサポートしていない場合、上記第一直接マップ領域
及び上記第二直接マップ領域の獲得及びマップを行なわ
ないようにすることができ、従来機能との互換性を保つ
ことができる。
【0034】請求項12に記載されるように、請求項6
乃至11のいずれか一項記載の画像形成装置であって、
上記メモリは、描画用として使用されるように構成する
ことができる。
【0035】更に、上記課題を解決するため、本発明
は、請求項13に記載されるように、画像形成処理を行
うアプリケーションのプロセスと、画像形成処理で利用
されるハードウェア資源の管理を行うコントロールサー
ビスのプロセスとにメモリをマップするメモリマップ方
法であって、上記プロセスの仮想メモリ領域から上記メ
モリ上へ直接マップ可能であって、プロセッサーによる
直接アクセスを可能とする第一直接マップ領域を上記メ
モリ上に獲得する第一マップ領域獲得手順と、上記第一
マップ領域獲得手段によって獲得した上記第一直接マッ
プ領域の所定第一領域を示す物理アドレスをページディ
レクトリエントリに設定することによって、上記プロセ
スの仮想メモリ領域から該所定第一領域へ直接マップす
る第一マップ手順とを有するように構成される。
【0036】このようなメモリマップ方法では、獲得さ
れた第一マップ領域内の所定第一領域を示す物理アドレ
スがページディレクトリエントリに設定されるため、ペ
ージディレクトリエントリから該所定第一領域へのアク
セスを行なうことができる。
【0037】プロセッサーから高速に直接アクセスを可
能とするという観点から、請求項14に記載されるよう
に、請求項13記載のメモリマップ方法であって、上記
第一マップ手順は、上記ページディレクトリエントリに
ユーザ使用可を示すフラグを設定するこのようなメモリ
マップ方法では、獲得された第一マップ領域内の所定第
一領域を示す物理アドレスが設定されたページディレク
トリエントリにユーザ使用可を示すフラグが設定される
ため、オペレーティングシステムを介さずに、プロセッ
サーが直接アクセスすることができる。
【0038】プロセスによる直接マップを可能にすると
いう観点から、請求項14に記載されるように、請求項
13記載のメモリマップ方法であって、上記プロセスが
該プロセスの仮想メモリ領域から上記メモリ上への直接
マップを可能とする第二マップ領域を上記メモリ上に獲
得する第二マップ領域獲得手順と、上記プロセスによる
システムコールによって、上記第二マップ領域獲得手順
によって獲得した上記第二直接マップ領域の所定第二領
域を示す物理アドレスをページテーブルエントリに設定
することによって、該プロセスの仮想メモリ領域から該
所定第二領域へ直接マップする第二マップ手順とを有す
るように構成することができる。
【0039】このようなメモリマップ方法では、ページ
のエントリを管理するページテーブルに、ページの物理
アドレスを設定することによって、マップした領域への
マップしたプロセス自身によるアクセスを可能とする。
従って、同一領域へマップした他プロセスによる該同一
領域へのアクセスも可能となり該同一領域を共有するこ
とができる。
【0040】プロセスからのアクセスを可能にするとい
う観点から、請求項16に記載されるように、請求項1
5記載のメモリマップ方法であって、上記第二マップ手
順は、上記ページテーブルエントリにユーザ使用可を示
すフラグを設定するように構成することができる。
【0041】このようなメモリマップ方法では、獲得さ
れた第二マップ領域内の所定第二領域を示す物理アドレ
スが設定されたページテーブルエントリにユーザ使用可
を示すフラグが設定されるため、オペレーティングシス
テムを介さずに、プロセスが直接アクセスすることがで
きる。
【0042】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。
【0043】本発明の実施の一形態に係る多種の画像形
成機能を融合する画像形成装置(以下、融合機と言う)
は、例えば、図2に示すような機能構成を成す。図2
は、本発明の一実施例に係る多種の画像形成機能を融合
する融合機の機能構成を示すブロック図である。
【0044】図2において、融合機1200は、ハード
ウェア資源1205と,ソフトウェア群1210と,融
合機起動部1240とを含むように構成される。ハード
ウェア資源10は、白黒レーザプリンタ(B&W L
P)1201と、カラーレーザプリンタ(Color
LP)1202と、スキャナ、ファクシミリなどのハー
ドウェアリソース1203などを有する。
【0045】また、ソフトウェア群1210は、UNI
X(登録商標)などのオペレーティングシステム(以
下、OSという)上に起動されているプラットフォーム
1220とアプリケーション1230とから構成され
る。融合機起動部1240は、融合機1200の電源投
入時に先ず始めに実行され、プラットフォーム1220
やアプリケーション1230を起動する。
【0046】プラットフォーム1220は、アプリケー
ション1230からの処理要求を解釈して、ハードウェ
ア資源の獲得要求を発生させる下記に示すコントロール
サービス1250と、一または複数のハードウェア資源
の管理をおこない、コントロールサービス1250から
の獲得要求を調停するシステムリソースマネージャー
(SRM(System Resource Manager)1223)と、
SRM1223からの獲得要求に応じてハードウェア資
源1205の管理を行うハンドラ層1260とを有す
る。
【0047】このコントロールサービス1250は、複
数のサービスモジュールにより形成され、具体的には、
SCS(System Control Service)1222と、ECS
((Engine Control Service)1224と、MCS(Memo
ry Control Service)1225と、OCS(Operation
panel Control Service)1226と、FCS(FAX Con
trol Service)1227と、NCS(Network Control
Service)1228とがある。なお、このプラットフォ
ーム1220は、あらかじめ定義された関数により前記
アプリケーション1230からの処理要求を受信可能と
するアプリケーションプログラムインターフェース(A
PI)1215を有する。
【0048】OSは、UNIX(登録商標)などのオペ
レーティング・システムであり、プラットフォーム12
20並びにアプリケーション1230の各ソフトウェア
をそれぞれプロセスとして並列実行する。オープンソー
スのUNIX(登録商標)を用いることにより、プログ
ラムの安全性を確保できるとともに、ネットワーク対応
可能となり、ソースコードの入手も容易となる。さら
に、OS、TCP/IPのロイヤリティが不要であり、
アウトソーシングも容易となる。
【0049】SRM1223は、SCS1222ととも
にシステムの制御およびリソースの管理をおこなうもの
であり、スキャナやプロッタなどのエンジン部、メモ
リ、HDDファイル、ホストI/O(セントロI/F、
ネットワークI/F、IEEE1394I/F、RS2
32CI/Fなど)のハードウェア資源を利用する上位
層からの要求にしたがって調停をおこない、実行制御す
る。
【0050】具体的には、このSRM1223は、要求
されたハードウェア資源が利用可能であるかどうか(他
の要求により利用されていないかどうか)を判断し、利
用可能であれば要求されたハードウェア資源が利用可能
である旨を上位層に伝える。また、上位層からの要求に
対してハードウェア資源の利用スケジューリングをおこ
ない、要求内容(たとえば、プリンタエンジンによる紙
搬送と作像動作、メモリ確保、ファイル生成など)を直
接実施するようにしてもよい。
【0051】SCS1222は、アプリ管理(機能
1)、操作部制御(機能2)、システム画面表示(ジョ
ブリスト画面、カウンタ表示画面など)(機能3)、L
ED表示(機能4)、リソース管理(機能5)、割り込
みアプリ制御(機能6)等の複数の機能を行なう。
【0052】具体的には、アプリ管理(機能1)では、
アプリの登録と、その情報を他のアプリに通知する処理
をおこなう。操作部制御(機能2)では、アプリの操作
部使用権の排他制御をおこなう。システム画面表示(機
能3)では、操作部使用権を持つアプリからの要求内容
に応じて、エンジン部の状態に対応する警告画面の表示
をおこなう。LED表示(機能4)では、警告LED、
アプリキーなどのシステムLEDの表示制御をおこな
う。リソース管理(機能5)では、アプリ(ECS)が
ジョブを実行するにあたって、排他しなければならない
エンジンリソース(スキャナ、ステープルなど)の排他
制御のためのサービスをおこなう。割り込みアプリ制御
(機能6)では、特定のアプリを優先動作せさるための
制御及びサービスをおこなう。
【0053】ECS1224は、白黒レーザプリンタ
(B&W LP)1201、カラーレーザプリンタ(C
olor L)1202、その他ハードウェアリソース
1203などのエンジン部を制御するものであり、画像
読み込みと印刷動作、状態通知、ジャムリカバリなどを
おこなう。
【0054】MCS1225は、メモリ制御をおこなう
ものであり、具体的には、画像メモリの取得および開
放、ハードディスク装置(HDD)の利用、画像データ
の圧縮および伸張などをおこなう。
【0055】OCS1226は、オペレータと本体制御
間の情報伝達手段となる操作パネルを制御するモジュー
ルであり、オペレータのキー操作イベントを本体制御に
通知する処理、各アプリがGUIを構築するためのライ
ブラリ関数を提供する処理、構築されたGUI情報をア
プリ別に管理する処理、操作パネル上への表示反映処理
などをおこなう。
【0056】FCS1227は、システムコントローラ
の各アプリ層からPSTN/ISDN網を使ったファク
シミリ送受信、BKM(バックアップSRAM)で管理
されている各種ファクシミリデータの登録/引用、ファ
クシミリ読み取り、ファクシミリ受信印刷、融合送受信
をおこなうためのAPI(Application Program Interf
ace)を提供する。
【0057】NCS1228は、ネットワークI/Oを
必要とするアプリケーションに対して共通に利用できる
サービスを提供するためのモジュール群であり、ネット
ワーク側から各プロトコルによって受信したデータを各
アプリケーションに振り分けたり、アプリケーションか
らデータをネットワーク側に送信する際の仲介をおこな
う。
【0058】また、ハンドラ層1260は後述するFC
U(FAX Control Unit)の管理を行うFCUH(FAX Co
ntrol Unit Handler)1231と、各プロセスに対する
メモリの割り振り、各プロセスに割り振ったメモリの管
理,後述する直接マップ領域の管理などを行うIMH
(Imaging Memory Handler)1229とを含む。
【0059】また、IMH1229はイメージデータを
仮想メモリ領域(ユーザ仮想空間)から物理メモリへマ
ップする。プロセスの起動に応じて、システムコールを
行ない、プロセス用の仮想メモリ領域をマップしたり、
マップした仮想メモリ領域をプロセスの終了時に開放す
る処理等を行なう。IMH1229は、後述されるCP
Uによって直接アクセス可能なMEM−P領域と、プロ
セスによって直接アクセス可能なMEM−P0領域への
マップを行なう。
【0060】SRM1223,FCUH1231および
IMH1229は、予め定義されている関数によりハー
ドウェア資源1205に対する処理要求を送信するエン
ジンI/F1233を利用してハードウェア資源120
5に対する処理要求を行う。
【0061】アプリケーション1230は、ページ記述
言語(PDL)、PCLおよびポストスクリプト(P
S)を有するプリンタ用のアプリケーションであるプリ
ンタアプリ1211と、コピー用アプリケーションであ
るコピーアプリ1212と、ファクシミリ用アプリケー
ションであるファックスアプリ1213と、スキャナ用
アプリケーションであるスキャナアプリ1214とを有
する。
【0062】各アプリケーション1211〜1214
は、プラットフォーム1220上の各プロセスを利用し
て動作実行し得るため、画面制御、キー操作制御および
ジョブ生成などをおこなう画面表示制御プログラムがそ
の主体となる。なお、NCS1228により接続された
ネットワークを介して新たなアプリケーションをネット
ワーク経由で搭載することもできる。また、各アプリケ
ーションはアプリケーションごとに追加または削除する
ことができる。
【0063】このように、融合機1200は、各アプリ
で共通的に必要となる処理をプラットフォーム1220
で一元的に処理する。
【0064】次に、融合機1200のハードウェア構成
について説明する。図3は、図2に示した融合機120
0のハードウェア構成を示すブロック図である。図3に
示すように、この融合機1200は、オペレーションパ
ネル1310、ファックスコントロールユニット(FC
U)1320、USB(Universal Serial Bus)デバイ
ス1330、IEEE1394デバイス1340および
エンジン部1350とコントローラ1300のASIC
1301とをPCI(Peripheral Component Interconn
ect)バス等で接続した構成となる。
【0065】コントローラ1300は、ASIC130
1にMEM−C1302、HD1303、ネットワーク
I/Fコントローラ1309などを接続するとともに、
このASIC1301とCPU1304とをCPUチッ
プセットのNB1305を介して接続している。このよ
うに、NB1305を介して接続する理由は、CPU1
304自体のインターフェースが公開されていないため
である。
【0066】ここで、このASIC1301とNB13
05は、単にPCIを介して接続されているのではな
く、AGP1308を介して接続されている。このよう
にAGP1308を介して接続することとした理由は、
この融合機1200が図2に示したプラットフォーム1
220やアプリケーション1230を形成する複数のプ
ロセスを実行制御する関係上、これらを低速のPCIで
接続したのでは、パフォーマンスが低下するからであ
る。
【0067】CPU1304は、融合機1200の全体
制御をおこなうものであり、具体的には、OS上でプラ
ットフォーム1220を形成するSCS1222、SR
M1223、ECS1224、MCS1225、OCS
1226、FCS1227、NCS1228をそれぞれ
プロセスとして起動して実行させるとともに、アプリケ
ーション1230を形成するプリンタアプリ1211、
コピーアプリ1212、ファックスアプリ1213、ス
キャナアプリ1214を起動して実行させる。
【0068】NB1305は、CPU1304とMEM
−P1306、SB1307、ASIC1301とを接
続するためのブリッジであり、MEM−P1306は、
融合機の描画用メモリなどとして用いるシステムメモリ
であり、SB1307は、NB1305とROM、PC
Iデバイス、周辺デバイスとを接続するためのブリッジ
である。MEM−C1302は、コピー用画像バッフ
ァ、符号バッファとして用いるローカルメモリであり、
ASIC1301は、画像処理用のハードウェア要素を
有する画像処理用途向けのICである。
【0069】HDD1303は、画像データの蓄積、プ
ログラムの蓄積、フォントデータの蓄積、フォームの蓄
積を行うためのストレージであり、オペレーションパネ
ル1310は、操作者からの入力操作の受け付け並びに
操作者に向けた表示をおこなう操作部である。
【0070】したがって、ASIC1301には、ME
M−C1302を接続するためのRAMインターフェー
スと、HDD1303を接続するためのハードディスク
インターフェースが設けられ、これらの記憶部に対して
画像データの入出力をおこなう場合には、入出力先がR
AMインターフェースまたはハードディスクインターフ
ェースに切り替えられる。
【0071】AGP1308は、グラフィック処理を高
速化するために提案されたグラフィックスアクセラレー
ターカード用のバスインターフェースであり、システム
メモリに高スループットで直接アクセスすることによ
り、グラフィックスアクセラレーターカードを高速にす
る。
【0072】UNIX(登録商標)等のOS(オペレー
ティングシステム)上にプラットフォーム1220及び
アプリケーション1230が構築される融合機1200
の場合、仮想アドレス領域は、OSのカーネルによって
解釈可能な仮想アドレス空間と、ソフトウェアによって
生成されたプロセスによって解釈可能な仮想アドレス空
間とによって制御されている。
【0073】そのため、OS独自で仮想メモリ領域(以
下、カーネル用仮想メモリ領域とする)へのアクセスを
制御すると共に、ソフトウェアによって生成されたプロ
セスによって展開される仮想メモリ領域(以下、プロセ
ス毎仮想メモリ領域とする)へのアクセスを制御する必
要がある。また、OSがカーネル用仮想メモリ領域から
プロセス毎仮想メモリ領域をアクセスする際には、OS
からアクセス可能な仮想アドレス領域に変換される。
【0074】先ず、MEM−C1302、MEM−P1
306及びHDD1303等にて展開される物理メモリ
と仮想メモリ領域との対応について図4で説明する。図
4を参照すると、物理メモリ10には、カーネルが使用
するカーネル領域11と、仮想記憶処理部111で汎用
的に管理される汎用領域12と、MEM−P1306の
領域の一部であって、アプリケーション1230又はコ
ントロールサービス1250によって生成されるプロセ
スから仮想メモリ領域へマップされるMEM−P0領域
13と、CPU1304から高速にアクセスされるME
M−P1306としての実質的なMEM−P領域14
と、白黒レーザプリンタ(B&W LP)1201、カ
ラーレーザプリンタ(Color LP)1202、そ
の他ハードウェアリソース1203がエンジンI/F1
233を介して高速にアクセス可能なMEM−C130
2としての実質的なMEM−C領域15とを有する。領
域11から領域14は、MEM−P1306側のRAM
が使用され、領域15は、MEM−C1302側のRA
Mが使用される。
【0075】この物理メモリ10に対応させて展開され
る仮想メモリ領域20は、OS(後述される汎用処理部
110)によって汎用的に管理されるユーザプログラム
領域21と、プロセスが該プロセスの仮想メモリ領域2
0から物理メモリ10へ直接マップ可能な直接マップ領
域22と、OS(汎用処理部110)によって汎用的に
管理され必要に応じてデータがスタックされるスタック
領域23とを有する。
【0076】ユーザプログラム領域21は、更に、アプ
リケーション1230をCPU1304が実行するため
のプログラムコードを格納するプログラムコード領域2
11と、アプリケーション1230をCPU1304が
実行する際に必要となるプログラムデータを格納するプ
ログラムデータ領域212と、動的にデータ領域の割付
けを行なうヒープ領域213とを有する。ユーザプログ
ラム領域21は、物理メモリ10の仮想領域12にマッ
プされる。スタック領域23もまた、物理メモリ10の
仮想領域12にマップされる。
【0077】直接マップ領域22は、MEM−P130
6の一部と、MEM−C1302とに対応し、OS(後
述される汎用処理部110)によって管理されない領域
であって、後述される直接マップ領域アクセスドライバ
120によって管理される領域である。直接マップ領域
22は、物理メモリ10のMEM−P0領域13、ME
M−P領域14及びMEM−C領域15とに夫々対応す
るMEM−P0領域221、MEM−P領域222及び
MEM−C領域223とを有する。
【0078】このような対応関係における直接マップ領
域に対するメモリ管理方法について説明する。図5は、
プロセス間でのメモリ共有を実現する機能構成図であ
る。
【0079】図5において、OS1221は、カーネル
の起動時に物理メモリ10に対応する仮想メモリ領域2
0を設定する直接マップ領域獲得部130と、プロセス
によるマップの可否を示すユーザマップ可否フラグ13
1と、プロセス起動時にプロセス毎に仮想メモリ領域2
0から物理メモリ10への直接マップを行なうためのテ
ーブルを初期化する直接マップ仮想メモリ領域プロセス
用初期化部132と、プロセス毎のプロセス用仮想アド
レス空間141と、プロセス毎仮想メモリ領域を管理す
るための複数のテープルを管理するテーブルセット14
3と、プロセス毎に割り当てられるMEM−P0用仮想
アドレス及びサイズとを取得するMEM−P0領域情報
取得部241と、プロセス毎に割り当てられるMEM−
P用仮想アドレス及びサイズとを取得するMEM−P領
域情報取得部242と、プロセス用にメモリをマップす
るMEM−P0用メモリマップ部243と、プロセス用
にマップされたメモリを開放するMEM−P0用メモリ
開放部244と、システムコール時の処理の振り分けを
行なうシステムコール処理部240とを有する。
【0080】カーネルは、融合機起動部1240によっ
て起動され、直接マップ領域22の有無を判断する直接
マップ領域有無判断部102と、汎用的に仮想記憶への
アクセスを処理する汎用処理部110と、汎用処理部1
10を介さずに仮想記憶のアクセスを処理する直接マッ
プ領域アクセスドライバ120とを有する。更に、汎用
処理部110は、仮想記憶へのアクセスを処理する仮想
記憶処理部111と、仮想記憶の使用領域をページ毎に
管理するページテーブル管理部112と、仮想記憶への
アクセスの例外処理を行なう例外処理部113とを有す
る。
【0081】直接マップ領域アクセスドライバ120
は、プロセス毎仮想メモリ領域上の直接マップ領域のア
ドレス(以下、ユーザ仮想アドレスという)をカーネル
からアクセス可能なアドレスに変換するカーネル用アド
レス変換部121と、直接マップ領域のユーザ仮想アド
レスを対応する物理アドレスに変換する物理アドレス変
換部122と、アドレスとサイズで指定される領域がプ
ロセス毎仮想メモリ領域の直接マップ領域に存在するか
否かを判断する指定領域有無判断部123とを有する。
【0082】プロセス管理部200は、ソフトウェアを
実行するのに必要となるプロセスを生成し、また、プロ
セスが終了するとそのプロセスを開放する。プロセス管
理部200は、ソフトウェア群1210によって生成さ
れたプロセスを管理する。プロセス管理部200は、直
接マップ仮想メモリ領域プロセス用初期化部132を起
動することによって、CPU1304によるMEM−P
1306内への高速アクセスを可能とするMEM−P領
域222へのマップ及びプロセスが直接アクセスするM
EM−P0領域221へのマップを行なうためのテーブ
ルの初期設定を行なう。
【0083】直接マップ仮想メモリ領域プロセス用初期
化部132は、プロセス毎のプロセス用仮想アドレス空
間141に基づいて、MEM−P領域222及びMEM
−P0領域221へのマップを行なうためのテーブルを
初期化する。
【0084】起動された各プロセスは、更に、IMH1
229を介してシステムコールを行ない、MEM−P0
領域221のプロセスによる直接アクセス可能とするテ
ーブルの初期設定を行なう。
【0085】IMH1229よりシステムコールがなさ
れると、システムコール処理部240は、システムコー
ルの種別に応じて、対応する処理部を起動する。例え
ば、IMH1229がシステムコールを行なうとは、s
ysarch関数を呼ぶことである。
【0086】システムコール処理部240は、MEM−
P領域情報の取得を示す種別であれば、MEM−P領域
情報取得部242を起動し、MEM−P0領域情報の取
得を指示する種別であれば、MEM−P0領域情報取得
部241を起動し、MEM−P0領域221へのメモリ
マップを指示する種別であれば、MEM−P0用メモリ
マップ部243を起動し、MEM−P0領域221への
マップしたメモリの開放を指示する種別であれば、ME
M−P0用メモリ開放部244を起動する。
【0087】このように、MEM−P0領域221への
メモリマップをIMH1229のシステムコールによっ
て実行するように構成する。例えば、プロセスAによっ
てMEM−P0領域221にマップされた同一領域を、
プロセスBが同一アドレスを指定することによって、プ
ロセスBによるかかる同一領域へのアクセスを行なうこ
とが可能となり、プロセスAとプロセスBとによるME
M−P0領域221における一部領域の共有が実現され
る。
【0088】以下、直接マップ領域22のMEM−P0
領域221及びMEM−P領域222の制御方法につい
て説明する。先ず、直接マップ領域獲得部130での処
理を図6のフローチャートに従って説明する。図6は、
直接マップ領域獲得部での処理を説明するフローチャー
ト図である。
【0089】カーネルは、融合機起動部1240によっ
て起動されると、CPU1304がアプリケーション1
230によるMEM−P0領域13のプロセス毎仮想メ
モリ領域へのマップを可能とするか否かを判断(ステッ
プS11)する。例えば、その判断の方法は、CPU1
304によって高速にアクセスされるMEM−P領域1
4のページサイズとなる4MBサイズのページをサポー
トしているか否かによって判断する。
【0090】そして、所定領域に4MBサイズのページ
ングが可能であることを示すユーザマップ可否フラグ1
31をオンにする(ステップS12)。ユーザマップ可
否フラグ131は、所定レジスタ(例えば、CPU13
04の制御用レジスタ)に設定するようにしても良い。
【0091】ステップS11においてマップ不可の場合
(NO)、汎用処理部110を起動して、従来の仮想記
憶の管理を行い、処理を終了する。一方、マップ可能な
場合(YES)、カーネルは、直接マップ領域獲得部1
30によって、図4に示す仮想メモリ領域20における
直接マップ領域22のMEM−P領域222の構造体
を、カーネル用仮想メモリ領域に設定し(ステップS1
3)、ステップS14へ進み、更に、MEM−P0領域
221の構造体を設定する。
【0092】続けて、カーネルは、直接マップ領域獲得
部130によって、MEM−P領域222用のページデ
ィレクトリのサイズを指定して、プロセス毎仮想メモリ
領域におけるMEM−P領域222用のページディレク
トリにページディレクトリエントリを設定する(ステッ
プS15)。よって、MEM−P領域222は、CPU
1304によって直接アクセスされるため、カーネル用
仮想メモリ領域からプロセス毎仮想メモリ領域への変換
を不要とし、高速にアクセス可能な領域として設定され
る。
【0093】また、カーネルは、直接マップ領域獲得部
130によって、MEM−P0領域221のページディ
レクトリのサイズを指定して、プロセス毎仮想メモリ領
域におけるMEM−P0領域221用のページディレク
トリにページディレクトリエントリを設定する(ステッ
プS16)。これらのページサイズは、CPU1304
によってサポートされている最大ページサイズ(例えば
4MB)を設定すればよい。
【0094】ページディレクトリ(PD)内に設定され
たページディレクトリエントリ(PDE)は、各ページ
テーブルの先頭を示し、各ページテーブルはテーブルセ
ット143で管理される。ページディレクトリの詳細
は、後述する。初期化されることによって、MEM−P
0領域221用及びMEM−P領域222用共に、ペー
ジディレクトリの各エントリには、データが格納されて
いるページの先頭からのオフセットで示すページテーブ
ル(PT)のベース物理アドレス、所定ページサイズ
(例えば4MB)、ユーザアクセス不可、読み取り/書
き込み可、ページの有効等の情報が設定される。
【0095】カーネル及び直接マップ領域獲得部130
による処理の終了後、例えば、アプリケーション123
0のソフトウェアが起動すると、プロセス管理部200
が生成された新規プロセス(以下、例えば、プロセスA
とする)のために、プロセス用仮想アドレス空間141
に基づいて直接マップ領域へマップするためのテーブル
セット143で管理されるテーブルへのエントリを行な
う。
【0096】次に、図5のプロセスの起動時に直接マッ
プ仮想メモリ領域プロセス用初期化部132によって実
行される仮想メモリ領域でのプロセス用のページディレ
クトリの初期化処理を図7で説明する。図7は、直接マ
ップ仮想メモリ領域プロセス用初期化部での処理を説明
するフローチャート図である。
【0097】図7において、直接マップ仮想メモリ領域
プロセス用初期化部132は、プロセスに対応するペー
ジディレクトリエントリを初期化し(ステップS3
1)、該プロセスを識別するローカルディスクリプタテ
ーブルを初期化する(ステップS32)。
【0098】続けて、MEM−P領域222用のページ
ディレクトリのサイズ、ユーザアクセス可能を指定し
て、仮想メモリ領域におけるMEM−P領域用のページ
ディレクトリにページディレクトリエントリを設定する
(ステップS33)。MEM−P領域222用の各ペー
ジディレクトリエントリには、ページの物理アドレスが
設定され、これによって、高速にページをアクセスする
ことが可能となる。
【0099】更に、直接マップ仮想メモリ領域プロセス
用初期化部132は、MEM−P0領域221用のペー
ジディレクトリのサイズ、ユーザアクセス不可を指定し
て、仮想メモリ領域におけるMEM−P0領域用のペー
ジディレクトリにページディレクトリエントリを設定す
る(ステップS34)。MEM−P0領域221用の各
ページディレクトリエントリには、更に、ページを管理
するページテーブルの物理アドレスが設定される。そし
て、プロセスAのためのページディレクトリの初期化処
理を終了する。
【0100】この処理によって、MEM−P0領域22
1用のページディレクトリの各ページディレクトリエン
トリには、プロセスからのアクセスは不可のままである
が、MEM−P領域222用のページディレクトリの各
ページディレクトリエントリには、プロセスからのアク
セスが可能となる。
【0101】次に、生成されたプロセスAは、プロセス
Aでの処理に必要なデータを直接アクセスするためのM
EM−P0領域221を、システムコールによって確保
する。図8は、MEM−P0領域へのマップ処理を説明
するためのフローチャート図である。図8において、例
えば、プロセスAがシステムコールによってMEM−P
0領域情報の取得を指示すると、システムコール処理部
240はMEM−P0領域情報取得部241を起動す
る。MEM−P0領域情報取得部241は、ページテー
ブルの先頭アドレスを取得し(ステップS41)、ま
た、ページテーブルのサイズを取得する(ステップS4
2)。
【0102】続けて、サイズ分のページディレクトリエ
ントリ(PDE)を設定したか否かを判断する(ステッ
プS43)。サイズ分の設定が終了している場合、ME
M−P0領域情報取得部241での処理を終了する。一
方、サイズ分の設定が終了していない場合、更に、ペー
ジテーブルの割り当てがあるか否かを判断する(ステッ
プS44)。割り当てがある場合、ステップS46へ進
む。一方、割り当てがない場合、ページテーブルを割り
当てる(ステップS45)。
【0103】ステップS46において、MEM−P0用
メモリマップ部243はユーザアクセス可能を示すペー
ジテーブルエントリ(PTE)を設定し(ステップS4
6)、ページを確保する(ステップS47)。ページテ
ーブルエントリには、ページの先頭を示すベース物理ア
ドレス、ユーザアクセス可能、読み取り/書き込み可
能、存在済み等が設定される。この処理によって、プロ
グラムAによるMEM−P0領域221内の一部領域の
物理メモリ10のMEM−P0領域13内へのマップが
完了する。
【0104】また、上記処理によって、プログラムBが
MEM−P0領域221から物理メモリ10のMEM−
P0領域13へのマップを行なうことにより、プログラ
ムBによるアクセスが可能となる。プログラムBによる
メモリマップ時に、プログラムAがマップした領域と同
一の領域(同一の物理メモリ10のMEM−P0領域1
3上の領域)をマップすることによって、プログラムA
及びプログラムBによるアクセスが可能となり、かかる
領域を共有することができる。
【0105】図9は、直接マップ領域での仮想アドレス
とテーブルとの関係を示す図である。図9(A)におい
て、MEM−P用仮想アドレスとテーブルとの関係が示
される。MEM−P用仮想アドレス41は、ページディ
レクトリ(PD)オフセットとページオフセットとで構
成される。
【0106】MEM−P用に使用されるページディレク
トリ42において、所定長のページサイズ(例えば、4
Mバイト)にて、各ページベース物理アドレス等を示す
ページディレクトリエントリ(PDE)が管理される。
ページディレクトリエントリの位置は、ページディレク
トリ42の所定のベース物理アドレスにMEM−P用仮
想アドレス41のPDオフセットを加算することによっ
て決定される。
【0107】また、ページディレクトリエントリによっ
てポインタされたページ43には、実際にプロセスによ
って参照される参照データが所定ページ単位(例えば、
4Mバイト)で格納される。参照データは、ページディ
レクトリエントリに設定されているベース物理アドレス
にMEM−P用仮想アドレス41のページオフセットを
加算することによって決定される。
【0108】MEM−P0用仮想アドレス51は、ペー
ジディレクトリ(PD)オフセットと、ページテーブル
(PT)オフセットと、ページオフセットとで構成され
る。MEM−P0用に使用されるページディレクトリ5
2において、所定長のページサイズ(例えば、4Mバイ
ト)にて、各ページテーブル53のベース物理アドレス
等を示すページディレクトリエントリ(PDE)が管理
される。ページディレクトリエントリの位置は、ページ
ディレクトリ52の所定のベース物理アドレスにMEM
−P0用仮想アドレス51のPDオフセットを加算する
ことによって決定される。
【0109】ページディレクトリエントリによってポイ
ンタされたページテーブル(PT)53において、所定
ページサイズ(例えば、4Mバイト)にて、実際にプロ
セスによって参照される参照データが格納される各ペー
ジ54のベース物理アドレス等を示すページテーブルエ
ントリ(PTE)が管理される。ページテーブルエント
リの位置は、ページテーブル53の所定のベース物理ア
ドレスにMEM−P0用仮想アドレス51のPTオフセ
ットを加算することによって決定される。
【0110】ページテーブルエントリによってポインタ
されたページ54には、実際にプロセスによって参照さ
れる参照データが所定ページ単位(例えば、4Kバイ
ト)で格納される。MEM−P0領域での参照データ用
のページ54の各ページサイズは、MEM−P領域での
ページ43の各ページサイズより小さい。参照データ
は、ページテーブルエントリに設定されているベース物
理アドレスにMEM−P0用仮想アドレス51のページ
オフセットを加算することによって決定される。
【0111】次に、ページディレクトリエントリとペー
ジテーブルエントリについて図10で説明する。図10
(A)より、ページディレクトリエントリ(PDE)
は、32ビットのサイズで、ページテーブルのベース物
理アドレス、ページサイズ、ユーザ使用可否、読み取り
/書き込み可否、存在有無を示すフラグ等を有する。ユ
ーザ使用可否を示すフラグは、図7のステップS33に
おいて、MEM−P領域用のページディレクトリエント
リを設定する際に、ユーザ使用可に設定される。
【0112】よって、プロセッサーからのページディレ
クトリエントリのページテーブルのベース物理アドレス
にて示される物理メモリ上の領域への直接アクセスを可
能とする。この場合ページテーブルは、実際にはデータ
が格納されるページとなる。一方、MEM−P0領域用
のページディレクトリエントリを設定する際には、図7
のステップS34において、ユーザ使用不可が設定され
る。
【0113】図10(B)より、ページテーブルエント
リ(PTE)は、ページのベース物理アドレス、ユーザ
使用可否、読み取り/書き込み可否、存在有無を示すフ
ラグ等を有する。ページテーブルエントリは、システム
コールによって、図8のフローチャートに従い、MEM
−P0領域用に設定され、ステップS46にて、ユーザ
使用可に設定される。
【0114】上記のようなページングの手法は、Int
el80x86(登録商標)に基づくものであるが、C
PU1304によって直接アクセス可能なMEM−P領
域14へのマップと、プロセスがIMH1229を介し
てシステムコールを行なうことによって、該プロセスに
よる直接マップ可能なMEM−P0領域13へのマップ
を行なえるように構成したところに特徴を有する。
【0115】上記のようなアドレス空間及び処理によっ
て、実現されるプロセス間でのデータ共有の一例を図1
1及び図12で説明する。図11及び図12は、プロセ
ス間でデータを共有するまでの例を示す図である。
【0116】図11(A)は、プロセス起動時のプロセ
スAの仮想メモリ領域と物理メモリとの関係を示す図で
ある。図11(A)より、プロセスAの起動時は、ME
M−P領域222へのアクセスは可能となるが(図7の
ステップS31)、MEM−P0領域221へのアクセ
スはできない(図7のステップS32)。
【0117】次に、プロセスAがシステムコールをし
て、MEM−P0用メモリマップ部243によって、M
EM−P0領域の一部をマップすると、例えば、図11
(B)に示すように、領域221aがプロセスAによる
アクセスが可能となる。
【0118】プロセスA動作中にプロセスBが起動する
と、プロセスAの起動時と同様に、MEM−P領域22
2へのアクセスは可能となる。更に、システムコールす
ると、MEM−P0用メモリマップ部243によって、
MEM−P0領域221の一部がマップされると、例え
ば、図12(A)に示すように、領域221bがプロセ
スBによるアクセスが可能となる。
【0119】この場合、プロセスAとプロセスBとは、
MEM−P0領域221内の別の領域をマップして使用
している。よって、プロセスAは、プロセスBがマップ
した領域221bをアクセスすることはできないし、プ
ロセスBは、プロセスAがマップした領域221aをア
クセスすることはできない。
【0120】更に、プロセスBがシステムコールによっ
て、プロセスAがマップした同一の領域221aをマッ
プする(図12(B))。これによって、プロセスAと
プロセスBとは、同一の物理メモリの領域をアクセスす
ることが可能となる。よって、プロセスAとプロセスB
とによる領域の共有が可能となる。
【0121】上記例では、2つのプロセス間でのメモリ
共有について例示したが、2つ以上のプロセスによって
同一領域を共有しても良い。従って、同一データをプロ
セス毎に別の仮想メモリ領域にマップすることによる領
域の無駄を削減することができ、かつ、同一データのデ
ータ転送を何度も行なう必要がない。
【0122】
【発明の効果】以上、説明してきたように、請求項1乃
至5記載の本願発明によれば、プロセスは、オペレーテ
ィングシステムを介さずに、システムコールによって直
接プロセスの仮想メモリ領域からメモリ上へマップする
ことができる。また、複数のプロセスが同一領域をマッ
プすることによって、該同一領域を共有することができ
る。
【0123】また、請求項6乃至12記載の本願発明に
よれば、オペレーティングシステムを介さずに、プロセ
ッサーによるメモリ上への直接アクセスがページディレ
クトリエントリから可能となると共に、プロセスは、シ
ステムコールすることによって、オペレーティングシス
テムを介さずに、メモリ上へのマップを行なうことがで
き、該ページテーブルエントリからメモリ上へのアクセ
スを行なうことができる。
【0124】さらに、請求項13乃至16記載の本願発
明によれば、上記のような画像形成装置でのメモリマッ
プ方法を提供することができる。
【0125】
【図面の簡単な説明】
【図1】従来のプロセスが直接仮想メモリ領域へマップ
した例を示す図である。
【図2】本発明の一実施例に係る多種の画像形成機能を
融合する融合機の機能構成を示すブロック図である。
【図3】図2に示した融合機のハードウェア構成を示す
ブロック図である。
【図4】物理メモリと仮想記憶空間との対応を示す図で
ある。
【図5】プロセス間でのメモリ共有を実現する機能構成
図である。
【図6】直接マップ直接マップ領域獲得部での処理を説
明するフローチャート図である。
【図7】直接マップ仮想メモリ領域プロセス用初期化部
での処理を説明するフローチャート図である。
【図8】MEM−P0領域へのマップ処理を説明するた
めのフローチャート図である。
【図9】直接マップ領域での仮想アドレスとテーブルと
の関係を示す図である。
【図10】ページディレクトリエントリとページテーブ
ルエントリを説明するための図である。
【図11】プロセス間でデータを共有するまでの例を示
す図である。
【図12】プロセス間でデータを共有するまでの例を示
す図である。
【符号の説明】
130 直接マップ領域獲得部、240 シス
テムコール処理部、243 MEM−P0用メモリ
マップ部、1200 融合機、 121
0 ソフトウェア群、1230 アプリケーショ
ン、 1220 プラットフォーム、1221
OS、 1222 SCS、1223
SRM、 1224 ECS、12
25 MCS、 1226 OCS、
1227 FCS、 1228 NC
S、1229 IMH、 1231
FCUH、1240 融合機起動部、1300 コ
ントローラ、 1301 ASIC、1302
MEM−C、 1303 HDD、13
04 CPU、 1305 NB、1
306 MEM−P、 1307 SB、
1308 AGP、1309 ネットワークI/F
コントローラ、1310 オペレーションパネル、1
320 ファックスコントロールユニット、1330
USBデバイス、1340 IEEE1394デ
バイス、1350 エンジン部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/10 509 G06F 12/10 509C G06T 1/60 450 G06T 1/60 450F H04N 1/21 H04N 1/21 Fターム(参考) 2C187 AC07 AD03 AD04 AD14 AE07 BF13 FB11 5B005 KK04 RR04 TT14 UU41 5B047 EB01 EB11 5B098 AA03 GA04 GD03 GD14 5C073 AA04 BB01 CB01

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 画像形成処理を行うアプリケーションの
    プロセスと、画像形成処理で利用されるハードウェア資
    源の管理を行うコントロールサービスのプロセスとにメ
    モリをマップする画像形成装置であって、 上記メモリ上に上記プロセスによって直接マップ可能な
    直接マップ領域を獲得する領域獲得手段と、 上記プロセスが指定する上記直接マップ領域内の所定領
    域を示す物理アドレスによって、該プロセスの仮想メモ
    リ領域から該所定領域へ直接マップする直接マップ手段
    とを有することを特徴とする画像形成装置。
  2. 【請求項2】 請求項1記載の画像形成装置であって、 上記直接マップ手段は、システムコールによって、オペ
    レーティングシステムが有する上記仮想メモリ領域から
    上記直接マップ領域内の上記所定領域へマップするマッ
    プ処理手段を直接起動することを特徴とする画像形成装
    置。
  3. 【請求項3】 請求項2記載の画像形成装置であって、 上記システムコールは、sysarch関数をコールす
    ることによって行なわれることを特徴とする画像形成装
    置。
  4. 【請求項4】 請求項1乃至3のいずれか一項記載の画
    像形成装置であって、 2以上の上記プロセスが同一物理アドレスを指定するこ
    とによって、同一所定領域を上記プロセス間で共有する
    ことを特徴とする画像形成装置。
  5. 【請求項5】 請求項1乃至4のいずれか一項記載の画
    像形成装置であって、 上記プロセスは、上記物理アドレスを、上記直接マップ
    領域内における上記所定領域を示すオフセット値によっ
    て指定することを特徴とする画像形成装置。
  6. 【請求項6】 画像形成処理を行うアプリケーションの
    プロセスと、画像形成処理で利用されるハードウェア資
    源の管理を行うコントロールサービスのプロセスとにメ
    モリをマップする画像形成装置であって、 上記プロセスの仮想メモリ領域から上記メモリ上へ直接
    マップ可能であって、プロセッサーによる直接アクセス
    を可能とする第一直接マップ領域を上記メモリ上に獲得
    する第一マップ領域獲得手段と、 上記第一マップ領域獲得手段によって獲得した上記第一
    直接マップ領域の所定第一領域を示す物理アドレスをペ
    ージディレクトリエントリに設定することによって、上
    記プロセスの仮想メモリ領域から該所定第一領域へ直接
    マップする第一マップ手段とを有することを特徴とする
    画像形成装置。
  7. 【請求項7】 請求項6記載の画像形成装置であって、 上記プロセスが該プロセスの仮想メモリ領域から上記メ
    モリ上への直接マップを可能とする第二マップ領域を上
    記メモリ上に獲得する第二マップ領域獲得手段と、 上記プロセスによるシステムコールによって、上記第二
    マップ領域獲得手段によって獲得した上記第二直接マッ
    プ領域の所定第二領域を示す物理アドレスをページテー
    ブルエントリに設定することによって、該プロセスの仮
    想メモリ領域から該所定第二領域へ直接マップする第二
    マップ手段とを有することを特徴とする画像形成装置。
  8. 【請求項8】 請求項7記載の画像形成装置であって、 上記第二マップ手段は、システムコールによって、オペ
    レーティングシステムが有する上記プロセスの仮想メモ
    リ領域から上記第二直接マップ領域の所定第二領域へマ
    ップするマップ処理手段を直接起動することを特徴とす
    る画像形成装置。
  9. 【請求項9】 請求項6乃至8のいずれか一項記載の画
    像形成装置であって、 上記第一マップ手段は、上記プロセスに対して、上記第
    一マップ領域を、第一所定ページ長単位で、該プロセス
    の仮想メモリ領域からマップし、 上記第二マップ手段は、上記プロセスに対して、上記第
    二マップ領域を、第二所定ページ長単位で、該プロセス
    の仮想メモリ領域からマップすることを特徴とする画像
    形成装置。
  10. 【請求項10】 請求項9記載の画像形成装置であっ
    て、 上記第一所定ページ長単位は、上記第二所定ページ長単
    位より大きいことを特徴とする画像形成装置。
  11. 【請求項11】 請求項9記載の画像形成装置であっ
    て、 オペレーティングシステム起動時に、上記第一所定ペー
    ジ長単位をサポートしているか否かを判断するページ単
    位判断手段を有し、 上記ページ単位判断手段による判断結果に基づいて、上
    記第一マップ領域獲得手段と、上記第一マップ手段と、
    上記第二マップ領域獲得手段と、上記第二マップ手段と
    を有効とする画像形成装置。
  12. 【請求項12】 請求項6乃至11のいずれか一項記載
    の画像形成装置であって、上記メモリは、描画用として
    使用されることを特徴とする画像形成装置。
  13. 【請求項13】 画像形成処理を行うアプリケーション
    のプロセスと、画像形成処理で利用されるハードウェア
    資源の管理を行うコントロールサービスのプロセスとに
    メモリをマップするメモリマップ方法であって、 上記プロセスの仮想メモリ領域から上記メモリ上へ直接
    マップ可能であって、プロセッサーによる直接アクセス
    を可能とする第一直接マップ領域を上記メモリ上に獲得
    する第一マップ領域獲得手順と、 上記第一マップ領域獲得手段によって獲得した上記第一
    直接マップ領域の所定第一領域を示す物理アドレスをペ
    ージディレクトリエントリに設定することによって、上
    記プロセスの仮想メモリ領域から該所定第一領域へ直接
    マップする第一マップ手順とを有することを特徴とする
    メモリマップ方法。
  14. 【請求項14】 請求項13記載のメモリマップ方法で
    あって、 上記第一マップ手順は、上記ページディレクトリエント
    リにユーザ使用可を示すフラグを設定することを特徴と
    するメモリマップ方法。
  15. 【請求項15】 請求項13記載のメモリマップ方法で
    あって、 上記プロセスが該プロセスの仮想メモリ領域から上記メ
    モリ上への直接マップを可能とする第二マップ領域を上
    記メモリ上に獲得する第二マップ領域獲得手順と、 上記プロセスによるシステムコールによって、上記第二
    マップ領域獲得手順によって獲得した上記第二直接マッ
    プ領域の所定第二領域を示す物理アドレスをページテー
    ブルエントリに設定することによって、該プロセスの仮
    想メモリ領域から該所定第二領域へ直接マップする第二
    マップ手順とを有することを特徴とするメモリマップ方
    法。
  16. 【請求項16】 請求項15記載のメモリマップ方法で
    あって、 上記第二マップ手順は、上記ページテーブルエントにユ
    ーザ使用可を示すフラグを設定することを特徴とするメ
    モリマップ方法。
JP2003044587A 2002-02-25 2003-02-21 画像形成装置及びメモリマップ方法 Expired - Fee Related JP4128467B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003044587A JP4128467B2 (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-48515 2002-02-25
JP2002048515 2002-02-25
JP2003044587A JP4128467B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリマップ方法

Publications (2)

Publication Number Publication Date
JP2003337714A true JP2003337714A (ja) 2003-11-28
JP4128467B2 JP4128467B2 (ja) 2008-07-30

Family

ID=29713662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003044587A Expired - Fee Related JP4128467B2 (ja) 2002-02-25 2003-02-21 画像形成装置及びメモリマップ方法

Country Status (1)

Country Link
JP (1) JP4128467B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
JP2009070208A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像処理装置およびメモリ確保方法
JP2011065650A (ja) * 2009-09-18 2011-03-31 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
WO2014097754A1 (ja) * 2012-12-21 2014-06-26 Necシステムテクノロジー株式会社 端末装置、データ連携方法、及びコンピュータ読み取り可能な記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
JP2009070208A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像処理装置およびメモリ確保方法
JP2011065650A (ja) * 2009-09-18 2011-03-31 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2013254524A (ja) * 2009-09-18 2013-12-19 Intel Corp ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP2015135696A (ja) * 2009-09-18 2015-07-27 インテル コーポレイション ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
WO2014097754A1 (ja) * 2012-12-21 2014-06-26 Necシステムテクノロジー株式会社 端末装置、データ連携方法、及びコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP4128467B2 (ja) 2008-07-30

Similar Documents

Publication Publication Date Title
JP3679349B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP6066006B2 (ja) 画像形成装置
EP1308793B1 (en) Image forming device having a memory assignment unit
JP4101004B2 (ja) 画像形成装置
JP4263919B2 (ja) 画像形成装置及びメモリ管理方法
JP4001531B2 (ja) 画像形成装置
JP6343913B2 (ja) 画像形成装置及び画像形成装置の制御方法
JP4136397B2 (ja) 画像形成装置及びメモリ管理方法
JP2003337714A (ja) 画像形成装置及びメモリマップ方法
JP4394387B2 (ja) 画像処理装置およびメモリディスク管理方法
JP4128468B2 (ja) 情報処理装置及びメモリマップ方法
JP3910993B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP4263920B2 (ja) 情報処理装置及びメモリ管理方法
JP3715629B2 (ja) 画像処理装置およびユーザ情報管理方法
JP4157376B2 (ja) 情報処理装置、画像形成装置、制御方法およびプログラム
JP3910992B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP3865242B2 (ja) ユーザ情報管理方法および情報処理装置
JP2009070208A (ja) 画像処理装置およびメモリ確保方法
JP3857654B2 (ja) 画像形成装置,ユーザ情報管理方法,ユーザ情報管理プログラムおよび記録媒体
JP4246608B2 (ja) 画像形成装置及びプログラム起動方法
US20050254082A1 (en) Image forming device, data erasing method, and recording medium
JP5063718B2 (ja) 画像形成装置及びネットワークシステム
JP2005229270A (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: 20071001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080111

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

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

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

Free format text: PAYMENT UNTIL: 20110523

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees