JP4128468B2 - 情報処理装置及びメモリマップ方法 - Google Patents

情報処理装置及びメモリマップ方法 Download PDF

Info

Publication number
JP4128468B2
JP4128468B2 JP2003044588A JP2003044588A JP4128468B2 JP 4128468 B2 JP4128468 B2 JP 4128468B2 JP 2003044588 A JP2003044588 A JP 2003044588A JP 2003044588 A JP2003044588 A JP 2003044588A JP 4128468 B2 JP4128468 B2 JP 4128468B2
Authority
JP
Japan
Prior art keywords
area
map
memory
page
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003044588A
Other languages
English (en)
Other versions
JP2003316588A (ja
Inventor
憲行 塩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003044588A priority Critical patent/JP4128468B2/ja
Priority to US10/370,726 priority patent/US7055015B2/en
Publication of JP2003316588A publication Critical patent/JP2003316588A/ja
Application granted granted Critical
Publication of JP4128468B2 publication Critical patent/JP4128468B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

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

Claims (8)

  1. 情報処理を行うアプリケーションのプロセスにメモリをマップする情報処理装置であって、
    上記プロセスの仮想メモリ領域から上記メモリ上へ直接マップ可能であって、プロセッサーによる直接アクセスを可能とする第一直接マップ領域を上記メモリ上に獲得する第一マップ領域獲得手段と、
    上記第一マップ領域獲得手段によって獲得した上記第一直接マップ領域の所定第一領域を示す物理アドレスをページディレクトリエントリに設定することによって、上記プロセスの仮想メモリ領域から該所定第一領域へ直接マップする第一マップ手段と
    上記プロセスが該プロセスの仮想メモリ領域から上記メモリ上への直接マップを可能とする第二マップ領域を上記メモリ上に獲得する第二マップ領域獲得手段と、
    上記プロセスによるシステムコールによって、上記第二マップ領域獲得手段によって獲得した上記第二直接マップ領域の所定第二領域を示す物理アドレスをページテーブルエントリに設定することによって、該プロセスの仮想メモリ領域から該所定第二領域へ直接マップする第二マップ手段と
    を有し、上記第一所定ページ長単位は、上記第二所定ページ長単位より大きいことを特徴とする情報処理装置。
  2. 請求項記載の情報処理装置であって、
    上記第二マップ手段は、システムコールによって、オペレーティングシステムが有する上記プロセスの仮想メモリ領域から上記第二直接マップ領域の所定第二領域へマップするマップ処理手段を直接起動することを特徴とする情報処理装置。
  3. 請求項1又は2記載の情報処理装置であって、
    上記第一マップ手段は、上記プロセスに対して、上記第一直接マップ領域を、第一所定ページ長単位で、該プロセスの仮想メモリ領域からマップし、
    上記第二マップ手段は、上記プロセスに対して、上記第二マップ領域を、第二所定ページ長単位で、該プロセスの仮想メモリ領域からマップすることを特徴とする情報処理装置。
  4. 請求項記載の情報処理装置であって、
    オペレーティングシステム起動時に、上記第一所定ページ長単位をサポートしているか否かを判断するページ単位判断手段を有し、
    上記ページ単位判断手段による判断結果に基づいて、上記第一マップ領域獲得手段と、上記第一マップ手段と、上記第二マップ領域獲得手段と、上記第二マップ手段とを有効とする情報処理装置。
  5. 請求項乃至のいずれか一項記載の情報処理装置であって、
    上記メモリは、描画用として使用されることを特徴とする情報処理装置。
  6. 情報処理を行うアプリケーションのプロセスにメモリをマップするメモリマップ方法であって、
    上記プロセスの仮想メモリ領域から上記メモリ上へ直接マップ可能であって、プロセッサーによる直接アクセスを可能とする第一直接マップ領域を上記メモリ上に獲得する第一マップ領域獲得手順と、
    上記第一マップ領域獲得手段によって獲得した上記第一直接マップ領域の所定第一領域を示す物理アドレスをページディレクトリエントリに設定することによって、上記プロセスの仮想メモリ領域から該所定第一領域へ直接マップする第一マップ手順と
    上記プロセスが該プロセスの仮想メモリ領域から上記メモリ上への直接マップを可能とする第二マップ領域を上記メモリ上に獲得する第二マップ領域獲得手順と、
    上記プロセスによるシステムコールによって、上記第二マップ領域獲得手順によって獲得した上記第二直接マップ領域の所定第二領域を示す物理アドレスをページテーブルエントリに設定することによって、該プロセスの仮想メモリ領域から該所定第二領域へ直接マップする第二マップ手順と
    を有し、上記第一所定ページ長単位は、上記第二所定ページ長単位より大きいことを特徴とするメモリマップ方法。
  7. 請求項記載のメモリマップ方法であって、
    上記第一マップ手順は、上記ページディレクトリエントリにユーザ使用可を示すフラグを設定することを特徴とするメモリマップ方法。
  8. 請求項6又は7記載のメモリマップ方法であって、
    上記第二マップ手順は、上記ページテーブルエントにユーザ使用可を示すフラグを設定することを特徴とするメモリマップ方法。
JP2003044588A 2002-02-25 2003-02-21 情報処理装置及びメモリマップ方法 Expired - Fee Related JP4128468B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003044588A JP4128468B2 (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
JP2003044588A JP4128468B2 (ja) 2002-02-25 2003-02-21 情報処理装置及びメモリマップ方法

Publications (2)

Publication Number Publication Date
JP2003316588A JP2003316588A (ja) 2003-11-07
JP4128468B2 true JP4128468B2 (ja) 2008-07-30

Family

ID=29551940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003044588A Expired - Fee Related JP4128468B2 (ja) 2002-02-25 2003-02-21 情報処理装置及びメモリマップ方法

Country Status (1)

Country Link
JP (1) JP4128468B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100342353C (zh) * 2006-04-07 2007-10-10 浙江大学 嵌入式操作***中进程映射实现方法
JP5892961B2 (ja) * 2013-02-21 2016-03-23 京セラドキュメントソリューションズ株式会社 画像処理装置
JP6038828B2 (ja) 2014-03-17 2016-12-07 京セラドキュメントソリューションズ株式会社 電子機器およびデータ管理プログラム
JP6000381B2 (ja) * 2015-01-06 2016-09-28 京セラドキュメントソリューションズ株式会社 電子機器および情報管理プログラム

Also Published As

Publication number Publication date
JP2003316588A (ja) 2003-11-07

Similar Documents

Publication Publication Date Title
JP3679349B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP6066006B2 (ja) 画像形成装置
JP4101004B2 (ja) 画像形成装置
JP4263919B2 (ja) 画像形成装置及びメモリ管理方法
JP4001531B2 (ja) 画像形成装置
JP3683542B2 (ja) 画像形成装置
JP4128468B2 (ja) 情報処理装置及びメモリマップ方法
JP4128467B2 (ja) 画像形成装置及びメモリマップ方法
JP4136397B2 (ja) 画像形成装置及びメモリ管理方法
JP3683543B2 (ja) 画像形成装置
JP3910993B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP3857598B2 (ja) データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置
JP4263920B2 (ja) 情報処理装置及びメモリ管理方法
JP3710789B2 (ja) 複数の通信プロトコルを有する画像形成装置
JP4157376B2 (ja) 情報処理装置、画像形成装置、制御方法およびプログラム
JP3715629B2 (ja) 画像処理装置およびユーザ情報管理方法
JP3910992B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP4485749B2 (ja) 画像形成装置
JP3865242B2 (ja) ユーザ情報管理方法および情報処理装置
JP2004066809A (ja) 画像形成装置およびプログラム起動方法
JP3857654B2 (ja) 画像形成装置,ユーザ情報管理方法,ユーザ情報管理プログラムおよび記録媒体
JP4093770B2 (ja) データ転送方法およびそのデータ転送方法を利用するインターフェース制御モジュール,デバイス制御モジュール,画像形成装置
JP2009070208A (ja) 画像処理装置およびメモリ確保方法
JP5063718B2 (ja) 画像形成装置及びネットワークシステム
JP2006027277A (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