JP4263920B2 - 情報処理装置及びメモリ管理方法 - Google Patents
情報処理装置及びメモリ管理方法 Download PDFInfo
- Publication number
- JP4263920B2 JP4263920B2 JP2003044586A JP2003044586A JP4263920B2 JP 4263920 B2 JP4263920 B2 JP 4263920B2 JP 2003044586 A JP2003044586 A JP 2003044586A JP 2003044586 A JP2003044586 A JP 2003044586A JP 4263920 B2 JP4263920 B2 JP 4263920B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- address
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置及びメモリ管理方法に係り、特に仮想アドレス機能を利用する情報処理装置及びメモリ管理方法に関する。
【0002】
【従来の技術】
パソコン等の情報処理装置は、様々な情報処理にそれぞれ対応する1つ以上のソフトウェアを実行させることで様々な情報処理を行わせるものである。従来の情報処理装置では、各ソフトウェアを実行することで生成されるプロセスが、必要なメモリを別個に獲得していた。
【0003】
また、情報処理装置の応用例としての画像形成装置は、プリンタ,コピー,ファクシミリおよびスキャナなどの各装置の機能を1つの筐体内に収納している。画像形成装置は、1つの筐体内に表示部,印刷部および撮像部などを設けると共に、プリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応する4種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ,コピー,ファクシミリおよびスキャナとして動作させるものである。
【0004】
融合機は、プリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応するソフトウェアを設けている。したがって、各ソフトウェアを実行することで生成されるプロセスは、必要なメモリを別個に獲得していた。
【0005】
ところで、情報処理装置および画像形成装置が実行するソフトウェアは、オペレーティングシステム(以下、OSという)上で動作する場合、OSによりメモリ管理がなされる。マルチプロセスを実現するOSは、例えば仮想アドレス機能を用いてアドレス管理を行い、各プロセスごとに別の仮想アドレス空間を提供する。
【0006】
仮想アドレス機能では、他のプロセスのアクセスからメモリを保護するためにページングの手法を用いている。ページングとは、プロセスに提供した仮想アドレス空間と物理メモリのある物理アドレス空間とをプロセッサにより決められる所定サイズのページに区切り、仮想アドレス空間内のページと物理アドレス空間内のページとの対応関係を管理し、仮想アドレスを物理アドレスに変換する手法をいう。
【0007】
また、ページングの手法では、ページテーブルを使用して仮想アドレス空間のページと物理アドレス空間のページとの対応関係を管理している。ページテーブルは、仮想アドレス空間を提供したプロセスごとに必要となる。
【0008】
ページングの手法を用いる場合、全てのメモリアクセスに対して仮想アドレスを物理アドレスに変換するアドレス変換が必要となるため、実行速度の点からハードウェアによるサポートが必須であった。このアドレス変換は、プロセッサのメモリ管理部(以下、MMUという)により行われ、その対応がプロセッサごとに異なっている。
【0009】
例えば一のプロセッサのMMUでは、制御レジスタにページテーブルの物理アドレスをセットしておくことで、メモリアクセスを行うときに自動的にメモリ上にあるページテーブルを検索して物理アドレスへの変換を行う。この場合、プロセスを切り替えるときに別のページテーブルの物理アドレスが制御レジスタにセットされる。
【0010】
また、他のプロセッサのMMUではページテーブルを自動的に検索することはなく、トランスレーション・ルックアサイド・バッファ(以下、TLBという)と呼ばれるプロセッサ内の変換テーブルのみを検索して物理アドレスへの変換を行う。この場合、メモリアクセスを行いたい仮想アドレス用のエントリがTLBになかったときにTLB例外エラーが発生し、このTLB例外エラーのハンドラによりソフトウェア的にページテーブルが検索される。そして、その検索結果に基づくエントリがTLBに追加される。
【0011】
特許文献1には、ページテーブルの共有に関する技術が記載されている。特許文献2には、仮想メモリ上の1つのセグメントを共通領域と固有領域とに分割する技術が記載されている。
【0012】
【特許文献1】
特開平7−160583号公報
【0013】
【特許文献2】
特公平6−58649号公報
【0014】
【発明が解決しようとする課題】
ページングの手法を用いるアドレス管理では、ハードウェアによるサポートにより実質的な実行速度を得ている。しかしながら、デマンドページングと呼ばれる手法を用いるアドレス管理では、以下のような問題があった。
【0015】
まず、プロセスの生成時は物理メモリが割り当てられないために、ページテーブルの内容が全て無効状態となっている。そして、プロセスの実行時にメモリアクセスが行われてページテーブル例外エラーが発生し、このページテーブル例外エラーのハンドラにより物理メモリを獲得してページテーブルの内容が作成される。
【0016】
したがって、物理メモリに余裕がある場合でもメモリアクセスの際に一定のオーバーヘッドが発生してしまうという問題があった。このオーバーヘッドは、画像形成処理のような大量のメモリを使用する情報処理のプロセスの実行時に問題となる。
【0017】
また、仮想メモリに対応する物理メモリのアドレスは、物理メモリの柔軟な管理を行うため、ページテーブルによりページ単位で設定される。したがって、連続した仮想アドレスに書き込んだデータはページ単位に分割されて不連続な物理アドレスに書き込まれてしまう恐れがあり、ダイレクト・メモリ・アクセス(以下、DMAという)を利用したデバイスとのデータ交換が煩雑になることがあるという問題があった。
【0018】
なお、特許文献1および2に記載されている内容は、メモリアクセスの際に発生するオーバーヘッドを軽減するものではない。
【0019】
本発明は、上記の点に鑑みなされたもので、メモリアクセスの際に発生するオーバーヘッドを軽減しつつメモリの使用効率を向上させることが可能な情報処理装置及びメモリ管理方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
そこで、上記課題を解決するため、本発明は、情報処理を行うためのハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、情報処理装置に情報処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、情報処理装置に前記複数のアプリケーションからの処理要求を前記オペレーティングシステム経由で受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのデバイスドライバとを有する情報処理装置であって、書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びデバイスドライバによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得手段と、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段とを有することを特徴とする。
【0021】
また、本発明は、情報処理を行うためのハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、情報処理装置に情報処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、情報処理装置に前記複数のアプリケーションからの処理要求を前記オペレーティングシステム経由で受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのデバイスドライバとを有する情報処理装置のメモリ管理方法であって、書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びデバイスドライバによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得段階と、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換段階とを有することを特徴とする。
【0064】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。
【0065】
図1は、本発明による情報処理装置の一実施例の構成図である。情報処理装置1000は、ハードウェア資源1100と,ソフトウェア群1200とを含むように構成される。
【0066】
ハードウェア資源1100は、メモリ装置1110,入力装置1120,表示装置1130,その他のハードウェアリソース1140等を含む。ソフトウェア群1200は、アプリケーション1210−1〜1210−n,UNIX(登録商標)などのOS1230,BIOS1240,デバイスドライバ1250等を含む。
【0067】
情報処理装置1000は、電源投入時にOS1230のプログラムを補助記憶装置から読み出し、読み出したプログラムをメモリ装置1110に転送して起動する。また、情報処理装置1000は電源投入時またはオペレータからの起動指示によりアプリケーション1210−1〜1210−nのプログラムを補助記憶装置から読み出し、読み出したプログラムをメモリ装置1110に転送して起動する。
【0068】
アプリケーション1210−1〜1210−nは、情報処理装置1000に様々な情報処理を行わせるものである。BIOS1240は、ハードウェア資源1100を制御するプログラムである。また、デバイスドライバ1250はハードウェア資源1100に含まれる周辺機器等を管理するプログラムである。
【0069】
0S1230は、API(Application Program Interface )1220を利用してアプリケーション1210−1〜1210−nからの要求を受信する。API1220は予め定義されている関数により、アプリケーション1210−1〜1210−nからの要求を受信するために利用される。
【0070】
OS1230は、アプリケーション1210−1〜1210−nの各ソフトウェアをプロセスとして並列制御する。また、OS1230はBIOS1240,デバイスドライバ1250を利用してハードウェア資源1100に対する要求を行う。
【0071】
次に、情報処理装置1000のハードウェア構成について説明する。図2は、本発明による情報処理装置の一実施例のハードウェア構成図である。情報処理装置1000は、それぞれバスBで相互に接続されている入力装置1510,表示装置1520,補助記憶装置1530,メモリ装置1540および演算処理装置1550を有するように構成される。
【0072】
入力装置1510はキーボード及びマウスなどで構成され、様々な操作指示を入力するために用いられる。表示装置1520は、操作に必要な各種ウインドウやデータ等を表示する。補助記憶装置1530は、情報処理装置1000に係る処理を行わせるプログラムを格納すると共に、そのプログラムの処理に必要な各種ファイルやデータ等を格納している。
【0073】
メモリ装置1540は、情報処理装置1000の起動時に補助記憶装置1530からプログラムを読み出して格納する。演算処理装置1550は、メモリ装置1540に格納されたプログラムに従って処理を実行する。
【0074】
次に、本発明による情報処理装置の応用例としての画像形成装置について説明する。なお、本実施例で説明する画像形成装置は、プリンタ,コピー,ファクシミリおよびスキャナ等の各装置の機能を1つの筐体内に収納しているため、融合機とも呼ばれる。
【0075】
図3は、本発明による融合機の一実施例の構成図を示す。融合機1は、ハードウェア資源10と,ソフトウェア群20と,融合機起動部50とを含むように構成される。ハードウェア資源10は、白黒レーザプリンタ11と,カラーレーザプリンタ12と,スキャナやファクシミリなどのハードウェアリソース13とを有する。また、ソフトウェア群20は、UNIX(登録商標)などのオペレーティングシステム(以下、OSという)上に起動されているアプリケーション30とプラットフォーム40とを有する。
【0076】
プラットフォーム40は、アプリケーション30からの処理要求を解釈してハードウェア資源10の獲得要求を発生するコントロールサービス51と、1つ以上のハードウェア資源10の管理を行ってコントロールサービス51からの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)43と、SRM43からの獲得要求に応じてハードウェア資源10の管理を行うハンドラ層52とを有するように構成されている。
【0077】
コントロールサービス51は、システムコントロールサービス(以下、SCSという)42,エンジンコントロールサービス(以下、ECSという)44,メモリコントロールサービス(以下、MCSという)45,オペレーションパネルコントロールサービス(以下、OCSという)46,ファックスコントロールサービス(以下、FCSという)47,ネットワークコントロールサービス(以下、NCSという)48,など一つ以上のサービスモジュールを有するように構成されている。
【0078】
なお、プラットフォーム40は予め定義されている関数によりアプリケーション30からの処理要求を受信可能とするアプリケーションプログラムインターフェース(以下、APIという)53を有するように構成されている。OSは、プラットフォーム40およびアプリケーション30の各ソフトウェアをプロセスとして並列実行する。
【0079】
SRM43のプロセスは、SCS42と共にシステムの制御およびリソースの管理を行うものである。例えばSRM43のプロセスは、スキャナ部やプリンタ部などのエンジン,メモリ,HDDファイル,ホストI/O(セントロI/F,ネットワークI/F,IEEE1394 I/F,RS232C I/Fなど)のハードウェア資源10を利用する上位層からの要求に従って調停を行い、実行制御する。
【0080】
具体的に、SRM43は要求されたハードウェア資源10が利用可能であるか(他の要求により利用されていないかどうか)を判定し、利用可能であれば要求されたハードウェア資源10が利用可能である旨を上位層に通知する。また、SRM43は上位層からの要求に対してハードウェア資源10の利用スケジューリングを行い、例えばプリンタエンジンによる紙搬送と作像動作,メモリ獲得,ファイル生成などの要求内容を直接実施している。
【0081】
SCS42のプロセスは、アプリケーション管理,操作部制御,システム画面表示,LED表示,リソース管理,割り込みアプリケーション制御を行う。ECS44のプロセスは、白黒レーザプリンタ11,カラーレーザプリンタ12,その他のハードウェアリソース13のエンジンの制御を行う。
【0082】
MCS45のプロセスは、画像メモリの取得および解放,ハードディスク装置(HDD)の利用,画像データの圧縮および伸張などを行う。OCS46のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
【0083】
FCS47のプロセスは、システムコントローラの各アプリケーション層からPSTNまたはISDN網を利用したファクシミリ送受信,BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用,ファクシミリ読み取り,ファクシミリ受信印刷,融合送受信を行うためのアプリケーションを提供する。
【0084】
NCS48のプロセスは、ネットワークI/Oを必要とするアプリケーション30に対し、共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション30に振り分けたり、アプリケーション30からのデータをネットワーク側に送信する際の仲介を行う。
【0085】
また、ハンドラ層52は後述するファックスコントロールユニット(以下、FCUという)の管理を行うファックスコントロールユニットハンドラ(以下、FCUHという)54と、各プロセスに対するメモリの割り振り、各プロセスに割り振ったメモリの管理,後述する直接マップ領域の管理などを行うイメージメモリハンドラ(以下、IMHという)55とを含む。
【0086】
SRM43,FCUH54およびIMH55は、予め定義されている関数によりハードウェア資源10に対する処理要求を送信するエンジンI/F56を利用してハードウェア資源10に対する処理要求を行う。
【0087】
また、アプリケーション30は、プリンタ,コピー,ファクシミリ,スキャナなどの画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うものである。
【0088】
アプリケーション30は、ページ記述言語(PDL,PCL)およびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ31と,コピー用アプリケーションであるコピーアプリ32と,ファクシミリ用アプリケーションであるファックスアプリ33と,スキャナ用アプリケーションであるスキャナアプリ34とを有している。
【0089】
図4は、本発明による融合機の一実施例のハードウェア構成図を示す。図4の融合機1は、コントローラ60と,オペレーションパネル70と,ファックスコントロールユニット(以下、FCUという)80と,USBデバイス90と,IEEE1394デバイス100と,エンジン部110とを有する。
【0090】
また、コントローラ60は、CPU61と,MEM−P62と,ノースブリッジ(以下、NBという)63と,サウスブリッジ(以下、SBという)64と,ASIC66と,MEM−C67と,HDD68と,ネットワークI/Fコントローラ69とを有する。
【0091】
オペレーションパネル70は、コントローラ60のASIC66に直接接続されている。また、FCU80,USBデバイス90,IEEE1394デバイス100およびエンジン部110は、コントローラ60のASIC66にPCIバスなどで接続されている。
【0092】
コントローラ60は、ASIC66にMEM−C67,HDD68,ネットワークI/Fコントローラ69などが接続されると共に、CPU61とASIC66とがCPUチップセットのNB63を介して接続されている。このように、NB63を介してCPU61とASIC66とを接続すれば、CPU61のインターフェースが公開されていない場合に対応できる。
【0093】
ここで、ASIC66とNB63とはPCIバスを介して接続されているのでなく、AGP(Accelerated Graphics Port )65を介して接続されている。このように、図3のプラットフォーム40やアプリケーション30を形成する一つ以上のプロセスを実行制御するため、ASIC66とNB63とを低速のPCIバスでなくAGP65を介して接続し、パフォーマンスの低下を防いでいる。
【0094】
CPU61は、融合機1の全体制御を行うものである。CPU61は、OS上でプラットフォーム40を形成するSCS42,SRM43,ECS44,MCS45,OCS46,FCS47,NCS48,FCUH54およびIMH55をそれぞれプロセスとして起動して実行させると共に、アプリケーション30を形成するプリンタアプリ31,コピーアプリ32,ファックスアプリ33,スキャナアプリ34を起動して実行させる。なお、CPU61はページテーブルの自動参照機能を持っている。
【0095】
NB63は、CPU61,MEM−P62,SB64およびASIC66を接続するためのブリッジである。MEM−P62は、融合機1の描画用メモリなどとして用いるシステムメモリである。SB64は、NB63とROM,PCIバス,周辺デバイスとを接続するためのブリッジである。
【0096】
MEM−C67は、コピー用画像バッファ,符号バッファとして用いるローカルメモリである。ASIC66は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD68は、画像データの蓄積,プログラムの蓄積,フォントデータの蓄積,フォームの蓄積を行うためのストレージである。また、オペレーションパネル70は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。
【0097】
図3の融合機起動部50は、融合機1の電源投入時に最初に実行され、プラットフォーム40やアプリケーション30を起動するものである。図5は、融合機起動部の一例の構成図を示す。融合機起動部50は、ROMモニタ121と,プログラム起動部122とを有する。
【0098】
ROMモニタ121は電源投入時に実行され、ハードウェアの初期化,コントローラボードの診断,ソフトウェアの初期化,OSの起動などを行う。プログラム起動部122はOSから呼び出されるものであり、MEM−P62,MEM−C67上にメモリ領域を獲得する。そして、プログラム起動部122は、コントロールサービス51やアプリケーション30のプログラムをROMから読み出し、読み出した各プログラムをMEM−P62,MEM−C67上に獲得したメモリ領域に転送して起動するものである。
【0099】
以下、本発明による情報処理装置の応用例としての融合機の処理を中心に説明する。図6は、融合機におけるメモリ管理の一例について説明する図を示す。
【0100】
例えばMEM−P62およびMEM−C67のメモリマップは、図6(b)のように表される。MEM−P62およびMEM−C67は、例えばOSなどが使用するカーネル領域と,各種アプリケーション30や各種コントロールサービス51が使用する汎用領域と,後述する直接マップ領域とが獲得される。なお、カーネル領域および汎用領域は、OSにより管理される。
【0101】
また、仮想メモリ領域のメモリマップは、図6(a)のように表される。仮想メモリ領域は、ユーザプログラム領域と,後述する直接マップ領域と,スタック領域とが獲得される。仮想メモリ領域は、プリンタアプリ31,コピーアプリ32などのアプリケーション30のプロセスごと、およびECS44,MCS45などのコントロールサービス51のプロセスごとに割り当てられる。
【0102】
なお、ユーザプログラム領域およびスタック領域は、仮想記憶システムにより管理される。したがって、ユーザプログラム領域およびスタック領域に対するページテーブルの内容は、仮想記憶システムによって作成または変更される。
【0103】
まず、ページテーブルの自動参照機能を持ったプロセッサを利用する第1実施例について説明する。図7は、ページアクセス処理の一例のフローチャートを示す。ここでは、ページテーブルの内容が無効状態となっている場合のページアクセス処理について説明する。
【0104】
新しいページへのアクセスがあると、CPU61はステップS10に進み、アクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。ページテーブルの内容が無効状態となっている場合、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていないと判定し(S11においてNO)、ステップS13に進む。
【0105】
ステップS13では、アクセスするページの仮想アドレスがページテーブル内に登録されていないと判定されたためにページテーブル例外エラーが発生する。ステップS13に続いてステップS14に進み、CPU61はページテーブル例外エラーが発生した仮想アドレスを取得する。
【0106】
ステップS14に続いてステップS15に進み、仮想記憶システムはステップS14で取得された仮想アドレスがメモリにマップされている範囲内であるか否かを判定する。取得された仮想アドレスがメモリにマップされている範囲内であると判定すると(S16においてYES)、仮想記憶システムはステップS18に進み、1ページ分の物理メモリを獲得する。なお、取得した仮想アドレスがメモリにマップされている範囲内でないと判定すると(S16においてNO)、仮想記憶システムはステップS17に進み、プロセスに不正アドレスアクセスエラーを通知する。
【0107】
ステップS18に続いてステップS19に進み、仮想記憶システムはステップS18で獲得した物理メモリのアドレスをページテーブルに登録することでページテーブルの内容を作成する。ステップS20に続いてステップS10に進み、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。
【0108】
ステップS19でページテーブルの内容を作成しているため、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていると判定し(S11においてYES)、ステップS12に進む。そして、ステップS12では、ページテーブル例外エラーが発生せず、新しいページへのアクセスが成功することとなる。このようなページアクセス処理では、物理メモリに余裕がある場合でもメモリアクセスの際に一定のオーバーヘッドが発生してしまう。
【0109】
そこで、本発明では仮想メモリ領域に直接マップ領域を作成し、この直接マップ領域に対応するページテーブルの内容をプロセス生成時またはユーザプロセス実行時のシステムコールの発行により作成するようにした。図8は、直接マップ領域の一例のメモリマップを示す。図8に表されるように、直接マップ領域は、プリンタアプリ31,コピーアプリ32などのアプリケーションのプロセス、ECS44,MCS45などのコントロールサービスのプロセスごとに割り当てられる。
【0110】
なお、本発明では仮想記憶システムの起動時に、物理メモリの仮想メモリ領域以外の未使用領域を直接マップ領域として獲得する。したがって、直接マップ領域に対応するページテーブルの内容は、仮想記憶システムによって作成または変更されない。
【0111】
図9は、直接マップ領域に対するメモリ管理方法について説明するための図を示す。なお、図9では説明に関係のない構成を適宜省略している。
【0112】
カーネルは、仮想記憶へのアクセスを処理する仮想記憶処理部133と、仮想記憶の使用領域を、ページテーブルを用いてページ毎に管理するページテーブル管理部134と、仮想記憶へのアクセスの例外処理を行う例外処理部135とを有している。なお、仮想記憶処理部133,ページテーブル管理部134及び例外処理部135が仮想記憶システムを構成する。
【0113】
OS内の直接マップ領域獲得部131は、仮想記憶システムの起動時に物理メモリの直接マップ領域に対応した仮想メモリ領域上に含まれる直接マップ領域用の仮装アドレスを設定する。また、メモリマップ部132はプロセスの生成時またはユーザプロセス実行時のシステムコールの発行時に、IMH55からの指示に応じてプロセス用のメモリを直接マップ領域にマップする。言い換えれば、メモリマップ部132は直接マップ領域の物理アドレスと、仮想メモリ領域上に含まれる直接マップ領域用の仮装アドレスとを関連付けるように、ページテーブル管理部134が管理するページテーブルの内容を書き換える。
【0114】
なお、直接マップ領域獲得部131は特許請求の範囲に記載した領域獲得手段に相当する。ページテーブル管理部134の管理するページテーブルは特許請求の範囲に記載したアドレス変換手段に相当する。メモリマップ部132は特許請求の範囲に記載したアドレス書換手段に相当する。
【0115】
ここで、図7を利用して直接マップ領域に対するページアクセス処理について説明する。直接マップ領域に含まれるページへのアクセスがあると、CPU61はステップS10に進み、アクセスするページの仮想アドレスがページテーブル内に登録されているか否かを判定する。
【0116】
直接マップ領域に対応するページテーブルの内容はプロセス生成時またはユーザプロセス実行時のシステムコールの発行により既に作成されているため、CPU61はアクセスするページの仮想アドレスがページテーブル内に登録されていると判定し(S11においてYES)、ステップS12に進む。そして、ステップS12では、ページテーブル例外エラーが発生せず、直接マップ領域に含まれるページへのアクセスが成功することとなる。
【0117】
つまり、ページテーブルの自動参照機能を持ったプロセッサが直接マップ領域に含まれるページにアクセスした場合、ページテーブル例外エラーが発生せず、プロセッサにより自動的にページテーブルが参照されて仮想アドレスから物理アドレスへの変換が行われる。
【0118】
したがって、仮想記憶システムは直接マップ領域に対するアクセスが起こったことを知ることがなく、仮想メモリ領域を管理するための処理も行わない。このようなページアクセス処理では、仮想記憶システムによるオーバーヘッドが発生することなく、ページにアクセスすることが可能となる。
【0119】
第1実施例では、仮想メモリ領域のユーザプログラム領域とスタック領域との間であって、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用している。通常、仮想メモリ領域に含まれるユーザアドレス空間は実際に使用されるアドレス空間に比べて十分に大きいため、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用しても問題ない。
【0120】
次に、ページテーブルの自動参照機能を持たず、TLBによるアドレス変換機能を持ったプロセッサを利用する第2実施例について説明する。
【0121】
CPU61のキャッシュメモリには、CPU61によって管理されるTLBが設けられている。TLBは、プロセスごとに仮装アドレスと物理アドレスとを対応付けて保持しており、プロセスが仮装アドレスを指定してメモリにアクセスしようとしたときに、指定された仮装アドレスを物理アドレスに変換するものである。このTLBは、仮装アドレスと物理アドレスとの組を所定数(例えば、48個,64個など)だけ保持している。
図10は、TLBと各プロセスのページテーブルとの関係について説明するための図を示す。図10に表したように、各ページテーブルは各プロセス独自の仮装アドレスを使用しており、その仮装アドレスに対応する物理アドレスを管理している。また、TLBは各プロセスがアクセスした仮装アドレスと、その仮装アドレスに対応する物理アドレスとをプロセスID(以下、PIDという)ごとに保持している。
【0122】
例えばプリンタアプリ31のプロセスが仮装アドレス1100番地に対してアクセスすると、CPU61はプリンタアプリ31のPIDの中から仮装アドレス1100番地を検索し、プリンタアプリ31の仮装アドレス1100番地に対応する物理アドレス130番地を使用する。
【0123】
一方、プリンタアプリ31のプロセスが仮装アドレス1000番地に対してアクセスすると、CPU61はプリンタアプリ31のPIDの中から仮装アドレス1000番地を検索する。しかし、図10のTLBにはプリンタアプリ31の仮装アドレス1000番地が登録されていない。このためにTLB例外エラーが発生し、CPU61はプリンタアプリ31のページテーブルを参照する。そして、プリンタアプリ31の仮装アドレス1000番地に対応する物理アドレス30番地を取得して、TLBに「PID:プリンタアプリ,物理アドレス:30番地,仮装アドレス:1000番地」のエントリを追加する。
【0124】
しかし、TLBが保持できるエントリの数はプロセッサにより決まっているため、新たにエントリを追加するときに以前のエントリが上書きされる場合が生じる。このように、TLBのエントリは上書きされて内容が変わってしまう場合があるが、頻繁に使用する重要なエントリを固定的な使用のために上書きから保護する機能がある。
【0125】
図11は、TLBの一例の構成図を示す。図11のTLBでは、所定数のエントリを上書きの対象とならない固定的に使用されるエントリとし、残りのエントリを上書きの対象となる動的に使用されるエントリとしている。固定的に使用されるエントリを利用することにより、重要なエントリが上書きの対象とならないように保護することができる。
【0126】
そこで、本発明では第1実施例と同様に、仮想メモリ領域に直接マップ領域を作成し、直接マップ領域の仮想アドレス及びその仮想アドレスに対応する物理アドレスをプロセス生成時またはユーザプロセス実行時のシステムコールの発行により図11の固定的に使用されるエントリに書き込むようにした。なお、本発明では仮想記憶システムの起動時に、物理メモリの仮想メモリ領域以外の未使用領域を直接マップ領域として獲得する。したがって、直接マップ領域に対するTLBの内容は、仮想記憶システムによって作成または変更されない。
【0127】
なお、第2実施例の場合、図8のメモリマップ部132は直接マップ領域の物理アドレスと、仮想メモリ領域上に含まれる直接マップ領域用の仮装アドレスとを関連付けるように、CPU61が管理するTLBの固定的に使用されるエントリに書き込む。
【0128】
この状態で直接マップ領域に含まれるページへのアクセスがあると、TLBに対する仮装アドレスの検索は必ずヒットし、CPU61は仮装アドレスに対応する物理アドレスを取得することができる。このように、TLB例外エラーが発生しないため、仮想記憶システムは直接マップ領域に対するアクセスが起こったことを知ることがなく、仮想メモリ領域を管理するための処理も行わない。したがって、仮想記憶システムによるオーバーヘッドが発生することなく、ページにアクセスすることが可能となる。
【0129】
第2実施例では、仮想メモリ領域のユーザプログラム領域とスタック領域との間であって、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用している。通常、仮想メモリ領域に含まれるユーザアドレス空間は実際にしようされるアドレス空間に比べて十分に大きいため、仮想記憶システムが使用していないユーザアドレス空間を直接マップ領域として利用しても問題ない。
【0130】
また、1つのエントリで指定できるアドレス範囲には制限があるため、その制限を越えたアドレス範囲を直接マップ領域として使用する場合には複数のエントリをTLBの固定的に使用されるエントリに書き込んでおく必要がある。
【0131】
前述の第1実施例および第2実施例は、ハードウェアによるサポートを直接に利用して図6のような直接マップ領域を実現している。そこで、本発明の融合機1は直接マップ領域の仮想アドレスに対する物理アドレスが連続するようにページテーブルまたはTLBを作成することにより、仮想アドレス空間でアドレスが連続している領域を物理メモリ上でもアドレスが連続しているように対応付けることが可能である。
【0132】
通常、デバイスが行うDMAによるデータ交換は、物理アドレス空間で行われている。したがって、仮想アドレス空間で作成したデータをDMAによりデバイスに転送する場合に、物理メモリ上でもアドレスが連続しているという保証があれば、一度のDMAにより大量のデータをデバイスに転送することができる。
【0133】
また、本発明の融合機1は複数のプロセスでデータを共有する場合に、メモリを共有することが可能となる。図12は、複数のプロセスによりメモリを共有するときの一例のメモリマップを示す。
【0134】
図12のメモリマップでは、プロセスAの仮想メモリ領域に含まれる領域aとプロセスBの仮想メモリ領域に含まれる領域bとが同じ物理メモリ領域を使用するように、領域aおよび領域bに対応するページテーブルまたはTLBの内容が書き換えられている。したがって、プロセスAおよびプロセスBは仮想記憶システムによるオーバーヘッドがほとんど発生することなく、物理メモリ領域を共有することができる。
【0135】
例えば図12のメモリマップを利用して複数のプロセスでメモリを共有する処理を図13を参照しつつ説明する。図13は、複数のプロセスによりメモリを共有するときの一例のシーケンス図を示す。
【0136】
図13中、ステップS30ではプロセスAがIMH49に対して仮想メモリ領域aの獲得を要求する。ステップS30に続いてステップS31に進み、IMH49はプロセスAからの要求に応じて物理メモリ領域を獲得し、獲得した物理メモリ領域に対応する仮装アドレスAをプロセスAに通知する。例えばプロセスAは画像を作成し、作成した画像を獲得した仮装アドレスAに書き込む。
【0137】
ステップS31に続いてステップS32に進み、プロセスAは画像を書き込んだ仮装アドレスAをプロセス間通信によりプロセスBに通知する。なお、プロセスAの仮想メモリ領域に含まれる領域aとプロセスBの仮想メモリ領域に含まれる領域bとが同じ物理メモリ領域を使用するように、領域aおよび領域bに対応するページテーブルまたはTLBの内容が書き換えられている
したがって、プロセスBはプロセスAから通知された仮装アドレスAから画像を読み出し、読み出した画像を例えばプリンタに出力できる。ステップS32に続いてステップS33に進み、プロセスBは画像を読み込んでプリンタに出力した旨をプロセス間通信によりプロセスAに通知する。ステップS33に続いてステップS34に進み、プロセスAはIMH49に対して物理アドレスの解放を要求して処理を終了する。
【0138】
本実施例では、融合機1の処理を中心に説明したが、図1及び図2に示した情報処理装置1000に応用が容易に可能である。情報処理装置1000では、図8のIMH55に代わり、アプリケーション1210−1〜1210−n,その他のプログラムが、プロセスの生成時などにメモリマップ部132に指示を出すこととなる。
【0139】
【発明の効果】
上述の如く、本発明によれば、メモリアクセスのときに例外エラーがほとんど発生しないため、直接マップ領域に対するメモリアクセスのオーバーヘッドを軽減することが可能である。
【0140】
また、本発明によれば、仮想メモリ領域上に含まれる直接マップ領域用の仮装アドレスで連続している領域を、直接マップ領域の連続した物理アドレスに割り当てることができるため、ダイレクト・メモリ・アクセスを利用したデバイスとのデータ交換が煩雑にならず、一度のダイレクト・メモリ・アクセスにより大量のデータを転送することが可能となる。
【0141】
また、本発明によれば、複数のプロセスが直接マップ領域を共有するように直接マップ領域の物理アドレスと仮想メモリ領域上に含まれる直接マップ領域用の仮装アドレスとを対応付けておくことができるため、複数のプロセスでメモリを共有することが可能となる。
【0142】
【図面の簡単な説明】
【図1】本発明による情報処理装置の一実施例の構成図である。
【図2】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図3】本発明による融合機の一実施例の構成図である。
【図4】本発明による融合機の一実施例のハードウェア構成図である。
【図5】融合機起動部の一例の構成図である。
【図6】融合機におけるメモリ管理の一例について説明する図である。
【図7】ページアクセス処理の一例のフローチャートである。
【図8】直接マップ領域の一例のメモリマップである。
【図9】直接マップ領域に対するメモリ管理方法について説明するための図である。
【図10】TLBと各プロセスのページテーブルとの関係について説明するための図である。
【図11】TLBの一例の構成図である。
【図12】複数のプロセスによりメモリを共有するときの一例のメモリマップである。
【図13】複数のプロセスによりメモリを共有するときの一例のシーケンス図である。
【符号の説明】
1 融合機
10,1100 ハードウェア資源
11 白黒レーザプリンタ
12 カラーレーザプリンタ
13,1140 ハードウェアリソース
20,1200 ソフトウェア群
30,1210−1〜1210−n アプリケーション
40 プラットフォーム
42 システムコントロールサービス(SCS)
43 システムリソースマネージャ(SRM)
44 エンジンコントロールサービス(ECS)
45 メモリコントロールサービス(MCS)
46 オペレーションパネルコントロールサービス(OCS)
47 ファックスコントロールサービス(FCS)
48 ネットワークコントロールサービス(NCS)
50 融合機起動部
51 コントロールサービス
52 ハンドラ層
53,1220 アプリケーションプログラムインターフェース(API)
54 ファックスコントロールユニットハンドラ(FCUH)
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 例外処理部
1000 情報処理装置
1110 メモリ装置
1120 入力装置
1130 表示装置
1230 オペレーティングシステム(OS)
1240 BIOS
1250 デバイスドライバ
Claims (22)
- 情報処理を行うためのハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、情報処理装置に情報処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、情報処理装置に前記複数のアプリケーションからの処理要求を前記オペレーティングシステム経由で受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのデバイスドライバとを有する情報処理装置であって、
書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びデバイスドライバによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得手段と、
前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段と
を有することを特徴とする情報処理装置。 - 前記仮想メモリ領域は、所定サイズのページごとに管理されることを特徴とする請求項1記載の情報処理装置。
- 前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段の内容を、仮想記憶システムを介さずに書き換えるアドレス書換手段を更に有することを特徴とする請求項1又は2記載の情報処理装置。
- 前記アドレス書換手段は、前記アプリケーションおよびデバイスドライバの起動時に前記アドレス変換手段の内容を書き換えることを特徴とする請求項3記載の情報処理装置。
- 前記領域獲得手段は、情報処理装置の起動時に、前記直接マップ領域を獲得することを特徴とする請求項1乃至4何れか一項記載の情報処理装置。
- 前記アドレス変換手段は、前記アプリケーションおよびデバイスドライバごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたカーネル内のアドレス変換テーブルであることを特徴とする請求項1乃至5何れか一項記載の情報処理装置。
- 前記アドレス変換手段は、前記アプリケーションおよびデバイスドライバごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたプロセッサ内のアドレス変換テーブルであることを特徴とする請求項1乃至5何れか一項記載の情報処理装置。
- 前記アドレス変換手段は、前記プロセッサ内のアドレス変換テーブルのうち上書きの対象とならない部分に、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けておくことを特徴とする請求項7記載の情報処理装置。
- 前記アドレス変換手段は、前記直接マップ領域用の仮想アドレスが連続しているとき、その仮想アドレスに対応する前記直接マップ領域の物理アドレスが連続するように、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項1乃至8何れか一項記載の情報処理装置。
- 前記アドレス変換手段は、複数の前記アプリケーション及びデバイスドライバが前記直接マップ領域を共有するように、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項1乃至9何れか一項記載の情報処理装置。
- 前記仮想メモリ領域は、仮想記憶システムにより管理される仮想メモリ領域上のユーザプログラム領域およびスタック領域と、前記仮想メモリ領域上の直接マップ領域とを有し、前記仮想メモリ領域上の直接マップ領域用の仮想アドレスが、前記仮想メモリ領域用の仮想アドレスのうち前記ユーザプログラム領域またはスタック領域として使用されない未使用領域に獲得されることを特徴とする請求項3乃至10何れか一項記載の情報処理装置。
- 情報処理を行うためのハードウェア資源と、オペレーティングシステムと、前記オペレーティングシステム上で動作し、情報処理装置に情報処理を行わせるための複数のアプリケーションと、前記オペレーティングシステム上で動作し、情報処理装置に前記複数のアプリケーションからの処理要求を前記オペレーティングシステム経由で受信可能にさせ、該処理要求に従って前記ハードウェア資源の制御を行わせるためのデバイスドライバとを有する情報処理装置のメモリ管理方法であって、
書き換え可能メモリ上の前記オペレーティングシステムによって管理される領域以外の物理領域に、前記アプリケーション及びデバイスドライバによって直接マップ可能な直接マップ領域を獲得すると共に、前記直接マップ領域の物理アドレスに対応する仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスを設定する領域獲得段階と、
前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたアドレス変換段階と
を有することを特徴とするメモリ管理方法。 - 前記仮想メモリ領域は、所定サイズのページごとに管理されることを特徴とする請求項12記載のメモリ管理方法。
- 前記アドレス変換段階は、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けた内容を、仮想記憶システムを介さずに書き換えることを特徴とする請求項12又は13記載のメモリ管理方法。
- 前記アドレス変換段階は、前記アプリケーションおよびデバイスドライバの起動時に、直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けた内容を書き換えることを特徴とする請求項14記載のメモリ管理方法。
- 前記領域獲得段階は、情報処理装置の起動時に、前記直接マップ領域を獲得することを特徴とする請求項12乃至15何れか一項記載のメモリ管理方法。
- 前記アドレス変換段階は、前記アプリケーションおよびデバイスドライバごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたカーネル内のアドレス変換テーブルを書き換えることを特徴とする請求項12乃至16何れか一項記載のメモリ管理方法。
- 前記アドレス変換段階は、前記アプリケーションおよびデバイスドライバごとに、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けたプロセッサ内のアドレス変換テーブルを書き換えることを特徴とする請求項12乃至16何れか一項記載のメモリ管理方法。
- 前記アドレス変換段階は、前記プロセッサ内のアドレス変換テーブルのうち上書きの対象とならない部分に、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項18記載のメモリ管理方法。
- 前記アドレス変換段階は、前記直接マップ領域用の仮想アドレスが連続しているとき、その仮想アドレスに対応する前記直接マップ領域の物理アドレスが連続するように、前記直接マップ領域の物理アドレスと、前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項12乃至19何れか一項記載のメモリ管理方法。
- 前記アドレス変換段階は、複数の前記アプリケーション及びデバイスドライバが前記直接マップ領域を共有するように、前記直接マップ領域の物理アドレスと前記直接マップ領域用の仮想アドレスとを対応付けることを特徴とする請求項12乃至20何れか一項記載のメモリ管理方法。
- 前記仮想メモリ領域は、仮想記憶システムにより管理される仮想メモリ領域上のユーザプログラム領域およびスタック領域と、前記仮想メモリ領域上の直接マップ領域とを有し、前記仮想メモリ領域上の直接マップ領域用の仮想アドレスが、前記仮想メモリ領域用の仮想アドレスのうち前記ユーザプログラム領域またはスタック領域として使用されない未使用領域に獲得されることを特徴とする請求項14乃至21何れか一項記載のメモリ管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003044586A JP4263920B2 (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 |
---|---|---|---|
JP2002048514 | 2002-02-25 | ||
JP2002-48514 | 2002-02-25 | ||
JP2003044586A JP4263920B2 (ja) | 2002-02-25 | 2003-02-21 | 情報処理装置及びメモリ管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003316645A JP2003316645A (ja) | 2003-11-07 |
JP4263920B2 true JP4263920B2 (ja) | 2009-05-13 |
Family
ID=29551939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003044586A Expired - Fee Related JP4263920B2 (ja) | 2002-02-25 | 2003-02-21 | 情報処理装置及びメモリ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4263920B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085393A (ja) * | 2004-09-15 | 2006-03-30 | National Institute Of Information & Communication Technology | デバイスからの高速データ転送方法及びデータ処理装置 |
JP2007174068A (ja) * | 2005-12-20 | 2007-07-05 | Ricoh Co Ltd | 画像形成装置 |
WO2008084531A1 (ja) * | 2007-01-10 | 2008-07-17 | Netcleus Systems Corporation | メモリ管理装置 |
JP5741722B1 (ja) | 2014-01-28 | 2015-07-01 | 日本電気株式会社 | 情報処理装置、及び、情報処理方法 |
JP6838223B2 (ja) | 2016-11-02 | 2021-03-03 | 日立Astemo株式会社 | 車両制御装置 |
-
2003
- 2003-02-21 JP JP2003044586A patent/JP4263920B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003316645A (ja) | 2003-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7055015B2 (en) | Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory | |
JP5213539B2 (ja) | 画像処理装置及び画像処理装置のメモリ管理方法 | |
EP1033648A2 (en) | Mechanism by which platform independent software may bind to and access platform dependent software | |
US20080180734A1 (en) | Printer configuration data setting method and server using the printer configuration data | |
JP2008077144A (ja) | 仮想化システム、メモリ管理方法及び制御プログラム | |
JP4263919B2 (ja) | 画像形成装置及びメモリ管理方法 | |
US20090219569A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US8495364B2 (en) | Image processing apparatus and method using electronic signature information | |
JP4101004B2 (ja) | 画像形成装置 | |
JP4560493B2 (ja) | 画像形成装置 | |
EP1308793B1 (en) | Image forming device having a memory assignment unit | |
JP4263920B2 (ja) | 情報処理装置及びメモリ管理方法 | |
US8339658B2 (en) | Image forming apparatus and image forming method | |
US20070094458A1 (en) | Distributed processing system, distributed processing method and image processing apparatus | |
JPH05303553A (ja) | 複合機コントローラ | |
JP4136397B2 (ja) | 画像形成装置及びメモリ管理方法 | |
US20050086450A1 (en) | Information processing apparatus and file management method | |
JP2000181643A (ja) | 画像形成装置及び画像形成方法 | |
JP4128468B2 (ja) | 情報処理装置及びメモリマップ方法 | |
JP4128467B2 (ja) | 画像形成装置及びメモリマップ方法 | |
JP3857598B2 (ja) | データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置 | |
JP3865242B2 (ja) | ユーザ情報管理方法および情報処理装置 | |
JP3857654B2 (ja) | 画像形成装置,ユーザ情報管理方法,ユーザ情報管理プログラムおよび記録媒体 | |
JP4959477B2 (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 |