JP2003316588A - Information processor and memory mapping method - Google Patents
Information processor and memory mapping methodInfo
- Publication number
- JP2003316588A JP2003316588A JP2003044588A JP2003044588A JP2003316588A JP 2003316588 A JP2003316588 A JP 2003316588A JP 2003044588 A JP2003044588 A JP 2003044588A JP 2003044588 A JP2003044588 A JP 2003044588A JP 2003316588 A JP2003316588 A JP 2003316588A
- Authority
- JP
- Japan
- Prior art keywords
- area
- map
- memory
- information processing
- mapping
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、多種の情報処理機
能を有する情報処理装置に係り、詳しくは、各機能に対
応するアプリケーションによって生成される複数のプロ
セス間でデータを共有可能とし、多種の情報処理機能を
融合する情報処理装置を提供するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus having various information processing functions, and more specifically, enables sharing of data among a plurality of processes generated by an application corresponding to each function, An information processing device that integrates information processing functions is provided.
【0002】[0002]
【従来の技術】パソコン等の情報処理装置は、様々な情
報処理にそれぞれ対応する1つ以上のアプリケーション
を実行させることで様々な情報処理を行わせるものであ
る。従来の情報処理装置では、各アプリケーションを実
行することで生成されるプロセスが、必要なメモリを別
個に獲得していた。2. Description of the Related Art Information processing apparatuses such as personal computers perform various information processing by executing one or more applications respectively corresponding to various information processing. In a conventional information processing device, a process generated by executing each application separately acquires a necessary memory.
【0003】また、情報処理装置の応用例としての画像
形成装置は、プリンタ、コピー、ファクシミリ、スキャ
ナなどの各装置の機能を1つの筐体内に収納している。
このような複合型の画像形成装置は、1つの筐体内に表
示部、印刷部および撮像部などを設けるとともに、プリ
ンタ、コピーおよびファクシミリ装置にそれぞれ対応す
る3種類のアプリケーションを設け、アプリケーション
の切り替えによって、当該装置をプリンタ、コピー、ス
キャナまたはファクシミリ装置として動作させるもので
ある。An image forming apparatus as an application example of an information processing apparatus houses the functions of each device such as a printer, a copier, a facsimile, and a scanner in one housing.
Such a composite type image forming apparatus is provided with a display unit, a printing unit, an image pickup unit, and the like in one housing, and three types of applications corresponding to a printer, a copier, and a facsimile device, respectively. , The device is operated as a printer, a copier, a scanner, or a facsimile device.
【0004】このような従来の複合型の画像形成装置で
は、プリンタ、コピーおよびファクシミリにそれぞれ対
応する別個のアプリケーション(OSを含む)を備えて
いるため、各アプリケーションを実行して生成されるプ
ロセスが必要とするメモリはそれぞれ別個に獲得され、
また、個別に管理されている。Since such a conventional composite type image forming apparatus is provided with separate applications (including OS) corresponding to a printer, a copy and a facsimile, respectively, a process generated by executing each application is generated. The required memory is acquired separately,
It is also managed individually.
【0005】例えば特許文献1には、上記のような複合
型の画像形成装置の一例が記載されている。For example, Patent Document 1 describes an example of the composite type image forming apparatus as described above.
【0006】[0006]
【特許文献1】特開2002−84383号公報[Patent Document 1] Japanese Patent Laid-Open No. 2002-84383
【0007】[0007]
【発明が解決しようとする課題】様々な情報処理にそれ
ぞれ対応する1つ以上のアプリケーションがOS(オペ
レーティングシステム)上で動作する従来の情報処理装
置、又はコピー、スキャナ、プリンタなどのアプリケー
ションがOS上で動作する従来の複合機の場合、OSが
行なうOS仮想メモリ領域へのマップとアプリケーショ
ン等によって生成されるプロセスが行なう仮想メモリ領
域へのマップとは、通常、別のアーキテクチャをとって
いることが多い。A conventional information processing apparatus in which one or more applications corresponding to various information processing operate on an OS (operating system), or an application such as a copy, a scanner, or a printer on the OS In the case of a conventional multi-function peripheral that operates on the OS, the OS virtual memory area map performed by the OS and the virtual memory area map performed by a process created by an application or the like usually have different architectures. Many.
【0008】このようなアーキテクチャの場合、アプリ
ケーション等によって生成されたプロセスがマップした
仮想メモリ領域のアドレスをOS仮想メモリ領域のアド
レスに変換することによって、かかるOSによるそのア
ドレスへのアクセスが制御されている。In such an architecture, by converting the address of the virtual memory area mapped by the process generated by the application or the like into the address of the OS virtual memory area, the access to the address by the OS is controlled. There is.
【0009】例えば、図1に示すように、プロセスAが
プロセスAの仮想メモリ領域内の所定領域へのマップ
後、プロセスAの動作中の割り込み発生によるOS1に
よるOS仮想メモリ領域へのアクセスは、プロセスAが
マップした仮想メモリ領域のアドレスをOS仮想メモリ
領域へのアドレスに変換することによって、アクセスが
可能となる。For example, as shown in FIG. 1, after the process A is mapped to a predetermined area in the virtual memory area of the process A, the OS 1 accesses the OS virtual memory area by the occurrence of an interrupt during the operation of the process A. By converting the address of the virtual memory area mapped by the process A into the address of the OS virtual memory area, the access becomes possible.
【0010】一方、プロセスBの動作中の割り込み発生
によって、プロセスAがマップしたプロセスAの仮想メ
モリ領域のアドレスに対応するOS1によるOS仮想メ
モリ領域へのアクセスは、プロセスBが、プロセスAが
マップしたプロセスAの仮想メモリ領域内の所定領域に
対応するプロセスBの仮想メモリ領域内の所定領域へマ
ップをしていない場合、そのアドレスをOS仮想メモリ
領域へのアドレスに変換することができない。このアド
レス変換の失敗により、OS1は、異常終了をしてしま
う等の問題があった。On the other hand, when an interrupt occurs while the process B is operating, the OS 1 accesses the OS virtual memory area corresponding to the address of the virtual memory area of the process A mapped by the process A. If the predetermined area in the virtual memory area of the process B corresponding to the predetermined area in the virtual memory area of the process A is not mapped, the address cannot be converted into the address to the OS virtual memory area. Due to the failure of the address conversion, the OS 1 has a problem such as abnormal termination.
【0011】このような異常終了によって、例えば、同
一画像データをプリンタ機能によって紙へ出力し、ま
た、スキャナ機能によってイメージデータの出力を行な
う場合などに効率的な処理を行なうことができなかっ
た。Due to such an abnormal termination, for example, when the same image data is output to paper by the printer function and the image data is output by the scanner function, efficient processing cannot be performed.
【0012】よって、従来のような情報処理装置ではな
く、各アプリケーションを実行することで生成されるプ
ロセス間でデータを共有することが望まれている。ま
た、従来のようなプリンタ、コピー、ファクシミリ、ス
キャナなどの各装置の機能を1つの筐体内に収納した複
合機型の画像形成装置ではなく、各機能に対応するアプ
リケーションによって生成されるプロセス間でデータを
共有することによって、プリンタ、コピー、ファクシミ
リ、スキャナなどの機能を融合して1つの画像形成装置
とすることが望まれている。Therefore, it is desired to share data between processes generated by executing each application rather than the conventional information processing apparatus. Further, instead of the conventional multifunctional image forming apparatus in which the functions of each device such as a printer, a copier, a facsimile, and a scanner are housed in one housing, the processes generated by an application corresponding to each function It is desired to combine the functions of a printer, a copy machine, a facsimile machine, a scanner, and the like into one image forming apparatus by sharing data.
【0013】そこで、本発明の課題は、多種の情報処理
機能毎に対応するアプリケーションによって生成される
プロセス間でデータの共有を可能とする画像形成装置を
提供することである。Therefore, an object of the present invention is to provide an image forming apparatus capable of sharing data between processes generated by applications corresponding to various information processing functions.
【0014】[0014]
【課題を解決するための手段】上記課題を解決するた
め、本発明は、請求項1に記載されるように、情報処理
を行うアプリケーションのプロセスにメモリをマップす
る情報処理装置であって、上記メモリ上に上記プロセス
によって直接マップ可能な直接マップ領域を獲得する領
域獲得手段と、上記プロセスが指定する上記直接マップ
領域内の所定領域を示す物理アドレスによって、該プロ
セスの仮想メモリ領域から該所定領域へ直接マップする
直接マップ手段とを有するように構成される。In order to solve the above problems, the present invention provides an information processing apparatus for mapping a memory to a process of an application for performing information processing, as described in claim 1. From the virtual memory area of the process to the predetermined area by means of area acquisition means for acquiring a direct map area that can be directly mapped by the process on the memory and a physical address indicating a predetermined area in the direct map area specified by the process. And direct mapping means for directly mapping to.
【0015】このような情報処理装置では、プロセスが
物理アドレスを指定することによって該プロセスの仮想
メモリ領域から獲得してメモリ上の直接マップ領域への
マップを行なうことができる。In such an information processing apparatus, when a process specifies a physical address, the process can be acquired from the virtual memory area of the process and can be directly mapped on the memory.
【0016】プロセスが直接マップするという観点か
ら、本発明は、請求項2に記載されるように、請求項1
記載の情報処理装置であって、上記直接マップ手段は、
システムコールによって、オペレーティングシステムが
有する上記仮想メモリ領域から上記直接マップ領域内の
上記所定領域へマップするマップ処理手段を直接起動す
るように構成することができる。In view of the direct mapping of the process, the present invention, as set forth in claim 2, includes:
The information processing apparatus according to claim 1, wherein the direct map means is
The system call may be configured to directly activate the map processing means for mapping from the virtual memory area of the operating system to the predetermined area in the direct map area.
【0017】このような情報処理装置では、プロセス
は、システムコールによって、オペレーティングシステ
ムのマップ処理手段を直接起動し、メモリ上の直接マッ
プ領域へのマップを行なうことができる。In such an information processing apparatus, the process can directly activate the map processing means of the operating system by the system call and perform the map to the direct map area on the memory.
【0018】プロセスがシステムコールするという観点
から、本発明は、請求項3に記載されるように、請求項
2記載の情報処理装置であって、上記システムコール
は、sysarch関数をコールすることによって行な
われるように構成することができる。From the viewpoint that a process makes a system call, the present invention provides the information processing apparatus according to claim 2 as described in claim 3, wherein the system call is made by calling a sysarch function. Can be configured to take place.
【0019】このような情報処理装置では、プロセス
は、直接sysarch関数をコールすることによって
システムコールを行なうことができ、オペレーティング
システムでの処理を介さずに、メモリ上の直接マップ領
域へのマップを行なうことができる。In such an information processing apparatus, a process can make a system call by directly calling a sysarch function, and a map can be directly mapped to a memory area in the memory without any processing by the operating system. Can be done.
【0020】プロセス間で直接マップ領域を共有すると
いう観点から、請求項4に記載されるように、請求項1
乃至3のいずれか一項記載の情報処理装置であって、2
以上の上記プロセスが同一物理アドレスを指定すること
によって、同一所定領域を上記プロセス間で共有するよ
うに構成することができる。The method according to claim 1, wherein the map area is directly shared between the processes.
The information processing apparatus according to any one of items 1 to 3, wherein 2
By designating the same physical address in the above processes, the same predetermined area can be configured to be shared between the processes.
【0021】このような情報処理装置では、オペレーテ
ィングシステムを介さずに、異なるプロセスが同一物理
アドレスを指定することによって、該物理アドレスによ
って指定される所定領域を共有することが可能となる。In such an information processing apparatus, different processes specify the same physical address without going through the operating system, so that the predetermined area specified by the physical address can be shared.
【0022】直接マップ領域内の所定領域を物理アドレ
スで指定するという観点から、請求項5に記載されるよ
うに、請求項1乃至4のいずれか一項記載の情報処理装
置であって、上記プロセスは、上記物理アドレスを、上
記直接マップ領域内における上記所定領域を示すオフセ
ット値によって指定するように構成することができる。From the viewpoint of designating a predetermined area in the direct map area by a physical address, the information processing apparatus according to any one of claims 1 to 4, as described in claim 5, The process may be configured to specify the physical address by an offset value indicating the predetermined area within the direct map area.
【0023】また、上記課題を解決するため、本発明
は、情報処理を行うアプリケーションのプロセスにメモ
リをマップする情報処理装置であって、上記プロセスの
仮想メモリ領域から上記メモリ上へ直接マップ可能であ
って、プロセッサーによる直接アクセスを可能とする第
一直接マップ領域を上記メモリ上に獲得する第一マップ
領域獲得手段と、上記第一マップ領域獲得手段によって
獲得した上記第一直接マップ領域の所定第一領域を示す
物理アドレスをページディレクトリエントリに設定する
ことによって、上記プロセスの仮想メモリ領域から該所
定第一領域へ直接マップする第一マップ手段とを有する
ように構成される。In order to solve the above problems, the present invention is an information processing apparatus that maps a memory to a process of an application that performs information processing, and can directly map the virtual memory area of the process onto the memory. And a first map area acquisition means for acquiring a first direct map area on the memory, which is directly accessible by the processor, and a predetermined first direct map area acquired by the first map area acquisition means. By setting a physical address indicating the area in the page directory entry, the virtual memory area of the process is directly mapped to the predetermined first area.
【0024】このような情報処理装置では、オペレーテ
ィングシステムを介さずに、プロセッサーによる上記第
一直接マップ領域への直接アクセスがページディレクト
リエントリから可能となる。In such an information processing apparatus, the processor can directly access the first direct map area from the page directory entry without using the operating system.
【0025】更に、プロセスによって直接マップ領域を
マップするという観点から、請求項7に記載されるよう
に、請求項6記載の情報処理装置であって、上記プロセ
スが該プロセスの仮想メモリ領域から上記メモリ上への
直接マップを可能とする第二マップ領域を上記メモリ上
に獲得する第二マップ領域獲得手段と、上記プロセスに
よるシステムコールによって、上記第二マップ領域獲得
手段によって獲得した上記第二直接マップ領域の所定第
二領域を示す物理アドレスをページテーブルエントリに
設定することによって、該プロセスの仮想メモリ領域か
ら該所定第二領域へ直接マップする第二マップ手段とを
有するように構成される。Further, from the viewpoint of directly mapping the map area by the process, the information processing apparatus according to claim 6 is described, wherein the process is performed from the virtual memory area of the process. Second map area acquisition means for acquiring a second map area on the memory that enables direct mapping on the memory, and the second direct area acquired by the second map area acquisition means by a system call by the process. By setting a physical address indicating a predetermined second area of the map area in the page table entry, a second map means for directly mapping from the virtual memory area of the process to the predetermined second area is configured.
【0026】このような情報処理装置では、プロセス
は、オペレーティングシステムを介さずに、上記所定第
二領域を示す物理アドレスをページテーブルエントリに
設定することによって、該ページテーブルエントリから
マップすることができる。In such an information processing apparatus, the process can map from the page table entry by setting the physical address indicating the predetermined second area in the page table entry without going through the operating system. .
【0027】プロセスが上記所定第二領域へ直接マップ
するという観点から、請求項8に記載されるように、請
求項7記載の情報処理装置であって、上記第二マップ手
段は、システムコールによって、オペレーティングシス
テムが有する上記プロセスの仮想メモリ領域から上記第
二直接マップ領域の所定第二領域へマップするマップ処
理手段を直接起動するように構成することができる。From the viewpoint that the process directly maps to the predetermined second area, as described in claim 8, the information processing apparatus according to claim 7, wherein the second mapping means uses a system call. The map processing means for mapping from the virtual memory area of the above-mentioned process of the operating system to the predetermined second area of the second direct map area can be directly activated.
【0028】このような情報処理装置では、プロセスが
システムコールを行なえるように構成されるため、オペ
レーティングシステムを介さずに、上記所定第二領域を
マップすることができる。In such an information processing apparatus, since the process is configured to make a system call, it is possible to map the predetermined second area without the intervention of the operating system.
【0029】上記第一マップ領域と上記第二マップ領域
とには異なるページ長単位でマップするという観点か
ら、請求項9に記載されるように、請求項6乃至8のい
ずれか一項記載の情報処理装置であって、上記第一マッ
プ手段は、上記プロセスに対して、上記第一マップ領域
を、第一所定ページ長単位で、該プロセスの仮想メモリ
領域からマップし、上記第二マップ手段は、上記プロセ
スに対して、上記第二マップ領域を、第二所定ページ長
単位で、該プロセスの仮想メモリ領域からマップするよ
うに構成することができる。From the viewpoint of mapping the first map area and the second map area in units of different page lengths, as described in claim 9, the method according to any one of claims 6 to 8. In the information processing apparatus, the first map means maps the first map area for the process in units of a first predetermined page length from a virtual memory area of the process, and the second map means. Can be configured to map the second map area to the process in units of the second predetermined page length from the virtual memory area of the process.
【0030】このような情報処理装置では、プロセッサ
ーが高速に直接アクセスできる上記第一マップ領域と、
プロセスがシステムコールによって直接マップ可能な上
記第二マップ領域とを夫々異なるページ長単位でマップ
することができる。In such an information processing apparatus, the first map area which the processor can directly access at high speed,
The process can map the second map area that can be directly mapped by a system call in units of different page lengths.
【0031】プロセッサーが容量の大きいデータを高速
に直接アクセスするという観点から、請求項10に記載
されるように、請求項9記載の情報処理装置であって、
上記第一所定ページ長単位は、上記第二所定ページ長単
位より大きいように構成することができる。According to a tenth aspect of the present invention, in the information processing apparatus according to the ninth aspect, the processor directly accesses a large amount of data at high speed.
The first predetermined page length unit may be larger than the second predetermined page length unit.
【0032】このような情報処理装置では、プロセッサ
ーによって容量の大きいデータを高速で処理することが
できる。In such an information processing apparatus, a processor can process a large amount of data at high speed.
【0033】従来機能と互換性を保つといる観点から、
請求項11に記載されるように、請求項9記載の情報処
理装置であって、オペレーティングシステム起動時に、
上記第一所定ページ長単位をサポートしているか否かを
判断するページ単位判断手段を有し、上記ページ単位判
断手段による判断結果に基づいて、上記第一マップ領域
獲得手段と、上記第一マップ手段と、上記第二マップ領
域獲得手段と、上記第二マップ手段とを有効とするよう
に構成することができる。From the viewpoint of maintaining compatibility with conventional functions,
As described in claim 11, the information processing apparatus according to claim 9, wherein when the operating system is started,
It has a page unit judgment means for judging whether or not it supports the first predetermined page length unit, and based on the judgment result by the page unit judgment means, the first map area acquisition means and the first map. The means, the second map area acquisition means, and the second map means may be configured to be effective.
【0034】このような情報処理装置では、容量の大き
いデータをアクセスするための上記第一所定ページ長単
位をサポートしていない場合、上記第一直接マップ領域
及び上記第二直接マップ領域の獲得及びマップを行なわ
ないようにすることができ、従来機能との互換性を保つ
ことができる。In such an information processing apparatus, when the first predetermined page length unit for accessing a large amount of data is not supported, the first direct map area and the second direct map area are acquired and It is possible to prevent mapping and maintain compatibility with conventional functions.
【0035】請求項12に記載されるように、請求項6
乃至11のいずれか一項記載の情報処理装置であって、
上記メモリは、描画用として使用されるように構成する
ことができる。As described in claim 12, claim 6
The information processing apparatus according to any one of claims 1 to 11,
The memory can be configured to be used for drawing.
【0036】更に、上記課題を解決するため、本発明
は、請求項13に記載されるように、情報処理を行うア
プリケーションのプロセスにメモリをマップするメモリ
マップ方法であって、上記プロセスの仮想メモリ領域か
ら上記メモリ上へ直接マップ可能であって、プロセッサ
ーによる直接アクセスを可能とする第一直接マップ領域
を上記メモリ上に獲得する第一マップ領域獲得手順と、
上記第一マップ領域獲得手段によって獲得した上記第一
直接マップ領域の所定第一領域を示す物理アドレスをペ
ージディレクトリエントリに設定することによって、上
記プロセスの仮想メモリ領域から該所定第一領域へ直接
マップする第一マップ手順とを有するように構成され
る。Further, in order to solve the above-mentioned problems, the present invention provides a memory mapping method for mapping a memory to a process of an application which performs information processing, as described in claim 13, wherein the virtual memory of the process is A first map area acquisition procedure for acquiring a first direct map area on the memory, which can be directly mapped from the area onto the memory, and which can be directly accessed by a processor;
Direct mapping from the virtual memory area of the process to the predetermined first area by setting the physical address indicating the predetermined first area of the first direct map area acquired by the first map area acquisition means in the page directory entry. And a first map procedure to perform.
【0037】このようなメモリマップ方法では、獲得さ
れた第一マップ領域内の所定第一領域を示す物理アドレ
スがページディレクトリエントリに設定されるため、ペ
ージディレクトリエントリから該所定第一領域へのアク
セスを行なうことができる。In such a memory mapping method, since the physical address indicating the predetermined first area in the acquired first map area is set in the page directory entry, access from the page directory entry to the predetermined first area is performed. Can be done.
【0038】プロセッサーから高速に直接アクセスを可
能とするという観点から、請求項14に記載されるよう
に、請求項13記載のメモリマップ方法であって、上記
第一マップ手順は、上記ページディレクトリエントリに
ユーザ使用可を示すフラグを設定するこのようなメモリ
マップ方法では、獲得された第一マップ領域内の所定第
一領域を示す物理アドレスが設定されたページディレク
トリエントリにユーザ使用可を示すフラグが設定される
ため、オペレーティングシステムを介さずに、プロセッ
サーが直接アクセスすることができる。From the viewpoint of enabling high-speed direct access from the processor, the memory mapping method according to claim 13, wherein the first mapping procedure is performed on the page directory entry. In such a memory mapping method for setting a flag indicating user availability, a flag indicating user availability is set in a page directory entry in which a physical address indicating a predetermined first area in the acquired first map area is set. Therefore, the processor can be directly accessed without using the operating system.
【0039】プロセスによる直接マップを可能にすると
いう観点から、請求項14に記載されるように、請求項
13記載のメモリマップ方法であって、上記プロセスが
該プロセスの仮想メモリ領域から上記メモリ上への直接
マップを可能とする第二マップ領域を上記メモリ上に獲
得する第二マップ領域獲得手順と、上記プロセスによる
システムコールによって、上記第二マップ領域獲得手順
によって獲得した上記第二直接マップ領域の所定第二領
域を示す物理アドレスをページテーブルエントリに設定
することによって、該プロセスの仮想メモリ領域から該
所定第二領域へ直接マップする第二マップ手順とを有す
るように構成することができる。From the viewpoint of enabling direct mapping by a process, as described in claim 14, the memory mapping method according to claim 13, wherein the process is performed from a virtual memory area of the process onto the memory. A second map area acquisition procedure that acquires a second map area that enables direct mapping to the memory, and the second direct map area acquired by the second map area acquisition procedure by a system call by the above process. By setting a physical address indicating the predetermined second area in the page table entry, a second mapping procedure for directly mapping from the virtual memory area of the process to the predetermined second area can be configured.
【0040】このようなメモリマップ方法では、ページ
のエントリを管理するページテーブルに、ページの物理
アドレスを設定することによって、マップした領域への
マップしたプロセス自身によるアクセスを可能とする。
従って、同一領域へマップした他プロセスによる該同一
領域へのアクセスも可能となり該同一領域を共有するこ
とができる。In such a memory mapping method, by setting the physical address of the page in the page table which manages the entry of the page, the mapped process itself can access the mapped area.
Therefore, it is possible to access the same area by another process mapped to the same area, and the same area can be shared.
【0041】プロセスからのアクセスを可能にするとい
う観点から、請求項16に記載されるように、請求項1
5記載のメモリマップ方法であって、上記第二マップ手
順は、上記ページテーブルエントリにユーザ使用可を示
すフラグを設定するように構成することができる。Claim 1 as claimed in claim 16 in terms of allowing access from a process.
5. The memory mapping method according to 5, wherein the second mapping procedure can be configured to set a flag indicating that the page table entry can be used by a user.
【0042】このようなメモリマップ方法では、獲得さ
れた第二マップ領域内の所定第二領域を示す物理アドレ
スが設定されたページテーブルエントリにユーザ使用可
を示すフラグが設定されるため、オペレーティングシス
テムを介さずに、プロセスが直接アクセスすることがで
きる。In such a memory mapping method, since the flag indicating user availability is set in the page table entry in which the physical address indicating the predetermined second area in the acquired second map area is set, the operating system is set. The process can be directly accessed without going through.
【0043】[0043]
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0044】図2は、本発明による情報処理装置の一実
施例の構成図である。情報処理装置2000は、ハード
ウェア資源2100と,ソフトウェア群2200とを含
むように構成される。FIG. 2 is a block diagram of an embodiment of the information processing apparatus according to the present invention. The information processing device 2000 is configured to include a hardware resource 2100 and a software group 2200.
【0045】ハードウェア資源2100は、メモリ装置
2110,入力装置2120,表示装置2130,その
他のハードウェアリソース2140等を含む。ソフトウ
ェア群2200は、アプリケーション2210−1〜2
210−n,UNIX(登録商標)などのOS223
0,BIOS2240,デバイスドライバ2250等を
含む。The hardware resources 2100 include a memory device 2110, an input device 2120, a display device 2130, other hardware resources 2140 and the like. The software group 2200 includes the applications 2210-1 and 2210-2.
210-n, OS 223 such as UNIX (registered trademark)
0, BIOS 2240, device driver 2250 and the like.
【0046】情報処理装置2000は、電源投入時にO
S2230のプログラムを補助記憶装置から読み出し、
読み出したプログラムをメモリ装置2110に転送して
起動する。また、情報処理装置2000は電源投入時ま
たはオペレータからの起動指示によりアプリケーション
2210−1〜2210−nのプログラムを補助記憶装
置から読み出し、読み出したプログラムをメモリ装置2
110に転送して起動する。The information processing device 2000 is turned on when the power is turned on.
The program of S2230 is read from the auxiliary storage device,
The read program is transferred to the memory device 2110 and activated. Further, the information processing device 2000 reads the programs of the applications 2210-1 to 2210-n from the auxiliary storage device when the power is turned on or in response to the activation instruction from the operator, and the read programs are stored in the memory device 2.
Transfer to 110 and start.
【0047】アプリケーション2210−1〜2210
−nは、情報処理装置2000に様々な情報処理を行わ
せるものである。BIOS2240は、ハードウェア資
源2100を制御するプログラムである。また、デバイ
スドライバ2250はハードウェア資源2100に含ま
れる周辺機器等を管理するプログラムである。Applications 2210-1 to 2210
-N causes the information processing apparatus 2000 to perform various information processing. The BIOS 2240 is a program that controls the hardware resource 2100. The device driver 2250 is a program that manages peripheral devices included in the hardware resource 2100.
【0048】OS2230は、API(Application Pr
ogram Interface )2220を利用してアプリケーショ
ン2210−1〜2210−nからの要求を受信する。
API2220は予め定義されている関数により、アプ
リケーション2210−1〜2210−nからの要求を
受信するために利用される。The OS 2230 uses the API (Application Pr
gram interface) 2220 is used to receive requests from the applications 2210-1 to 2210-n.
The API 2220 is used to receive a request from the applications 2210-1 to 2210-n by a predefined function.
【0049】OS2230は、アプリケーション221
0−1〜2210−nの各ソフトウェアをプロセスとし
て並列制御する。また、OS2230はBIOS224
0,デバイスドライバ2250を利用してハードウェア
資源2100に対する要求を行う。The OS 2230 is the application 221.
Each software of 0-1 to 2210-n is controlled in parallel as a process. Also, the OS 2230 is the BIOS 224.
0, the device driver 2250 is used to make a request to the hardware resource 2100.
【0050】次に、情報処理装置2000のハードウェ
ア構成について説明する。図2は、本発明による情報処
理装置の一実施例のハードウェア構成図である。情報処
理装置2000は、それぞれバスBで相互に接続されて
いる入力装置2510,表示装置2520,補助記憶装
置2530,メモリ装置2540および演算処理装置2
550を有するように構成される。Next, the hardware configuration of the information processing apparatus 2000 will be described. FIG. 2 is a hardware configuration diagram of an embodiment of the information processing apparatus according to the present invention. The information processing device 2000 includes an input device 2510, a display device 2520, an auxiliary storage device 2530, a memory device 2540, and an arithmetic processing device 2 which are connected to each other by a bus B.
550.
【0051】入力装置2510はキーボード及びマウス
などで構成され、様々な操作指示を入力するために用い
られる。表示装置2520は、操作に必要な各種ウイン
ドウやデータ等を表示する。補助記憶装置2530は、
情報処理装置2000に係る処理を行わせるプログラム
を格納すると共に、そのプログラムの処理に必要な各種
ファイルやデータ等を格納している。The input device 2510 is composed of a keyboard and a mouse, and is used for inputting various operation instructions. The display device 2520 displays various windows and data necessary for operation. The auxiliary storage device 2530 is
It stores a program that causes the information processing apparatus 2000 to perform processing, and also stores various files and data necessary for processing the program.
【0052】メモリ装置2540は、情報処理装置20
00の起動時に補助記憶装置2530からプログラムを
読み出して格納する。演算処理装置2550は、メモリ
装置2540に格納されたプログラムに従って処理を実
行する。The memory device 2540 is used by the information processing device 20.
00 is started, the program is read from the auxiliary storage device 2530 and stored. The arithmetic processing unit 2550 executes processing according to the program stored in the memory device 2540.
【0053】次に、本発明による情報処理装置の応用例
としての画像形成装置(以下、融合機という)について
説明する。本発明の実施の一形態に係る多種の画像形成
機能を融合する融合機は、例えば、図4に示すような機
能構成を成す。図4は、本発明の一実施例に係る多種の
画像形成機能を融合する融合機の機能構成を示すブロッ
ク図である。Next, an image forming apparatus (hereinafter referred to as a compound machine) as an application example of the information processing apparatus according to the present invention will be described. A fusion machine that fuses various image forming functions according to an embodiment of the present invention has a functional configuration as shown in FIG. 4, for example. FIG. 4 is a block diagram showing a functional configuration of a compound machine that combines various image forming functions according to an embodiment of the present invention.
【0054】図4において、融合機1200は、ハード
ウェア資源1205と,ソフトウェア群1210と,融
合機起動部1240とを含むように構成される。ハード
ウェア資源10は、白黒レーザプリンタ(B&W L
P)1201と、カラーレーザプリンタ(Color
LP)1202と、スキャナ、ファクシミリなどのハー
ドウェアリソース1203などを有する。In FIG. 4, the compound machine 1200 is configured to include a hardware resource 1205, a software group 1210, and a compound machine starting part 1240. The hardware resource 10 is a black and white laser printer (B & W L
P) 1201 and a color laser printer (Color)
LP) 1202 and a hardware resource 1203 such as a scanner and a facsimile.
【0055】また、ソフトウェア群1210は、UNI
X(登録商標)などのオペレーティングシステム(以
下、OSという)上に起動されているプラットフォーム
1220とアプリケーション1230とから構成され
る。融合機起動部1240は、融合機1200の電源投
入時に先ず始めに実行され、プラットフォーム1220
やアプリケーション1230を起動する。The software group 1210 is a UNI
It is composed of a platform 1220 and an application 1230 activated on an operating system (hereinafter referred to as OS) such as X (registered trademark). The compound machine start-up unit 1240 is first executed when the power of the compound machine 1200 is turned on.
And the application 1230 are activated.
【0056】プラットフォーム1220は、アプリケー
ション1230からの処理要求を解釈して、ハードウェ
ア資源の獲得要求を発生させる下記に示すコントロール
サービス1250と、一または複数のハードウェア資源
の管理をおこない、コントロールサービス1250から
の獲得要求を調停するシステムリソースマネージャー
(SRM(System Resource Manager)1223)と、
SRM1223からの獲得要求に応じてハードウェア資
源1205の管理を行うハンドラ層1260とを有す
る。The platform 1220 interprets the processing request from the application 1230 and manages one or a plurality of hardware resources, and the control service 1250 described below for generating a hardware resource acquisition request, and the control service 1250. A system resource manager (SRM (System Resource Manager) 1223) that arbitrates acquisition requests from
And a handler layer 1260 that manages the hardware resource 1205 in response to an acquisition request from the SRM 1223.
【0057】このコントロールサービス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を有する。The control service 1250 is composed of a plurality of service modules.
SCS (System Control Service) 1222 and ECS
((Engine Control Service) 1224 and MCS (Memo
ry Control Service) 1225 and OCS (Operation
panel Control Service) 1226 and FCS (FAX Con
Control Service) 1227 and NCS (Network Control)
Service) 1228. The platform 1220 has an application program interface (A) that enables it to receive a processing request from the application 1230 using a predefined function.
PI) 1215.
【0058】OSは、UNIX(登録商標)などのオペ
レーティング・システムであり、プラットフォーム12
20並びにアプリケーション1230の各ソフトウェア
をそれぞれプロセスとして並列実行する。オープンソー
スのUNIX(登録商標)を用いることにより、プログ
ラムの安全性を確保できるとともに、ネットワーク対応
可能となり、ソースコードの入手も容易となる。さら
に、OS、TCP/IPのロイヤリティが不要であり、
アウトソーシングも容易となる。The OS is an operating system such as UNIX (registered trademark).
20 and each software of the application 1230 are executed in parallel as processes. By using the open source UNIX (registered trademark), the safety of the program can be secured, the network can be supported, and the source code can be easily obtained. In addition, royalty of OS and TCP / IP is unnecessary,
Outsourcing is also easy.
【0059】SRM1223は、SCS1222ととも
にシステムの制御およびリソースの管理をおこなうもの
であり、スキャナやプロッタなどのエンジン部、メモ
リ、HDDファイル、ホストI/O(セントロI/F、
ネットワークI/F、IEEE1394I/F、RS2
32CI/Fなど)のハードウェア資源を利用する上位
層からの要求にしたがって調停をおこない、実行制御す
る。The SRM 1223, together with the SCS 1222, controls the system and manages resources. The engine unit such as a scanner or plotter, memory, HDD file, host I / O (Centro I / F,
Network I / F, IEEE1394 I / F, RS2
32C I / F, etc.) performs arbitration according to a request from an upper layer that uses a hardware resource such as 32 CI / F, and controls execution.
【0060】具体的には、このSRM1223は、要求
されたハードウェア資源が利用可能であるかどうか(他
の要求により利用されていないかどうか)を判断し、利
用可能であれば要求されたハードウェア資源が利用可能
である旨を上位層に伝える。また、上位層からの要求に
対してハードウェア資源の利用スケジューリングをおこ
ない、要求内容(たとえば、プリンタエンジンによる紙
搬送と作像動作、メモリ確保、ファイル生成など)を直
接実施するようにしてもよい。Specifically, the SRM 1223 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is available. Tell upper layers that wear resources are available. In addition, hardware resource utilization scheduling may be performed in response to a request from an upper layer, and the request content (for example, paper conveyance and image forming operation by the printer engine, memory reservation, file generation, etc.) may be directly executed. .
【0061】SCS1222は、アプリ管理(機能
1)、操作部制御(機能2)、システム画面表示(ジョ
ブリスト画面、カウンタ表示画面など)(機能3)、L
ED表示(機能4)、リソース管理(機能5)、割り込
みアプリ制御(機能6)等の複数の機能を行なう。The SCS 1222 manages the application (function 1), controls the operation unit (function 2), displays the system screen (job list screen, counter display screen, etc.) (function 3), L
It performs a plurality of functions such as ED display (function 4), resource management (function 5), and interrupt application control (function 6).
【0062】具体的には、アプリ管理(機能1)では、
アプリの登録と、その情報を他のアプリに通知する処理
をおこなう。操作部制御(機能2)では、アプリの操作
部使用権の排他制御をおこなう。システム画面表示(機
能3)では、操作部使用権を持つアプリからの要求内容
に応じて、エンジン部の状態に対応する警告画面の表示
をおこなう。LED表示(機能4)では、警告LED、
アプリキーなどのシステムLEDの表示制御をおこな
う。リソース管理(機能5)では、アプリ(ECS)が
ジョブを実行するにあたって、排他しなければならない
エンジンリソース(スキャナ、ステープルなど)の排他
制御のためのサービスをおこなう。割り込みアプリ制御
(機能6)では、特定のアプリを優先動作せさるための
制御及びサービスをおこなう。Specifically, in the application management (function 1),
Registers the application and notifies other applications of the information. In the operation unit control (function 2), exclusive control of the operation unit use right of the application is performed. In the system screen display (function 3), a warning screen corresponding to the state of the engine unit is displayed according to the request content from the application having the operation unit usage right. In LED display (function 4), warning LED,
It controls the display of system LEDs such as application keys. The resource management (function 5) provides a service for exclusive control of engine resources (scanner, staple, etc.) that must be excluded when the application (ECS) executes a job. In the interrupt application control (function 6), control and service for prioritizing a specific application are performed.
【0063】ECS1224は、白黒レーザプリンタ
(B&W LP)1201、カラーレーザプリンタ(C
olor L)1202、その他ハードウェアリソース
1203などのエンジン部を制御するものであり、画像
読み込みと印刷動作、状態通知、ジャムリカバリなどを
おこなう。The ECS 1224 is a monochrome laser printer (B & W LP) 1201 and a color laser printer (C
color L) 1202, other hardware resources 1203, and other engine units, and performs image reading and printing operations, status notification, jam recovery, and the like.
【0064】MCS1225は、メモリ制御をおこなう
ものであり、具体的には、画像メモリの取得および開
放、ハードディスク装置(HDD)の利用、画像データ
の圧縮および伸張などをおこなう。The MCS 1225 performs memory control, and specifically, performs acquisition and release of an image memory, use of a hard disk device (HDD), compression and expansion of image data, and the like.
【0065】OCS1226は、オペレータと本体制御
間の情報伝達手段となる操作パネルを制御するモジュー
ルであり、オペレータのキー操作イベントを本体制御に
通知する処理、各アプリがGUIを構築するためのライ
ブラリ関数を提供する処理、構築されたGUI情報をア
プリ別に管理する処理、操作パネル上への表示反映処理
などをおこなう。The OCS 1226 is a module for controlling the operation panel which serves as a means for transmitting information between the operator and the main body control, and is a process for notifying the main body control of a key operation event of the operator, and a library function for each application to construct a GUI. Is provided, processing for managing the constructed GUI information for each application, display reflection processing on the operation panel, and the like are performed.
【0066】FCS1227は、システムコントローラ
の各アプリ層からPSTN/ISDN網を使ったファク
シミリ送受信、BKM(バックアップSRAM)で管理
されている各種ファクシミリデータの登録/引用、ファ
クシミリ読み取り、ファクシミリ受信印刷、融合送受信
をおこなうためのAPI(Application Program Interf
ace)を提供する。The FCS 1227 is used for facsimile transmission / reception from each application layer of the system controller using the PSTN / ISDN network, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, fusion transmission / reception. API (Application Program Interf
ace).
【0067】NCS1228は、ネットワークI/Oを
必要とするアプリケーションに対して共通に利用できる
サービスを提供するためのモジュール群であり、ネット
ワーク側から各プロトコルによって受信したデータを各
アプリケーションに振り分けたり、アプリケーションか
らデータをネットワーク側に送信する際の仲介をおこな
う。The NCS 1228 is a group of modules for providing services that can be used in common to applications that require network I / O. The NCS 1228 distributes data received from each protocol from the network side to each application, and Mediates when data is transmitted from the network to the network side.
【0068】また、ハンドラ層1260は後述するFC
U(FAX Control Unit)の管理を行うFCUH(FAX Co
ntrol Unit Handler)1231と、各プロセスに対する
メモリの割り振り、各プロセスに割り振ったメモリの管
理,後述する直接マップ領域の管理などを行うIMH
(Imaging Memory Handler)1229とを含む。The handler layer 1260 is an FC which will be described later.
FCUH (FAX Co Unit) that manages U (FAX Control Unit)
IMH that allocates memory to each process, manages the memory allocated to each process, and manages a direct map area described later.
(Imaging Memory Handler) 1229.
【0069】また、IMH1229はイメージデータを
仮想メモリ領域(ユーザ仮想空間)から物理メモリへマ
ップする。プロセスの起動に応じて、システムコールを
行ない、プロセス用の仮想メモリ領域をマップしたり、
マップした仮想メモリ領域をプロセスの終了時に開放す
る処理等を行なう。IMH1229は、後述されるCP
Uによって直接アクセス可能なMEM−P領域と、プロ
セスによって直接アクセス可能なMEM−P0領域への
マップを行なう。The IMH 1229 also maps image data from the virtual memory area (user virtual space) to the physical memory. Depending on the start of the process, it makes a system call to map the virtual memory area for the process,
Performs processing such as releasing the mapped virtual memory area at the end of the process. IMH1229 is a CP described later.
The MEM-P area directly accessible by U and the MEM-P0 area directly accessible by the process are mapped.
【0070】SRM1223,FCUH1231および
IMH1229は、予め定義されている関数によりハー
ドウェア資源1205に対する処理要求を送信するエン
ジンI/F1233を利用してハードウェア資源120
5に対する処理要求を行う。The SRM 1223, FCUH 1231 and IMH 1229 utilize the engine I / F 1233 which sends a processing request to the hardware resource 1205 by a predefined function and uses the hardware resource 120.
5 request processing.
【0071】アプリケーション1230は、ページ記述
言語(PDL)、PCLおよびポストスクリプト(P
S)を有するプリンタ用のアプリケーションであるプリ
ンタアプリ1211と、コピー用アプリケーションであ
るコピーアプリ1212と、ファクシミリ用アプリケー
ションであるファックスアプリ1213と、スキャナ用
アプリケーションであるスキャナアプリ1214とを有
する。Application 1230 includes page description language (PDL), PCL and Postscript (PDL).
The printer application 1211 is a printer application including S), the copy application 1212 is a copy application, the fax application 1213 is a facsimile application, and the scanner application 1214 is a scanner application.
【0072】各アプリケーション1211〜1214
は、プラットフォーム1220上の各プロセスを利用し
て動作実行し得るため、画面制御、キー操作制御および
ジョブ生成などをおこなう画面表示制御プログラムがそ
の主体となる。なお、NCS1228により接続された
ネットワークを介して新たなアプリケーションをネット
ワーク経由で搭載することもできる。また、各アプリケ
ーションはアプリケーションごとに追加または削除する
ことができる。Applications 1211 to 1214
Can perform operations by using each process on the platform 1220, and is mainly composed of a screen display control program that performs screen control, key operation control, job generation, and the like. Note that a new application can be installed via the network via the network connected by the NCS 1228. Further, each application can be added or deleted for each application.
【0073】このように、融合機1200は、各アプリ
で共通的に必要となる処理をプラットフォーム1220
で一元的に処理する。As described above, the multi-function peripheral 1200 performs the processing commonly required by each application on the platform 1220.
Process centrally.
【0074】次に、融合機1200のハードウェア構成
について説明する。図5は、図4に示した融合機120
0のハードウェア構成を示すブロック図である。図5に
示すように、この融合機1200は、オペレーションパ
ネル1310、ファックスコントロールユニット(FC
U)1320、USB(Universal Serial Bus)デバイ
ス1330、IEEE1394デバイス1340および
エンジン部1350とコントローラ1300のASIC
1301とをPCI(Peripheral Component Interconn
ect)バス等で接続した構成となる。Next, the hardware configuration of the compound machine 1200 will be described. FIG. 5 shows the compound machine 120 shown in FIG.
It is a block diagram which shows the hardware constitutions of 0. As shown in FIG. 5, the compound machine 1200 includes an operation panel 1310, a fax control unit (FC
U) 1320, USB (Universal Serial Bus) device 1330, IEEE 1394 device 1340, engine unit 1350, and ASIC of controller 1300
1301 and PCI (Peripheral Component Interconn
ect) It will be connected by a bus.
【0075】コントローラ1300は、ASIC130
1にMEM−C1302、HD1303、ネットワーク
I/Fコントローラ1309などを接続するとともに、
このASIC1301とCPU1304とをCPUチッ
プセットのNB1305を介して接続している。このよ
うに、NB1305を介して接続する理由は、CPU1
304自体のインターフェースが公開されていないため
である。The controller 1300 uses the ASIC 130.
1 is connected to MEM-C1302, HD1303, network I / F controller 1309, etc.,
The ASIC 1301 and the CPU 1304 are connected via the NB 1305 of the CPU chip set. Thus, the reason for connecting via the NB 1305 is that the CPU 1
This is because the interface of 304 itself is not open to the public.
【0076】ここで、このASIC1301とNB13
05は、単にPCIを介して接続されているのではな
く、AGP1308を介して接続されている。このよう
にAGP1308を介して接続することとした理由は、
この融合機1200が図4に示したプラットフォーム1
220やアプリケーション1230を形成する複数のプ
ロセスを実行制御する関係上、これらを低速のPCIで
接続したのでは、パフォーマンスが低下するからであ
る。Here, the ASIC 1301 and the NB 13
05 is not simply connected via PCI, but is connected via AGP 1308. The reason for making the connection via the AGP 1308 is as follows.
This fusion machine 1200 is the platform 1 shown in FIG.
This is because, in order to control the execution of a plurality of processes forming the 220 and the application 1230, if these are connected by a low-speed PCI, the performance will decrease.
【0077】CPU1304は、融合機1200の全体
制御をおこなうものであり、具体的には、OS上でプラ
ットフォーム1220を形成するSCS1222、SR
M1223、ECS1224、MCS1225、OCS
1226、FCS1227、NCS1228をそれぞれ
プロセスとして起動して実行させるとともに、アプリケ
ーション1230を形成するプリンタアプリ1211、
コピーアプリ1212、ファックスアプリ1213、ス
キャナアプリ1214を起動して実行させる。The CPU 1304 controls the entire compound machine 1200, and more specifically, the SCS 1222 and SR which form the platform 1220 on the OS.
M1223, ECS1224, MCS1225, OCS
1226, FCS 1227, and NCS 1228 are respectively activated and executed as processes, and a printer application 1211 that forms an application 1230,
The copy application 1212, the fax application 1213, and the scanner application 1214 are activated and executed.
【0078】NB1305は、CPU1304とMEM
−P1306、SB1307、ASIC1301とを接
続するためのブリッジであり、MEM−P1306は、
融合機の描画用メモリなどとして用いるシステムメモリ
であり、SB1307は、NB1305とROM、PC
Iデバイス、周辺デバイスとを接続するためのブリッジ
である。MEM−C1302は、コピー用画像バッフ
ァ、符号バッファとして用いるローカルメモリであり、
ASIC1301は、画像処理用のハードウェア要素を
有する画像処理用途向けのICである。The NB 1305 has a CPU 1304 and a MEM.
-P1306, SB1307, is a bridge for connecting the ASIC1301, MEM-P1306,
A system memory used as a drawing memory or the like of the multi-function peripheral. The SB 1307 is an NB 1305, a ROM, and a PC.
It is a bridge for connecting I devices and peripheral devices. The MEM-C1302 is a local memory used as a copy image buffer and a code buffer,
The ASIC 1301 is an IC for image processing applications having a hardware element for image processing.
【0079】HDD1303は、画像データの蓄積、プ
ログラムの蓄積、フォントデータの蓄積、フォームの蓄
積を行うためのストレージであり、オペレーションパネ
ル1310は、操作者からの入力操作の受け付け並びに
操作者に向けた表示をおこなう操作部である。The HDD 1303 is a storage for accumulating image data, programs, font data, and forms, and the operation panel 1310 accepts input operations from the operator and directs the operator. It is an operation unit for displaying.
【0080】したがって、ASIC1301には、ME
M−C1302を接続するためのRAMインターフェー
スと、HDD1303を接続するためのハードディスク
インターフェースが設けられ、これらの記憶部に対して
画像データの入出力をおこなう場合には、入出力先がR
AMインターフェースまたはハードディスクインターフ
ェースに切り替えられる。Therefore, the ASIC 1301 has a ME
A RAM interface for connecting the MC 1302 and a hard disk interface for connecting the HDD 1303 are provided, and when inputting and outputting image data to and from these storage units, the input / output destination is R.
It can be switched to AM interface or hard disk interface.
【0081】AGP1308は、グラフィック処理を高
速化するために提案されたグラフィックスアクセラレー
ターカード用のバスインターフェースであり、システム
メモリに高スループットで直接アクセスすることによ
り、グラフィックスアクセラレーターカードを高速にす
る。The AGP 1308 is a bus interface for a graphics accelerator card that has been proposed for accelerating graphics processing, and makes the graphics accelerator card faster by directly accessing the system memory with high throughput.
【0082】以下、本発明によるメモリマップ方法につ
いて、情報処理装置の応用例としての融合機の処理を中
心に説明する。UNIX(登録商標)等のOS(オペレ
ーティングシステム)上にプラットフォーム1220及
びアプリケーション1230が構築される融合機120
0の場合、仮想アドレス領域は、OSのカーネルによっ
て解釈可能な仮想アドレス空間と、ソフトウェアによっ
て生成されたプロセスによって解釈可能な仮想アドレス
空間とによって制御されている。The memory mapping method according to the present invention will be described below, focusing on the processing of the compound machine as an application example of the information processing apparatus. Fusion machine 120 in which platform 1220 and application 1230 are built on OS (operating system) such as UNIX (registered trademark)
In the case of 0, the virtual address area is controlled by the virtual address space interpretable by the OS kernel and the virtual address space interpretable by the process generated by the software.
【0083】そのため、OS独自で仮想メモリ領域(以
下、カーネル用仮想メモリ領域とする)へのアクセスを
制御すると共に、ソフトウェアによって生成されたプロ
セスによって展開される仮想メモリ領域(以下、プロセ
ス毎仮想メモリ領域とする)へのアクセスを制御する必
要がある。また、OSがカーネル用仮想メモリ領域から
プロセス毎仮想メモリ領域をアクセスする際には、OS
からアクセス可能な仮想アドレス領域に変換される。Therefore, the OS uniquely controls access to the virtual memory area (hereinafter referred to as the virtual memory area for the kernel), and the virtual memory area developed by the process generated by the software (hereinafter, virtual memory for each process). Access to the area). When the OS accesses the virtual memory area for each process from the kernel virtual memory area, the OS
Is converted into a virtual address area accessible from.
【0084】先ず、MEM−C1302、MEM−P1
306及びHDD1303等にて展開される物理メモリ
と仮想メモリ領域との対応について図6で説明する。図
6を参照すると、物理メモリ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が使用される。First, MEM-C1302 and MEM-P1
Correspondence between the physical memory expanded in the 306 and the HDD 1303 and the virtual memory area will be described with reference to FIG. Referring to FIG. 6, the physical memory 10 includes a kernel area 11 used by the kernel, a general-purpose area 12 generally managed by the virtual memory processing unit 111, and a part of the area of the MEM-P 1306. The MEM-P0 area 13 that is mapped from the process generated by the application 1230 or the control service 1250 to the virtual memory area, and the ME that is accessed at high speed from the CPU 1304.
Substantial MEM-P region 14 as MP 1306
A black and white laser printer (B & W LP) 1201, a color laser printer (Color LP) 1202, and other hardware resources 1203 are engine I / F1.
MEM-C130 that can be accessed at high speed via 233
2 and a substantial MEM-C region 15. Areas 11 to 14 are RAMs on the MEM-P1306 side.
Is used, and the area 15 is RA on the MEM-C1302 side.
M is used.
【0085】この物理メモリ10に対応させて展開され
る仮想メモリ領域20は、OS(後述される汎用処理部
110)によって汎用的に管理されるユーザプログラム
領域21と、プロセスが該プロセスの仮想メモリ領域2
0から物理メモリ10へ直接マップ可能な直接マップ領
域22と、OS(汎用処理部110)によって汎用的に
管理され必要に応じてデータがスタックされるスタック
領域23とを有する。The virtual memory area 20 expanded corresponding to the physical memory 10 includes a user program area 21 that is generally managed by the OS (general-purpose processing unit 110, which will be described later), and a virtual memory area for a process. Area 2
It has a direct map area 22 that can be directly mapped from 0 to the physical memory 10, and a stack area 23 that is generally managed by the OS (general-purpose processing unit 110) and data is stacked as needed.
【0086】ユーザプログラム領域21は、更に、アプ
リケーション1230をCPU1304が実行するため
のプログラムコードを格納するプログラムコード領域2
11と、アプリケーション1230をCPU1304が
実行する際に必要となるプログラムデータを格納するプ
ログラムデータ領域212と、動的にデータ領域の割付
けを行なうヒープ領域213とを有する。ユーザプログ
ラム領域21は、物理メモリ10の仮想領域12にマッ
プされる。スタック領域23もまた、物理メモリ10の
仮想領域12にマップされる。The user program area 21 is further a program code area 2 for storing a program code for the CPU 1304 to execute the application 1230.
11, a program data area 212 for storing program data required when the CPU 1304 executes the application 1230, and a heap area 213 for dynamically allocating the data area. The user program area 21 is mapped to the virtual area 12 of the physical memory 10. The stack area 23 is also mapped to the virtual area 12 of the physical memory 10.
【0087】直接マップ領域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とを有する。The direct map area 22 is MEM-P130.
6 is an area that is not managed by the OS (general-purpose processing unit 110 described later) and that is managed by the direct map area access driver 120 described later. The direct map area 22 is the MEM-P0 area 13, ME of the physical memory 10.
It has a MEM-P0 region 221, a MEM-P region 222, and a MEM-C region 223 that correspond to the M-P region 14 and the MEM-C region 15, respectively.
【0088】このような対応関係における直接マップ領
域に対するメモリ管理方法について説明する。図7は、
プロセス間でのメモリ共有を実現する機能構成図であ
る。A memory management method for the direct map area in such a correspondence relationship will be described. Figure 7
It is a functional block diagram which implement | achieves memory sharing between processes.
【0089】図7において、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とを有する。In FIG. 7, the OS 1221 has a virtual memory area 2 corresponding to the physical memory 10 when the kernel is started.
A direct map area acquisition unit 130 that sets 0, and a user map permission / prohibition flag 13 that indicates whether or not the process allows the map.
1 and virtual memory area 2 for each process at process startup
A direct map virtual memory area process initialization unit 132 for initializing a table for direct mapping from 0 to the physical memory 10, a process virtual address space 141 for each process, and a virtual memory area for each process are managed. Table set 14 for managing multiple tables for
3, a MEM-P0 area information acquisition unit 241 that acquires the MEM-P0 virtual address and size that are allocated to each process, and a MEM- that is allocated to each process.
The MEM-P area information acquisition unit 242 that acquires the P virtual address and size, the MEM-P0 memory mapping unit 243 that maps the memory for the process, and the MEM-P0 that releases the memory mapped for the process. It has a dedicated memory release unit 244 and a system call processing unit 240 for allocating processing during system calls.
【0090】カーネルは、融合機起動部1240によっ
て起動され、直接マップ領域22の有無を判断する直接
マップ領域有無判断部102と、汎用的に仮想記憶への
アクセスを処理する汎用処理部110と、汎用処理部1
10を介さずに仮想記憶のアクセスを処理する直接マッ
プ領域アクセスドライバ120とを有する。更に、汎用
処理部110は、仮想記憶へのアクセスを処理する仮想
記憶処理部111と、仮想記憶の使用領域をページ毎に
管理するページテーブル管理部112と、仮想記憶への
アクセスの例外処理を行なう例外処理部113とを有す
る。The kernel is activated by the multi-function peripheral activation unit 1240, and determines the presence / absence of the direct map region 22, the direct map region presence / absence determination unit 102, the general-purpose processing unit 110 for universally processing access to virtual memory, General-purpose processing unit 1
And a direct map area access driver 120 that handles virtual memory access without going through 10. Further, the general-purpose processing unit 110 performs a virtual memory processing unit 111 that processes access to the virtual memory, a page table management unit 112 that manages the used area of the virtual memory for each page, and an exceptional process of access to the virtual memory. And an exception processing unit 113 for performing the processing.
【0091】直接マップ領域アクセスドライバ120
は、プロセス毎仮想メモリ領域上の直接マップ領域のア
ドレス(以下、ユーザ仮想アドレスという)をカーネル
からアクセス可能なアドレスに変換するカーネル用アド
レス変換部121と、直接マップ領域のユーザ仮想アド
レスを対応する物理アドレスに変換する物理アドレス変
換部122と、アドレスとサイズで指定される領域がプ
ロセス毎仮想メモリ領域の直接マップ領域に存在するか
否かを判断する指定領域有無判断部123とを有する。Direct map area access driver 120
Corresponds to a kernel address conversion unit 121 for converting an address (hereinafter, referred to as a user virtual address) of the direct map area on the virtual memory area for each process into an address accessible from the kernel, and a user virtual address of the direct map area. It has a physical address conversion unit 122 for converting into a physical address, and a specified region presence / absence judgment unit 123 for judging whether or not a region specified by an address and a size exists in the direct map region of the virtual memory region for each process.
【0092】プロセス管理部200は、ソフトウェアを
実行するのに必要となるプロセスを生成し、また、プロ
セスが終了するとそのプロセスを開放する。プロセス管
理部200は、ソフトウェア群1210によって生成さ
れたプロセスを管理する。プロセス管理部200は、直
接マップ仮想メモリ領域プロセス用初期化部132を起
動することによって、CPU1304によるMEM−P
1306内への高速アクセスを可能とするMEM−P領
域222へのマップ及びプロセスが直接アクセスするM
EM−P0領域221へのマップを行なうためのテーブ
ルの初期設定を行なう。The process management section 200 creates a process required to execute software, and releases the process when the process ends. The process management unit 200 manages the process generated by the software group 1210. The process management unit 200 directly activates the map virtual memory area process initialization unit 132 to cause the CPU 1304 to execute the MEM-P.
A map to the MEM-P area 222 that enables high-speed access into the 1306 and a M directly accessed by the process.
Initialization of the table for mapping to the EM-P0 area 221 is performed.
【0093】直接マップ仮想メモリ領域プロセス用初期
化部132は、プロセス毎のプロセス用仮想アドレス空
間141に基づいて、MEM−P領域222及びMEM
−P0領域221へのマップを行なうためのテーブルを
初期化する。The direct map virtual memory area process initialization unit 132, based on the process virtual address space 141 for each process, MEM-P area 222 and MEM.
-Initialize the table for mapping to the P0 area 221.
【0094】起動された各プロセスは、更に、IMH1
229を介してシステムコールを行ない、MEM−P0
領域221のプロセスによる直接アクセス可能とするテ
ーブルの初期設定を行なう。Each of the started processes further includes IMH1
System call via 229, MEM-P0
Initialization of the table that enables direct access by the process in the area 221 is performed.
【0095】IMH1229よりシステムコールがなさ
れると、システムコール処理部240は、システムコー
ルの種別に応じて、対応する処理部を起動する。例え
ば、IMH1229がシステムコールを行なうとは、s
ysarch関数を呼ぶことである。When the IMH 1229 makes a system call, the system call processing unit 240 activates the corresponding processing unit according to the type of the system call. For example, if IMH1229 makes a system call, s
Calling the ysearch function.
【0096】システムコール処理部240は、MEM−
P領域情報の取得を示す種別であれば、MEM−P領域
情報取得部242を起動し、MEM−P0領域情報の取
得を指示する種別であれば、MEM−P0領域情報取得
部241を起動し、MEM−P0領域221へのメモリ
マップを指示する種別であれば、MEM−P0用メモリ
マップ部243を起動し、MEM−P0領域221への
マップしたメモリの開放を指示する種別であれば、ME
M−P0用メモリ開放部244を起動する。The system call processing unit 240 uses the MEM-
If the type indicates acquisition of P area information, the MEM-P area information acquisition unit 242 is activated, and if the type indicates acquisition of MEM-P0 area information, the MEM-P0 area information acquisition unit 241 is activated. , If it is a type for instructing a memory map to the MEM-P0 area 221, it is a type for instructing to release the mapped memory to the MEM-P0 area 221 by activating the MEM-P0 memory map unit 243. ME
The M-P0 memory releasing unit 244 is activated.
【0097】このように、MEM−P0領域221への
メモリマップをIMH1229のシステムコールによっ
て実行するように構成する。例えば、プロセスAによっ
てMEM−P0領域221にマップされた同一領域を、
プロセスBが同一アドレスを指定することによって、プ
ロセスBによるかかる同一領域へのアクセスを行なうこ
とが可能となり、プロセスAとプロセスBとによるME
M−P0領域221における一部領域の共有が実現され
る。As described above, the memory map to the MEM-P0 area 221 is configured to be executed by the system call of IMH1229. For example, the same area mapped to the MEM-P0 area 221 by the process A is
When the process B specifies the same address, the process B can access the same area, and the ME by the process A and the process B can be accessed.
Sharing of a partial area in the M-P0 area 221 is realized.
【0098】以下、直接マップ領域22のMEM−P0
領域221及びMEM−P領域222の制御方法につい
て説明する。先ず、直接マップ領域獲得部130での処
理を図8のフローチャートに従って説明する。図8は、
直接マップ領域獲得部での処理を説明するフローチャー
ト図である。Hereinafter, the MEM-P0 of the direct map area 22 will be described.
A method of controlling the area 221 and the MEM-P area 222 will be described. First, the processing in the direct map area acquisition unit 130 will be described with reference to the flowchart of FIG. Figure 8
It is a flowchart figure explaining the process in a direct map area acquisition part.
【0099】カーネルは、融合機起動部1240によっ
て起動されると、CPU1304がアプリケーション1
230によるMEM−P0領域13のプロセス毎仮想メ
モリ領域へのマップを可能とするか否かを判断(ステッ
プS11)する。例えば、その判断の方法は、CPU1
304によって高速にアクセスされるMEM−P領域1
4のページサイズとなる4MBサイズのページをサポー
トしているか否かによって判断する。When the kernel is started by the multi-function peripheral starting unit 1240, the CPU 1304 sets the application 1
It is determined whether or not 230 can map the MEM-P0 area 13 to the virtual memory area for each process (step S11). For example, the determination method is CPU1
MEM-P area 1 accessed at high speed by 304
Judgment is made based on whether or not a 4 MB page having a page size of 4 is supported.
【0100】そして、所定領域に4MBサイズのページ
ングが可能であることを示すユーザマップ可否フラグ1
31をオンにする(ステップS12)。ユーザマップ可
否フラグ131は、所定レジスタ(例えば、CPU13
04の制御用レジスタ)に設定するようにしても良い。Then, the user map availability flag 1 indicating that paging of 4 MB size is possible in the predetermined area
31 is turned on (step S12). The user map enable / disable flag 131 is a predetermined register (for example, the CPU 13
04 control register).
【0101】ステップS11においてマップ不可の場合
(NO)、汎用処理部110を起動して、従来の仮想記
憶の管理を行い、処理を終了する。一方、マップ可能な
場合(YES)、カーネルは、直接マップ領域獲得部1
30によって、図6に示す仮想メモリ領域20における
直接マップ領域22のMEM−P領域222の構造体
を、カーネル用仮想メモリ領域に設定し(ステップS1
3)、ステップS14へ進み、更に、MEM−P0領域
221の構造体を設定する。If the map cannot be made in step S11 (NO), the general-purpose processing unit 110 is activated, the conventional virtual memory is managed, and the process is terminated. On the other hand, if mappable (YES), the kernel directly determines the map area acquisition unit 1
The structure of the MEM-P area 222 of the direct map area 22 in the virtual memory area 20 shown in FIG. 6 is set in the virtual memory area for kernel by 30 (step S1.
3) Go to step S14, and further set the structure of the MEM-P0 region 221.
【0102】続けて、カーネルは、直接マップ領域獲得
部130によって、MEM−P領域222用のページデ
ィレクトリのサイズを指定して、プロセス毎仮想メモリ
領域におけるMEM−P領域222用のページディレク
トリにページディレクトリエントリを設定する(ステッ
プS15)。よって、MEM−P領域222は、CPU
1304によって直接アクセスされるため、カーネル用
仮想メモリ領域からプロセス毎仮想メモリ領域への変換
を不要とし、高速にアクセス可能な領域として設定され
る。Subsequently, the kernel specifies the size of the page directory for the MEM-P area 222 by the direct map area acquisition unit 130 and sets the page directory for the MEM-P area 222 in the virtual memory area for each process. A directory entry is set (step S15). Therefore, the MEM-P area 222 is the CPU
Since it is directly accessed by 1304, conversion from the kernel virtual memory area to the process-by-process virtual memory area is unnecessary, and the area is set as an area that can be accessed at high speed.
【0103】また、カーネルは、直接マップ領域獲得部
130によって、MEM−P0領域221のページディ
レクトリのサイズを指定して、プロセス毎仮想メモリ領
域におけるMEM−P0領域221用のページディレク
トリにページディレクトリエントリを設定する(ステッ
プS16)。これらのページサイズは、CPU1304
によってサポートされている最大ページサイズ(例えば
4MB)を設定すればよい。Further, the kernel uses the direct map area acquisition unit 130 to specify the size of the page directory of the MEM-P0 area 221, and the page directory entry in the page directory for the MEM-P0 area 221 in the virtual memory area for each process. Is set (step S16). These page sizes are CPU 1304
The maximum page size supported by (for example, 4 MB) may be set.
【0104】ページディレクトリ(PD)内に設定され
たページディレクトリエントリ(PDE)は、各ページ
テーブルの先頭を示し、各ページテーブルはテーブルセ
ット143で管理される。ページディレクトリの詳細
は、後述する。初期化されることによって、MEM−P
0領域221用及びMEM−P領域222用共に、ペー
ジディレクトリの各エントリには、データが格納されて
いるページの先頭からのオフセットで示すページテーブ
ル(PT)のベース物理アドレス、所定ページサイズ
(例えば4MB)、ユーザアクセス不可、読み取り/書
き込み可、ページの有効等の情報が設定される。The page directory entry (PDE) set in the page directory (PD) indicates the head of each page table, and each page table is managed by the table set 143. Details of the page directory will be described later. By being initialized, MEM-P
For each of the 0 area 221 and the MEM-P area 222, each entry of the page directory has a base physical address of a page table (PT) indicated by an offset from the beginning of a page in which data is stored, a predetermined page size (for example, 4 MB), user access not possible, read / write possible, page valid, and other information are set.
【0105】カーネル及び直接マップ領域獲得部130
による処理の終了後、例えば、アプリケーション123
0のソフトウェアが起動すると、プロセス管理部200
が生成された新規プロセス(以下、例えば、プロセスA
とする)のために、プロセス用仮想アドレス空間141
に基づいて直接マップ領域へマップするためのテーブル
セット143で管理されるテーブルへのエントリを行な
う。Kernel and direct map area acquisition unit 130
After the processing by the
When the software 0 starts, the process management unit 200
A new process (hereinafter, for example, process A
Virtual address space 141 for the process
On the basis of the above, an entry is made to the table managed by the table set 143 for direct mapping to the map area.
【0106】次に、図7のプロセスの起動時に直接マッ
プ仮想メモリ領域プロセス用初期化部132によって実
行される仮想メモリ領域でのプロセス用のページディレ
クトリの初期化処理を図9で説明する。図9は、直接マ
ップ仮想メモリ領域プロセス用初期化部での処理を説明
するフローチャート図である。Next, the process of initializing the page directory for the process in the virtual memory area, which is executed by the direct map virtual memory area process initialization unit 132 when the process of FIG. 7 is started, will be described with reference to FIG. FIG. 9 is a flow chart for explaining the processing in the direct map virtual memory area process initialization unit.
【0107】図9において、直接マップ仮想メモリ領域
プロセス用初期化部132は、プロセスに対応するペー
ジディレクトリエントリを初期化し(ステップS3
1)、該プロセスを識別するローカルディスクリプタテ
ーブルを初期化する(ステップS32)。In FIG. 9, the direct map virtual memory area process initialization unit 132 initializes the page directory entry corresponding to the process (step S3).
1) Initialize a local descriptor table that identifies the process (step S32).
【0108】続けて、MEM−P領域222用のページ
ディレクトリのサイズ、ユーザアクセス可能を指定し
て、仮想メモリ領域におけるMEM−P領域用のページ
ディレクトリにページディレクトリエントリを設定する
(ステップS33)。MEM−P領域222用の各ペー
ジディレクトリエントリには、ページの物理アドレスが
設定され、これによって、高速にページをアクセスする
ことが可能となる。Then, the size of the page directory for the MEM-P area 222 and user accessibility are designated, and a page directory entry is set in the page directory for the MEM-P area in the virtual memory area (step S33). A physical address of the page is set in each page directory entry for the MEM-P area 222, which allows the page to be accessed at high speed.
【0109】更に、直接マップ仮想メモリ領域プロセス
用初期化部132は、MEM−P0領域221用のペー
ジディレクトリのサイズ、ユーザアクセス不可を指定し
て、仮想メモリ領域におけるMEM−P0領域用のペー
ジディレクトリにページディレクトリエントリを設定す
る(ステップS34)。MEM−P0領域221用の各
ページディレクトリエントリには、更に、ページを管理
するページテーブルの物理アドレスが設定される。そし
て、プロセスAのためのページディレクトリの初期化処
理を終了する。Further, the direct map virtual memory area process initialization unit 132 specifies the size of the page directory for the MEM-P0 area 221 and the user inaccessibility to specify the page directory for the MEM-P0 area in the virtual memory area. The page directory entry is set to (step S34). In each page directory entry for the MEM-P0 area 221, a physical address of a page table for managing pages is further set. Then, the initialization process of the page directory for the process A ends.
【0110】この処理によって、MEM−P0領域22
1用のページディレクトリの各ページディレクトリエン
トリには、プロセスからのアクセスは不可のままである
が、MEM−P領域222用のページディレクトリの各
ページディレクトリエントリには、プロセスからのアク
セスが可能となる。By this processing, the MEM-P0 area 22
Each page directory entry of the page directory for 1 remains inaccessible from the process, but each page directory entry of the page directory for the MEM-P area 222 can be accessed from the process. .
【0111】次に、生成されたプロセスAは、プロセス
Aでの処理に必要なデータを直接アクセスするためのM
EM−P0領域221を、システムコールによって確保
する。図10は、MEM−P0領域へのマップ処理を説
明するためのフローチャート図である。図10におい
て、例えば、プロセスAがシステムコールによってME
M−P0領域情報の取得を指示すると、システムコール
処理部240はMEM−P0領域情報取得部241を起
動する。MEM−P0領域情報取得部241は、ページ
テーブルの先頭アドレスを取得し(ステップS41)、
また、ページテーブルのサイズを取得する(ステップS
42)。Next, the generated process A uses M for directly accessing the data required for the process A.
The EM-P0 area 221 is secured by a system call. FIG. 10 is a flowchart for explaining the map processing to the MEM-P0 area. In FIG. 10, for example, the process A uses the system call
When the acquisition of the M-P0 area information is instructed, the system call processing unit 240 activates the MEM-P0 area information acquisition unit 241. The MEM-P0 area information acquisition unit 241 acquires the start address of the page table (step S41),
In addition, the size of the page table is acquired (step S
42).
【0112】続けて、サイズ分のページディレクトリエ
ントリ(PDE)を設定したか否かを判断する(ステッ
プS43)。サイズ分の設定が終了している場合、ME
M−P0領域情報取得部241での処理を終了する。一
方、サイズ分の設定が終了していない場合、更に、ペー
ジテーブルの割り当てがあるか否かを判断する(ステッ
プS44)。割り当てがある場合、ステップS46へ進
む。一方、割り当てがない場合、ページテーブルを割り
当てる(ステップS45)。Subsequently, it is determined whether or not a page directory entry (PDE) for the size has been set (step S43). If the settings for the size have been completed, ME
The processing in the M-P0 area information acquisition unit 241 ends. On the other hand, if the setting for the size has not been completed, it is further determined whether or not the page table is allocated (step S44). If there is an allocation, the process proceeds to step S46. On the other hand, if there is no allocation, the page table is allocated (step S45).
【0113】ステップS46において、MEM−P0用
メモリマップ部243はユーザアクセス可能を示すペー
ジテーブルエントリ(PTE)を設定し(ステップS4
6)、ページを確保する(ステップS47)。ページテ
ーブルエントリには、ページの先頭を示すベース物理ア
ドレス、ユーザアクセス可能、読み取り/書き込み可
能、存在済み等が設定される。この処理によって、プロ
グラムAによるMEM−P0領域221内の一部領域の
物理メモリ10のMEM−P0領域13内へのマップが
完了する。In step S46, the MEM-P0 memory map unit 243 sets a page table entry (PTE) indicating that the user is accessible (step S4).
6), secure the page (step S47). In the page table entry, a base physical address indicating the top of the page, user accessible, read / write enabled, existing, etc. are set. By this processing, the mapping of a partial area in the MEM-P0 area 221 by the program A into the MEM-P0 area 13 of the physical memory 10 is completed.
【0114】また、上記処理によって、プログラムBが
MEM−P0領域221から物理メモリ10のMEM−
P0領域13へのマップを行なうことにより、プログラ
ムBによるアクセスが可能となる。プログラムBによる
メモリマップ時に、プログラムAがマップした領域と同
一の領域(同一の物理メモリ10のMEM−P0領域1
3上の領域)をマップすることによって、プログラムA
及びプログラムBによるアクセスが可能となり、かかる
領域を共有することができる。Further, as a result of the above processing, the program B is transferred from the MEM-P0 area 221 to the MEM- of the physical memory 10.
By mapping to the P0 area 13, access by the program B becomes possible. At the time of memory mapping by the program B, the same area as the area mapped by the program A (MEM-P0 area 1 of the same physical memory 10)
Program A by mapping the area above 3)
Also, the program B can access the area, and the area can be shared.
【0115】図11は、直接マップ領域での仮想アドレ
スとテーブルとの関係を示す図である。図11(A)に
おいて、MEM−P用仮想アドレスとテーブルとの関係
が示される。MEM−P用仮想アドレス41は、ページ
ディレクトリ(PD)オフセットとページオフセットと
で構成される。FIG. 11 is a diagram showing the relationship between virtual addresses and tables in the direct map area. In FIG. 11A, the relationship between the MEM-P virtual address and the table is shown. The MEM-P virtual address 41 is composed of a page directory (PD) offset and a page offset.
【0116】MEM−P用に使用されるページディレク
トリ42において、所定長のページサイズ(例えば、4
Mバイト)にて、各ページベース物理アドレス等を示す
ページディレクトリエントリ(PDE)が管理される。
ページディレクトリエントリの位置は、ページディレク
トリ42の所定のベース物理アドレスにMEM−P用仮
想アドレス41のPDオフセットを加算することによっ
て決定される。In the page directory 42 used for MEM-P, a page size of a predetermined length (for example, 4
A page directory entry (PDE) indicating each page base physical address and the like is managed in M bytes.
The position of the page directory entry is determined by adding the PD offset of the MEM-P virtual address 41 to a predetermined base physical address of the page directory 42.
【0117】また、ページディレクトリエントリによっ
てポインタされたページ43には、実際にプロセスによ
って参照される参照データが所定ページ単位(例えば、
4Mバイト)で格納される。参照データは、ページディ
レクトリエントリに設定されているベース物理アドレス
にMEM−P用仮想アドレス41のページオフセットを
加算することによって決定される。Further, in the page 43 pointed to by the page directory entry, reference data actually referenced by the process is stored in predetermined page units (for example,
4 Mbytes). The reference data is determined by adding the page offset of the MEM-P virtual address 41 to the base physical address set in the page directory entry.
【0118】MEM−P0用仮想アドレス51は、ペー
ジディレクトリ(PD)オフセットと、ページテーブル
(PT)オフセットと、ページオフセットとで構成され
る。MEM−P0用に使用されるページディレクトリ5
2において、所定長のページサイズ(例えば、4Mバイ
ト)にて、各ページテーブル53のベース物理アドレス
等を示すページディレクトリエントリ(PDE)が管理
される。ページディレクトリエントリの位置は、ページ
ディレクトリ52の所定のベース物理アドレスにMEM
−P0用仮想アドレス51のPDオフセットを加算する
ことによって決定される。The MEM-P0 virtual address 51 is composed of a page directory (PD) offset, a page table (PT) offset, and a page offset. Page directory 5 used for MEM-P0
2, the page directory entry (PDE) indicating the base physical address and the like of each page table 53 is managed with a page size of a predetermined length (for example, 4 Mbytes). The position of the page directory entry is MEM at a predetermined base physical address of the page directory 52.
-It is determined by adding the PD offset of the virtual address 51 for P0.
【0119】ページディレクトリエントリによってポイ
ンタされたページテーブル(PT)53において、所定
ページサイズ(例えば、4Mバイト)にて、実際にプロ
セスによって参照される参照データが格納される各ペー
ジ54のベース物理アドレス等を示すページテーブルエ
ントリ(PTE)が管理される。ページテーブルエント
リの位置は、ページテーブル53の所定のベース物理ア
ドレスにMEM−P0用仮想アドレス51のPTオフセ
ットを加算することによって決定される。In the page table (PT) 53 pointed to by the page directory entry, the base physical address of each page 54 in which the reference data actually referred to by the process is stored with a predetermined page size (for example, 4 Mbytes). A page table entry (PTE) indicating the like is managed. The position of the page table entry is determined by adding the PT offset of the MEM-P0 virtual address 51 to a predetermined base physical address of the page table 53.
【0120】ページテーブルエントリによってポインタ
されたページ54には、実際にプロセスによって参照さ
れる参照データが所定ページ単位(例えば、4Kバイ
ト)で格納される。MEM−P0領域での参照データ用
のページ54の各ページサイズは、MEM−P領域での
ページ43の各ページサイズより小さい。参照データ
は、ページテーブルエントリに設定されているベース物
理アドレスにMEM−P0用仮想アドレス51のページ
オフセットを加算することによって決定される。In the page 54 pointed to by the page table entry, reference data actually referred to by the process is stored in a predetermined page unit (for example, 4 Kbytes). Each page size of the reference data page 54 in the MEM-P0 area is smaller than each page size of the page 43 in the MEM-P area. The reference data is determined by adding the page offset of the MEM-P0 virtual address 51 to the base physical address set in the page table entry.
【0121】次に、ページディレクトリエントリとペー
ジテーブルエントリについて図12で説明する。図12
(A)より、ページディレクトリエントリ(PDE)
は、32ビットのサイズで、ページテーブルのベース物
理アドレス、ページサイズ、ユーザ使用可否、読み取り
/書き込み可否、存在有無を示すフラグ等を有する。ユ
ーザ使用可否を示すフラグは、図9のステップS33に
おいて、MEM−P領域用のページディレクトリエント
リを設定する際に、ユーザ使用可に設定される。Next, the page directory entry and page table entry will be described with reference to FIG. 12
From (A), page directory entry (PDE)
Has a size of 32 bits, and has a base physical address of the page table, a page size, user availability, read / write availability, and a flag indicating presence / absence. The flag indicating the user availability is set to the user availability when the page directory entry for the MEM-P area is set in step S33 of FIG.
【0122】よって、プロセッサーからのページディレ
クトリエントリのページテーブルのベース物理アドレス
にて示される物理メモリ上の領域への直接アクセスを可
能とする。この場合ページテーブルは、実際にはデータ
が格納されるページとなる。一方、MEM−P0領域用
のページディレクトリエントリを設定する際には、図9
のステップS34において、ユーザ使用不可が設定され
る。Therefore, it is possible to directly access the area on the physical memory indicated by the base physical address of the page table of the page directory entry from the processor. In this case, the page table is actually a page in which data is stored. On the other hand, when setting the page directory entry for the MEM-P0 area, FIG.
In step S34, the user disabling is set.
【0123】図12(B)より、ページテーブルエント
リ(PTE)は、ページのベース物理アドレス、ユーザ
使用可否、読み取り/書き込み可否、存在有無を示すフ
ラグ等を有する。ページテーブルエントリは、システム
コールによって、図10のフローチャートに従い、ME
M−P0領域用に設定され、ステップS46にて、ユー
ザ使用可に設定される。As shown in FIG. 12B, the page table entry (PTE) has a base physical address of the page, user availability, read / write availability, and a flag indicating presence / absence. The page table entry is made by the system call according to the flowchart of FIG.
It is set for the M-P0 area, and is set to be usable by the user in step S46.
【0124】上記のようなページングの手法は、Int
el80x86(登録商標)に基づくものであるが、C
PU1304によって直接アクセス可能なMEM−P領
域14へのマップと、プロセスがIMH1229を介し
てシステムコールを行なうことによって、該プロセスに
よる直接マップ可能なMEM−P0領域13へのマップ
を行なえるように構成したところに特徴を有する。The paging method as described above uses Int
based on EL80x86 (registered trademark), but C
The MEM-P area 14 that can be directly accessed by the PU 1304 and the process can make a system call via the IMH 1229 so that the process can map to the MEM-P0 area 13 that can be directly mapped. However, it has a feature.
【0125】上記のようなアドレス空間及び処理によっ
て、実現されるプロセス間でのデータ共有の一例を図1
3及び図14で説明する。図13及び図14は、プロセ
ス間でデータを共有するまでの例を示す図である。An example of data sharing between processes realized by the above address space and processing is shown in FIG.
3 and FIG. FIG. 13 and FIG. 14 are diagrams showing an example up to the sharing of data between processes.
【0126】図13(A)は、プロセス起動時のプロセ
スAの仮想メモリ領域と物理メモリとの関係を示す図で
ある。図13(A)より、プロセスAの起動時は、ME
M−P領域222へのアクセスは可能となるが(図9の
ステップS31)、MEM−P0領域221へのアクセ
スはできない(図9のステップS32)。FIG. 13A is a diagram showing the relationship between the virtual memory area of process A and the physical memory when the process is started. From FIG. 13A, when the process A is started, the ME
Access to the MP region 222 is possible (step S31 in FIG. 9), but access to the MEM-P0 region 221 is not possible (step S32 in FIG. 9).
【0127】次に、プロセスAがシステムコールをし
て、MEM−P0用メモリマップ部243によって、M
EM−P0領域の一部をマップすると、例えば、図13
(B)に示すように、領域221aがプロセスAによる
アクセスが可能となる。Next, the process A makes a system call, and the MEM-P0 memory map unit 243 makes M
When a part of the EM-P0 area is mapped, for example, FIG.
As shown in (B), the area 221a can be accessed by the process A.
【0128】プロセスA動作中にプロセスBが起動する
と、プロセスAの起動時と同様に、MEM−P領域22
2へのアクセスは可能となる。更に、システムコールす
ると、MEM−P0用メモリマップ部243によって、
MEM−P0領域221の一部がマップされると、例え
ば、図14(A)に示すように、領域221bがプロセ
スBによるアクセスが可能となる。When the process B is activated during the operation of the process A, the MEM-P area 22 is activated in the same manner as when the process A is activated.
Access to 2 will be possible. Further, when a system call is made, the MEM-P0 memory map unit 243
When a part of the MEM-P0 area 221 is mapped, the area 221b can be accessed by the process B, for example, as shown in FIG.
【0129】この場合、プロセスAとプロセスBとは、
MEM−P0領域221内の別の領域をマップして使用
している。よって、プロセスAは、プロセスBがマップ
した領域221bをアクセスすることはできないし、プ
ロセスBは、プロセスAがマップした領域221aをア
クセスすることはできない。In this case, the process A and the process B are
Another area in the MEM-P0 area 221 is mapped and used. Therefore, the process A cannot access the area 221b mapped by the process B, and the process B cannot access the area 221a mapped by the process A.
【0130】更に、プロセスBがシステムコールによっ
て、プロセスAがマップした同一の領域221aをマッ
プする(図14(B))。これによって、プロセスAと
プロセスBとは、同一の物理メモリの領域をアクセスす
ることが可能となる。よって、プロセスAとプロセスB
とによる領域の共有が可能となる。Furthermore, the process B maps the same area 221a mapped by the process A by a system call (FIG. 14B). As a result, the process A and the process B can access the same area of the physical memory. Therefore, process A and process B
The area can be shared by and.
【0131】上記例では、2つのプロセス間でのメモリ
共有について例示したが、2つ以上のプロセスによって
同一領域を共有しても良い。従って、同一データをプロ
セス毎に別の仮想メモリ領域にマップすることによる領
域の無駄を削減することができ、かつ、同一データのデ
ータ転送を何度も行なう必要がない。In the above example, the memory sharing between two processes is illustrated, but the same area may be shared by two or more processes. Therefore, it is possible to reduce the waste of the area due to mapping the same data to different virtual memory areas for each process, and it is not necessary to repeatedly transfer the same data.
【0132】本実施例では、融合機1200の処理を中
心に説明したが、図1及び図2に示した情報処理装置2
000に応用が容易に可能である。情報処理装置200
0では、図7のIMH1299に代わり、アプリケーシ
ョン2210−1〜2210−n,その他のプログラム
が、プロセスの生成時などにシステムコール処理部24
0に指示を出すこととなる。In this embodiment, the processing of the compound machine 1200 has been mainly described, but the information processing apparatus 2 shown in FIGS.
000 can be easily applied. Information processing device 200
0, the application 2210-1 to 2210-n and other programs replace the IMH 1299 of FIG.
0 will be instructed.
【0133】[0133]
【発明の効果】以上、説明してきたように、請求項1乃
至5記載の本願発明によれば、プロセスは、オペレーテ
ィングシステムを介さずに、システムコールによって直
接プロセスの仮想メモリ領域からメモリ上へマップする
ことができる。また、複数のプロセスが同一領域をマッ
プすることによって、該同一領域を共有することができ
る。As described above, according to the present invention described in claims 1 to 5, the process is directly mapped from the virtual memory area of the process to the memory by the system call without using the operating system. can do. Further, a plurality of processes can share the same area by mapping the same area.
【0134】また、請求項6乃至12記載の本願発明に
よれば、オペレーティングシステムを介さずに、プロセ
ッサーによるメモリ上への直接アクセスがページディレ
クトリエントリから可能となると共に、プロセスは、シ
ステムコールすることによって、オペレーティングシス
テムを介さずに、メモリ上へのマップを行なうことがで
き、該ページテーブルエントリからメモリ上へのアクセ
スを行なうことができる。Further, according to the present invention as set forth in claims 6 to 12, direct access to the memory by the processor can be made from the page directory entry without going through the operating system, and the process can be performed by making a system call. It is possible to perform mapping on the memory without using the operating system, and to access the memory from the page table entry.
【0135】さらに、請求項13乃至16記載の本願発
明によれば、上記のような画像形成装置でのメモリマッ
プ方法を提供することができる。Further, according to the present invention as set forth in claims 13 to 16, it is possible to provide the memory mapping method in the image forming apparatus as described above.
【0136】[0136]
【図1】本発明による情報処理装置の一実施例の構成図
である。FIG. 1 is a configuration diagram of an embodiment of an information processing device according to the present invention.
【図2】本発明による情報処理装置の一実施例のハード
ウェア構成図である。FIG. 2 is a hardware configuration diagram of an embodiment of an information processing device according to the present invention.
【図3】従来のプロセスが直接仮想メモリ領域へマップ
した例を示す図である。FIG. 3 is a diagram showing an example in which a conventional process directly maps to a virtual memory area.
【図4】本発明の一実施例に係る多種の画像形成機能を
融合する融合機の機能構成を示すブロック図である。FIG. 4 is a block diagram showing a functional configuration of a compound machine that combines various image forming functions according to an embodiment of the present invention.
【図5】図2に示した融合機のハードウェア構成を示す
ブロック図である。5 is a block diagram showing a hardware configuration of the compound machine shown in FIG.
【図6】物理メモリと仮想記憶空間との対応を示す図で
ある。FIG. 6 is a diagram showing a correspondence between a physical memory and a virtual storage space.
【図7】プロセス間でのメモリ共有を実現する機能構成
図である。FIG. 7 is a functional configuration diagram for realizing memory sharing between processes.
【図8】直接マップ直接マップ領域獲得部での処理を説
明するフローチャート図である。FIG. 8 is a flowchart diagram illustrating a process in a direct map direct map area acquisition unit.
【図9】直接マップ仮想メモリ領域プロセス用初期化部
での処理を説明するフローチャート図である。FIG. 9 is a flowchart diagram illustrating a process in a direct map virtual memory area process initialization unit.
【図10】MEM−P0領域へのマップ処理を説明する
ためのフローチャート図である。FIG. 10 is a flow chart diagram for explaining the map processing to the MEM-P0 area.
【図11】直接マップ領域での仮想アドレスとテーブル
との関係を示す図である。FIG. 11 is a diagram showing a relationship between a virtual address and a table in a direct map area.
【図12】ページディレクトリエントリとページテーブ
ルエントリを説明するための図である。FIG. 12 is a diagram for explaining a page directory entry and a page table entry.
【図13】プロセス間でデータを共有するまでの例を示
す図である。FIG. 13 is a diagram illustrating an example of sharing data between processes.
【図14】プロセス間でデータを共有するまでの例を示
す図である。FIG. 14 is a diagram illustrating an example of sharing data between processes.
130 直接マップ領域獲得部、
240 システムコール処理部、
243 MEM−P0用メモリマップ部、
1200 融合機、 1210 ソフ
トウェア群、
1230 アプリケーション、 1220 プラ
ットフォーム、
1221 OS、 1222 SC
S、
1223 SRM、 1224 EC
S、
1225 MCS、 1226 OC
S、
1227 FCS、 1228 NC
S、
1229 IMH、 1231 FC
UH、
1240 融合機起動部、
1300 コントローラ、 1301 AS
IC、
1302 MEM−C、 1303 HD
D、
1304 CPU、 1305 N
B、
1306 MEM−P、 1307 S
B、
1308 AGP、
1309 ネットワークI/Fコントローラ、
1310 オペレーションパネル、
1320 ファックスコントロールユニット、
1330 USBデバイス、
1340 IEEE1394デバイス、
1350 エンジン部、 2000 情報
処理装置、
2110,2540 メモリ装置、2120,251
0 入力装置、
2130,2520 表示装置、
2230 オペレーティングシステム(OS)、
2240 BIOS、 2250 デバ
イスドライバ、
2530 補助記憶装置、 2550 演算
処理装130 Direct Map Area Acquisition Unit, 240 System Call Processing Unit, 243 MEM-P0 Memory Map Unit, 1200 Fusion Machine, 1210 Software Group, 1230 Application, 1220 Platform, 1221 OS, 1222 SC
S, 1223 SRM, 1224 EC
S, 1225 MCS, 1226 OC
S, 1227 FCS, 1228 NC
S, 1229 IMH, 1231 FC
UH, 1240 Multifunction machine starting part, 1300 controller, 1301 AS
IC, 1302 MEM-C, 1303 HD
D, 1304 CPU, 1305 N
B, 1306 MEM-P, 1307 S
B, 1308 AGP, 1309 network I / F controller, 1310 operation panel, 1320 fax control unit, 1330 USB device, 1340 IEEE 1394 device, 1350 engine part, 2000 information processing device, 2110, 2540 memory device, 2120, 251
0 input device, 2130, 2520 display device, 2230 operating system (OS), 2240 BIOS, 2250 device driver, 2530 auxiliary storage device, 2550 arithmetic processing device
Claims (16)
セスにメモリをマップする情報処理装置であって、 上記メモリ上に上記プロセスによって直接マップ可能な
直接マップ領域を獲得する領域獲得手段と、 上記プロセスが指定する上記直接マップ領域内の所定領
域を示す物理アドレスによって、該プロセスの仮想メモ
リ領域から該所定領域へ直接マップする直接マップ手段
とを有することを特徴とする情報処理装置。1. An information processing apparatus that maps a memory to a process of an application that performs information processing, and an area acquisition unit that acquires a direct map area that can be directly mapped by the process on the memory, and is designated by the process. An information processing apparatus, comprising: a direct map means for directly mapping from a virtual memory area of the process to the predetermined area by a physical address indicating a predetermined area in the direct map area.
レーティングシステムが有する上記仮想メモリ領域から
上記直接マップ領域内の上記所定領域へマップするマッ
プ処理手段を直接起動することを特徴とする情報処理装
置。2. The information processing apparatus according to claim 1, wherein the direct map means maps the virtual memory area of the operating system to the predetermined area in the direct map area by a system call. An information processing apparatus characterized by directly activating means.
ることによって行なわれることを特徴とする情報処理装
置。3. The information processing apparatus according to claim 2, wherein the system call is performed by calling a sysarch function.
報処理装置であって、 2以上の上記プロセスが同一物理アドレスを指定するこ
とによって、同一所定領域を上記プロセス間で共有する
ことを特徴とする情報処理装置。4. The information processing apparatus according to claim 1, wherein two or more processes specify the same physical address so that the same predetermined area is shared between the processes. An information processing device characterized by:
報処理装置であって、 上記プロセスは、上記物理アドレスを、上記直接マップ
領域内における上記所定領域を示すオフセット値によっ
て指定することを特徴とする情報処理装置。5. The information processing apparatus according to claim 1, wherein the process specifies the physical address by an offset value indicating the predetermined area in the direct map area. An information processing device characterized by:
セスにメモリをマップする情報処理装置であって、 上記プロセスの仮想メモリ領域から上記メモリ上へ直接
マップ可能であって、プロセッサーによる直接アクセス
を可能とする第一直接マップ領域を上記メモリ上に獲得
する第一マップ領域獲得手段と、 上記第一マップ領域獲得手段によって獲得した上記第一
直接マップ領域の所定第一領域を示す物理アドレスをペ
ージディレクトリエントリに設定することによって、上
記プロセスの仮想メモリ領域から該所定第一領域へ直接
マップする第一マップ手段とを有することを特徴とする
情報処理装置。6. An information processing apparatus for mapping a memory to a process of an application for performing information processing, wherein the virtual memory area of the process can be directly mapped onto the memory, and direct access by a processor is possible. First map area acquisition means for acquiring one direct map area on the memory, and a physical address indicating a predetermined first area of the first direct map area acquired by the first map area acquisition means is set in the page directory entry. By so doing, there is provided a first map means for directly mapping from the virtual memory area of the process to the predetermined first area, the information processing apparatus.
モリ上への直接マップを可能とする第二マップ領域を上
記メモリ上に獲得する第二マップ領域獲得手段と、 上記プロセスによるシステムコールによって、上記第二
マップ領域獲得手段によって獲得した上記第二直接マッ
プ領域の所定第二領域を示す物理アドレスをページテー
ブルエントリに設定することによって、該プロセスの仮
想メモリ領域から該所定第二領域へ直接マップする第二
マップ手段とを有することを特徴とする情報処理装置。7. The information processing apparatus according to claim 6, wherein the process acquires a second map area on the memory that enables direct mapping from the virtual memory area of the process onto the memory. By setting the physical address indicating the predetermined second area of the second direct map area acquired by the second map area acquiring means by the second map area acquiring means and the system call by the above process in the page table entry, An information processing apparatus comprising: a second map means for directly mapping from a virtual memory area of a process to the predetermined second area.
レーティングシステムが有する上記プロセスの仮想メモ
リ領域から上記第二直接マップ領域の所定第二領域へマ
ップするマップ処理手段を直接起動することを特徴とす
る情報処理装置。8. The information processing device according to claim 7, wherein the second map means is a predetermined second area of the second direct map area from a virtual memory area of the process included in an operating system by a system call. An information processing apparatus characterized by directly activating map processing means for mapping to.
報処理装置であって、 上記第一マップ手段は、上記プロセスに対して、上記第
一マップ領域を、第一所定ページ長単位で、該プロセス
の仮想メモリ領域からマップし、 上記第二マップ手段は、上記プロセスに対して、上記第
二マップ領域を、第二所定ページ長単位で、該プロセス
の仮想メモリ領域からマップすることを特徴とする情報
処理装置。9. The information processing apparatus according to claim 6, wherein the first map means sets the first map area to a unit of a first predetermined page length for the process. Then, the second map means maps the second map area to the process in units of a second predetermined page length from the virtual memory area of the process. An information processing device characterized by:
て、 上記第一所定ページ長単位は、上記第二所定ページ長単
位より大きいことを特徴とする情報処理装置。10. The information processing apparatus according to claim 9, wherein the first predetermined page length unit is larger than the second predetermined page length unit.
て、 オペレーティングシステム起動時に、上記第一所定ペー
ジ長単位をサポートしているか否かを判断するページ単
位判断手段を有し、 上記ページ単位判断手段による判断結果に基づいて、上
記第一マップ領域獲得手段と、上記第一マップ手段と、
上記第二マップ領域獲得手段と、上記第二マップ手段と
を有効とする情報処理装置。11. The information processing apparatus according to claim 9, further comprising page unit determination means for determining whether or not the first predetermined page length unit is supported when the operating system is activated, the page unit Based on the determination result by the determination means, the first map area acquisition means, the first map means,
An information processing device which enables the second map area acquisition means and the second map means.
の情報処理装置であって、 上記メモリは、描画用として使用されることを特徴とす
る情報処理装置。12. The information processing apparatus according to claim 6, wherein the memory is used for drawing.
ロセスにメモリをマップするメモリマップ方法であっ
て、 上記プロセスの仮想メモリ領域から上記メモリ上へ直接
マップ可能であって、プロセッサーによる直接アクセス
を可能とする第一直接マップ領域を上記メモリ上に獲得
する第一マップ領域獲得手順と、 上記第一マップ領域獲得手段によって獲得した上記第一
直接マップ領域の所定第一領域を示す物理アドレスをペ
ージディレクトリエントリに設定することによって、上
記プロセスの仮想メモリ領域から該所定第一領域へ直接
マップする第一マップ手順とを有することを特徴とする
メモリマップ方法。13. A memory mapping method for mapping a memory to a process of an application for performing information processing, the method being capable of directly mapping from a virtual memory area of the process onto the memory and enabling direct access by a processor. A first map area acquisition procedure for acquiring one direct map area on the memory, and a physical address indicating a predetermined first area of the first direct map area acquired by the first map area acquisition means is set in the page directory entry. And a first mapping procedure for directly mapping from the virtual memory area of the process to the predetermined first area.
あって、 上記第一マップ手順は、上記ページディレクトリエント
リにユーザ使用可を示すフラグを設定することを特徴と
するメモリマップ方法。14. The memory mapping method according to claim 13, wherein the first mapping step sets a flag indicating that the page directory entry can be used by a user.
あって、 上記プロセスが該プロセスの仮想メモリ領域から上記メ
モリ上への直接マップを可能とする第二マップ領域を上
記メモリ上に獲得する第二マップ領域獲得手順と、 上記プロセスによるシステムコールによって、上記第二
マップ領域獲得手順によって獲得した上記第二直接マッ
プ領域の所定第二領域を示す物理アドレスをページテー
ブルエントリに設定することによって、該プロセスの仮
想メモリ領域から該所定第二領域へ直接マップする第二
マップ手順とを有することを特徴とするメモリマップ方
法。15. The memory mapping method according to claim 13, wherein the process acquires a second map area on the memory, which enables direct mapping from the virtual memory area of the process onto the memory. By setting the physical address indicating the predetermined second area of the second direct map area acquired by the second map area acquisition procedure by the second map area acquisition procedure and the system call by the above process in the page table entry, A second mapping procedure for directly mapping from the virtual memory area of the process to the predetermined second area.
あって、 上記第二マップ手順は、上記ページテーブルエントにユ
ーザ使用可を示すフラグを設定することを特徴とするメ
モリマップ方法。16. The memory mapping method according to claim 15, wherein in the second mapping step, a flag indicating that the user can use the page table entry is set.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003044588A JP4128468B2 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory map method |
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 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory map method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003316588A true JP2003316588A (en) | 2003-11-07 |
JP4128468B2 JP4128468B2 (en) | 2008-07-30 |
Family
ID=29551940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003044588A Expired - Fee Related JP4128468B2 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory map method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4128468B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342353C (en) * | 2006-04-07 | 2007-10-10 | 浙江大学 | Process mapping realization method in embedded type operation system |
JP2014164358A (en) * | 2013-02-21 | 2014-09-08 | Kyocera Document Solutions Inc | Image processor |
JP2016124240A (en) * | 2015-01-06 | 2016-07-11 | 京セラドキュメントソリューションズ株式会社 | Electronic equipment and information management program |
US10013427B2 (en) | 2014-03-17 | 2018-07-03 | Kyocera Document Solutions Inc. | Electronic device and recording medium storing data management program that conceal data corresponding to type of processes |
-
2003
- 2003-02-21 JP JP2003044588A patent/JP4128468B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342353C (en) * | 2006-04-07 | 2007-10-10 | 浙江大学 | Process mapping realization method in embedded type operation system |
JP2014164358A (en) * | 2013-02-21 | 2014-09-08 | Kyocera Document Solutions Inc | Image processor |
US10013427B2 (en) | 2014-03-17 | 2018-07-03 | Kyocera Document Solutions Inc. | Electronic device and recording medium storing data management program that conceal data corresponding to type of processes |
JP2016124240A (en) * | 2015-01-06 | 2016-07-11 | 京セラドキュメントソリューションズ株式会社 | Electronic equipment and information management program |
US9674381B2 (en) | 2015-01-06 | 2017-06-06 | Kyocera Document Solutions Inc. | Electronic device including a job information generating device and access managing device, information management method to enable the electronic device to function, and a non-transitory computer-readable storage medium to store a program for the information management method |
Also Published As
Publication number | Publication date |
---|---|
JP4128468B2 (en) | 2008-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3679349B2 (en) | Image forming apparatus, image forming method, image forming program, and application program | |
US7633639B2 (en) | Compound machine for scanning and printing and a method thereof | |
JP2002082806A (en) | Device and method for forming image and program | |
JP6066006B2 (en) | Image forming apparatus | |
JP4101004B2 (en) | Image forming apparatus | |
EP1308793B1 (en) | Image forming device having a memory assignment unit | |
JP4263919B2 (en) | Image forming apparatus and memory management method | |
JP4001531B2 (en) | Image forming apparatus | |
JP2003316588A (en) | Information processor and memory mapping method | |
JP4136397B2 (en) | Image forming apparatus and memory management method | |
JP4394387B2 (en) | Image processing apparatus and memory disk management method | |
JP4128467B2 (en) | Image forming apparatus and memory map method | |
JP3910993B2 (en) | Image forming apparatus, image forming method, and image forming program | |
JP4263920B2 (en) | Information processing apparatus and memory management method | |
JP3910992B2 (en) | Image forming apparatus, image forming method, and image forming program | |
JP3865242B2 (en) | User information management method and information processing apparatus | |
JP2009070208A (en) | Image processing unit and memory allocation method | |
JP2004066809A (en) | Image forming apparatus, and method of booting program | |
JP3857654B2 (en) | Image forming apparatus, user information management method, user information management program, and recording medium | |
JP2004272460A (en) | Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program | |
JP5063718B2 (en) | Image forming apparatus and network system |
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 |