(57)【特許請求の範囲】
【請求項１】
第１のアプリケーション及び第２のアプリケーションと通信するオペレーティングシステムを利用したコンピュータ具現方法であって、
前記第１のアプリケーションから第１の物理的アドレスを受信する段階と、
前記第２のアプリケーションが、アプリケーションのオフセットを用いて前記第１のアプリケーションと通信する段階と、
データ伝達を実現するために前記第１の物理的アドレスに基づいてオペレーティングシステムレベルの仮想アドレスを決定する段階と、を含み、
前記第１のアプリケーションは、第１のページテーブル有し、前記第１のページテーブルを使用して前記第１のアプリケーションの仮想ページをメモリの物理的ページにマッピングし、前記第１のアプリケーションに対応する前記第１の物理的アドレスを決定するために第１の物理的ページフレームナンバー及び第１のオフセットを使用することによって、前記第１の物理的アドレスは決定され、
前記アプリケーションのオフセットは、前記第２のアプリケーションに対応する第２の物理的アドレスを決定するために前記第１の物理的アドレスに適用され、
前記オペレーティングシステムレベルの仮想アドレスは、前記第１の物理的アドレスのみに基づいたカーネル変換テーブルによって決定され、前記オペレーティングシステムは、前記第１の物理的アドレスのみを介して前記第１のアプリケーション及び前記第２のアプリケーションと通信することを特徴とする方法。
【請求項２】
前記第１のアプリケーション又は前記第２のアプリケーションが使用者入力を受信する前にメモリの割当を遂行し、前記第１のアプリケーション及び前記第２のアプリケーションと前記割当を共有する段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記オペレーティングシステム内に多数のモジュールがあり、前記モジュールの各々は、自分のオペレーティングシステムレベルの仮想メモリを有し、
前記モジュールの全てが前記第１の物理的アドレスを使用して前記第１のアプリケーションと直接通信することを許容する段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
バッファを利用して互いに通信する単一ノードの第１のアプリケーション、第２のアプリケーション、オペレーティングシステム、及びハードウェアを利用したコンピュータ具現方法であって、
前記第１のアプリケーションが、第１のアプリケーションレベルの仮想アドレスを前記第１のアプリケーションに対応する第１の物理的アドレスに変換し、前記オペレーティングシステムに前記第１の物理的アドレスを通信する段階と、
前記第２のアプリケーションに対応する第２の物理的アドレスを決定するために、前記第１の物理的アドレスに適用されるアプリケーションのオフセットを用いて前記第１のアプリケーションと前記第２のアプリケーションとが互いに通信する段階と、
前記オペレーティングシステムが、前記第１の物理的アドレスを使用してオペレーティングシステムレベルの仮想アドレスを決定する段階と、を含み、
前記オペレーティングシステムレベルの仮想アドレスは、前記第１の物理的アドレスのみに基づいたカーネル変換テーブルによって決定され、前記オペレーティングシステムは、前記第１の物理的アドレスのみを介して前記第１のアプリケーション及び前記第２のアプリケーションと通信することを特徴とする方法。
【請求項５】
前記第１のアプリケーションは、前記オペレーティングシステムの介入無しでハードウェアのオフセットを使用して計算された直接メモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ、以下、ＤＭＡ）アドレスを使用して、前記ハードウェアと通信することを特徴とする請求項４に記載の方法。
【請求項６】
前記オペレーティングシステムは、メモリバッファを事前割当し、使用者入力を受信する前に、物理的アドレスをアプリケーションにマッピングする方法を提供することを特徴とする請求項４に記載の方法。
【請求項７】
前記第１のアプリケーションは、前記第１のアプリケーション、前記第２のアプリケーション、前記オペレーティングシステム、及び前記ハードウェアの間で前記バッファを使用してデータを伝達する前に、前記第１の物理的アドレス及びメモリのＤＭＡアドレスを獲得することを特徴とする請求項４に記載の方法。
【請求項８】
前記オペレーティングシステム内に複数のモジュールがあり、前記複数のモジュールの各々は、前記第１のアプリケーションと直接通信し、前記第１の物理的アドレスを利用して自分のオペレーティングシステムレベルの仮想アドレスを決定することを特徴とする請求項４に記載の方法。
【請求項９】
データ伝達を制御する装置であって、
第１のアプリケーションが、第１のアプリケーションレベルの仮想アドレスを前記第１のアプリケーションに対応する第１の物理的アドレスに変換し、オペレーティングシステムに前記第１の物理的アドレスを通信することを許容し、第２のアプリケーションが、アプリケーションのオフセットを用いて前記第１のアプリケーションと通信することを許容するメモリマッパーを備え、
前記アプリケーションのオフセットは、前記第２のアプリケーションに対応する第２の物理的アドレスを決定するために、前記第１の物理的アドレスに適用され、
カーネル変換テーブルは、前記第１の物理的アドレスのみに基づいたオペレーティングシステムレベルの仮想アドレスを決定するために使用され、
前記オペレーティングシステムは、前記第１の物理的アドレスのみを介して前記第１のアプリケーション及び前記第２のアプリケーションと通信することを特徴とする装置。
【請求項１０】
前記メモリマッパーは、前記第１のアプリケーションがＤＭＡアドレス及びハードウェアのオフセットを使用して、ハードウェアと直接通信することを許容することを特徴とする請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にメモリバッファに係り、具体的にはメモリの事前割当と関連されたバッファマッピング方式に係る。
【背景技術】
【０００２】
ＵＮＩＸ（登録商標）基盤のストレージ／サーバーシステム内には各々が特定作業を遂行する多様なアプリケーション及び装置ドライバがある。アプリケーション、オペレーティングシステム／カーネル（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ（ＯＳ）／ｋｅｒｎｅｌ）、及びハードウェアは、効果的に通信するために、しばしばメモリバッファに順にアクセス（ｐａｓｓ＿ａｒｏｕｎｄ）する。通常、このような通信をする間に、アプリケーションはそのアプリケーションレベル仮想アドレス（ａｐｐｌｉｃａｔｉｏｎ−ｌｅｖｅｌ  ｖｉｒｔｕａｌ  ａｄｄｒｅｓｓ）をオペレーティングシステム／カーネルに伝達する。メモリバッファはアプリケーションレベル仮想アドレスを使用してドライバを呼出し、ドライバはアプリケーションレベル仮想アドレスをオペレーティングシステム／カーネルレベル仮想アドレス（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ／ｋｅｒｎｅｌ−ｌｅｖｅｌ  ｖｉｒｔｕａｌ  ａｄｄｒｅｓｓ）にマッピング（ｍａｐｐｉｎｇ）する。
【０００３】
このような変換を容易にするために、仮想及び物理的メモリはページと称される扱い易いサイズのチャンク（ｃｈｕｎｋ）に分割される。このページドモデル（ｐａｇｅｄ  ｍｏｄｅｌ）において、仮想アドレスはオフセット（ｏｆｆｓｅｔ）及び仮想ページフレームナンバー（ｖｉｒｔｕａｌ  ｐａｇｅ  ｆｒａｍｅ  ｎｕｍｂｅｒ）から構成される。プロセッサが仮想アドレスに出会う毎に、プロセッサは仮想アドレスからオフセット及び仮想ページフレームナンバーを抽出する。プロセッサはその後、仮想ページフレームナンバーを物理的ページフレームナンバーに変換してその物理的ページ内の正しいオフセットの位置にアクセスする。
【０００４】
仮想アドレスを物理的アドレスに変換するために、プロセッサは第１に仮想アドレスページフレームナンバーとその仮想ページ内のオフセットを算出する。プロセッサは仮想ページフレームナンバーをプロセスページテーブルへのインデックスとして使用してそのページテーブルエントリを検索する。そのオフセットにおけるページテーブルエントリが有効であれば、プロセッサはこのエントリから物理的ページフレームナンバーを持って来る。プロセッサが仮想ページフレームナンバーを物理的フレームナンバーに変換するのに使用するテーブルはページテーブル（ｐａｇｅ  ｔａｂｌｅ）と称される。
【０００５】
仮想アドレスはオフセットを仮想ページナンバーに加算することによって計算される。保護機能を強化するために、使用者領域（空間、スペース）アプリケーション及びカーネルのために別途分離されたページテーブルがある。使用者領域仮想アドレスにアクセスするために、カーネルレベルソフトウェアは使用者領域アドレスをカーネルアドレス領域にマッピングする。このプロセスは使用者領域アドレスのためにカーネルページテーブルエントリを生成することを含む。
【０００６】
ハードウェアに対しては、オペレーティングシステム／カーネルとハードウェアとの間のコネクションは、直接メモリアクセス（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ、以下、ＤＭＡ）として発生する。ＤＭＡを使用して、ハードウェア装置はＣＰＵが介入しなくとも、コンピュータのメーンメモリから、又はコンピュータのメーンメモリへ、データを伝達できる。ＤＭＡが作動するために、メモリバッファはハードウェア装置に認識されるアドレス範囲に頻繁にマッピングされる。このアドレス範囲はＩＯ仮想アドレスと称される。このマッピングはアーキテクチャにも依存するが、ＩＯ仮想アドレスとコンピュータメーンメモリの物理的アドレスとの間の変換を設定（ｓｅｔ＿ｕｐ）することを含む。一般的に、これは入出力メモリ管理装置（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＩＯＭＭＵ）ハードウェアを使用して発生する。幾つかのアーキテクチャにおいて、ＩＯ仮想アドレスはコンピュータメーンメモリの物理的アドレスと同一である。
【０００７】
上述したマッピング方式は、ページテーブルエントリを設定することによってアプリケーションレベル仮想アドレスをオペレーティングシステムレベル仮想アドレスに最初に変換することを要求するので、オペレーティングシステム／カーネルに重い負担を与える。同様に、ＤＭＡマッピングはすべてのＤＭＡ伝送のためにその都度設定されなければならない。そこで、ＯＳ、アプリケーション、及びハードウェア間の通信がさらに効率的にできる方法が要求される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第８，９０９，７２７号公報
【特許文献２】米国特許第６，４０５，２３７号公報
【特許文献３】米国特許第８，５０４，７４４号公報
【特許文献４】米国特許第８，１６６，１９４号公報
【特許文献５】米国特許第７，５９０，７７７号公報
【特許文献６】米国特許第８，８６８，８６７号公報
【特許文献７】米国特許第９，０９２，４２６号公報
【特許文献８】米国特許公開第２００７／０２５５８６６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の要求に応じるためになされた本発明は、アプリケーションレベル仮想アドレスをオペレーティングシステムレベル仮想アドレスに最初に変換する必要が無く、オペレーティングシステム／カーネルに重い負担を与えない、同様に、すべてのＤＭＡ伝送のためにＤＭＡマッピングをその都度設定する必要が無い、ような、アプリケーション、オペレーティングシステム、及びハードウェア間の効率的な通信を可能にするコンピュータ具現方法を提供する。
【課題を解決するための手段】
【００１０】
本発明の一実施形態による発明の概念は、オペレーティングシステムがアプリケーションと通信するために利用するコンピュータ具現方法に係る。この方法では、オペレーティングシステムがアプリケーションから直接物理的アドレスを受信し、データ伝達を実現するためにメモリの物理的アドレスに基づいてオペレーティングシステムレベル仮想アドレスを決定する。
【００１１】
本発明の他の一実施形態による発明の概念は、アプリケーション、オペレーティングシステム、及びハードウェアが、バッファを利用して互いに単一ノードにおいて通信するために利用するコンピュータ具現方法に係る。この方法では、アプリケーションが、アプリケーションレベル仮想アドレスを物理的アドレスに変換し、その物理的アドレスをオペレーティングシステムに対して通信する。そうすると、オペレーティングシステムは、その物理的アドレスを使用してオペレーティングシステムレベル仮想アドレスを決定する。
【００１２】
本発明のその他の一実施形態による発明の概念は、データ伝達制御装置に係り、前記装置は、アプリケーションが自分のアプリケーションレベル仮想アドレスを物理的アドレスに変換し、その物理的アドレスをオペレーティングシステムに通信することを可能にするメモリマッパーを含む。
【発明の効果】
【００１３】
本発明の実施形態によれば、オペレーティングシステムがアプリケーションから直接物理的アドレスを受信し、データ伝達を実現するためにメモリの物理的アドレスに基づいてオペレーティングシステムレベル仮想アドレスを決定するので、例えば、アプリケーションは単純にオフセットをバッファの開始点のＤＭＡアドレスに加算してオフセットのＤＭＡアドレスを決定できる。このように、アプリケーションレベル仮想アドレスをオペレーティングシステムレベル仮想アドレスに最初に変換する必要が無く、オペレーティングシステム／カーネルに重い負担を与えない、同様に、すべてのＤＭＡ伝達のためにＤＭＡマッピングをその都度設定する必要が無い。よって、アプリケーションはカーネルの介入無しでバッファアドレスをハードウェア装置に直接伝達でき、アプリケーション、オペレーティングシステム、及びハードウェア間の効率的な通信が可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る１つの可能な環境を提供する、単一ノードにおける使用者領域、カーネル領域、及びハードウェアを概念的に示した図である。
【図２】本発明の一実施形態に係るアプリケーション、オペレーティングシステム、及びハードウェアの間の通信方法を示した概略図である。
【図３】本発明の一実施形態に係る使用者領域における多様なアプリケーション、及び同一の物理的アドレスをポインティングし、バッファ共有を可能にするカーネル内の相異なる仮想アドレスを示した概略図である。
【図４】本発明の一実施形態に係るアプリケーション、オペレーティングシステム、及びハードウェアの間の通信方法を示した概略図である。
【発明を実施するための形態】
【００１５】
本発明に係るシステムでは、オペレーティングシステムが、メモリバッファが通過される毎にカーネルレベルページテーブル基盤の変換を設定する必要がない。本開示では、アプリケーションは物理的アドレスをカーネルに伝達する。本発明の一実施形態によれば、カーネルはこのようなバッファのために要求されるマッピングを有している。従って、カーネルは仮想アドレスを計算でき、その度にマッピング動作を遂行しなくともよい。すべてのカーネルモジュールが同一の仮想アドレス領域を共有するので、どのオペレーティングシステムモジュール（メモリに割当されたオペレーティングシステムモジュールのみならず）も、物理的アドレスを使用して仮想アドレスを獲得し、バッファ上で動作できる。
【００１６】
相異なるアプリケーションの間で、通信がバッファオフセットを使用して発生する。アプリケーションは仮想アドレスを使用してバッファ上で動作する。アプリケーションは、単純にオフセットをバッファの開始点の仮想アドレスに加算して自分の仮想アドレスを計算できる。
【００１７】
アプリケーションは、単純にオフセットをバッファの開始点のＤＭＡアドレスに加算してオフセットのＤＭＡアドレスを決定できる。アプリケーションはカーネル介入無しでバッファアドレスをハードウェア装置に直接伝達できる。
【００１８】
本開示は単一ノードの状況に対して開示しているが、本発明はこれに制限されない。
【００１９】
図１は本発明の一実施形態に係る１つの可能な環境を提供する、単一ノード（ｓｉｎｇｌｅ  ｎｏｄｅ）における使用者領域（ｕｓｅｒ  ｓｐａｃｅ）、カーネル領域（ｋｅｒｎｅｌ  ｓｐａｃｅ）、及びハードウェアを概念的に示す。図示されたように、使用者領域を形成するアプリケーション１００、オペレーティングシステム／カーネル２００、及びハードウェア３００は互いに通信して、使用者の要請を受信し、実行する。ハードウェア３００は多様な装置、中央処理装置、及びシステムメモリを含む。
オペレーティングシステム２００は、使用者領域を形成するアプリケーション１００及びハードウェア３００の間のインターフェイスを担い、且つ、中でもアプリケーション１００にシステムメモリへのアクセスを可能にする。装置ドライバは一般的にオペレーティングシステム２００の一部である。メモリマッパーはイメージ及びデータファイルを使用者領域のアプリケーション内にマッピングする。メモリマッピングにおいて、ファイルのコンテンツは仮想アドレスと連結（ｌｉｎｋ）される。
【００２０】
図２は本発明の一実施形態に係るアプリケーション、オペレーティングシステム、及びハードウェアの間の通信方法を示した概略図である。アプリケーション１００に関しては、２つのアプリケーション、アプリケーションＸ及びアプリケーションＹが例示される。２つのアプリケーションの各々は自分の仮想アドレスのセットと共に自分の仮想メモリＶＭを有し、これは図２のＶＭ−Ｘ及びＶＭ−Ｙで示されている。
また、各アプリケーションは自分の各々の仮想ページをメモリの物理的ページにマッピングする自分のページテーブル１１０を有する。例えば、図示されたように、アプリケーションＸの仮想ページフレームナンバー０（ＶＰＦＮ０）は物理的ページフレームナンバー１（ＰＦＮ１）のメモリにマッピングされ、アプリケーションＹの仮想ページフレームナンバー１（ＶＰＦＮ１）は物理的ページフレームナンバー４（ＰＦＮ４）のメモリにマッピングされる。
【００２１】
ページテーブル１１０は仮想ページフレームナンバーをオフセットとして使用してアクセスされる。仮想アドレスを物理的アドレスに変換するために、仮想アドレスページフレームナンバー及びその仮想ページ内のオフセットが先に決定される。仮に仮想メモリアドレスが有効であり、テーブルエントリが有効であれば、プロセッサは物理的ページフレームナンバーを取り上げ、これにページサイズを乗じて、物理的メモリのページのベース（ｂａｓｅ）アドレスを獲得する。その後、オフセットが加えられる。
【００２２】
例えば、図２に示されたように、ページサイズが０ｘ２０００であると仮定する。ＶＭ−Ｙの０ｘ２１９４のアドレスに対して、プロセッサは前記アドレスを仮想ページフレームナンバー１内の０ｘ１９４のオフセットに変換する。この仮想ページフレームナンバー１は物理的ページフレームナンバー４にマッピングされ、これは０ｘ８０００（４ｘ２０００）から開始する。０ｘ１９４のオフセットを物理的ページフレームナンバーに加えて、最終物理的アドレス０ｘ８１９４を生成する。
従来のアプリケーションは仮想アドレスと仮想アドレスのベースアドレスに対するオフセットと、のみを使用して互いに通信するが、本システムは、アプリケーションが物理的アドレスを使用してカーネルと通信できるようにする。図示されたように、カーネル変換テーブル２１０は物理的アドレスをオペレーティングシステムレベル仮想アドレスに変換するのに使用される。カーネル変換テーブル２１０は物理的アドレスの仮想アドレスへの変換を可能にし、各オペレーティングシステムに特有（ＯＳ−ｓｐｅｃｉｆｉｃ）であり得る。
【００２３】
本発明の一実施形態によれば、メモリは、アプリケーション１００と事前割当（Ｐｒｅ−ａｌｌｏｃａｔｉｏｎ）及び共有され、従って、アプリケーション１００及びオペレーティングシステム２００は共に物理的アドレステーブルにアクセスできる。ここで使用された“事前割当（Ｐｒｅ−ａｌｌｏｃａｔｉｏｎ）”は、アプリケーション／カーネル／ハードウェアの各ドメイン間のデータを伝達するためにバッファが使用される前に割当されることを意味する。また、オペレーティングシステム２００内の相異なるモジュールは、すべてのモジュールが同一の仮想アドレス領域を共有する場合、物理的アドレスを自分のオペレーティングシステムレベル仮想アドレスに変換する。
各オペレーティングシステムが物理的アドレスを仮想アドレスに変換するのに使用する方法は、各オペレーティングシステムのアーキテクチャに依存する。例えば、リナックス（登録商標）オペレーティングシステムは、アドレスの或る特定範囲に対する単純な算術演算を使用して物理的アドレスを仮想アドレスに変換する。リナックス（登録商標）で具現される場合、本システムの事前割当されたバッファは、物理的アドレスに到達するために単純な算術が使用されたこのようなアドレス範囲に属する。一部の他のオペレーティングシステムは相異なるメカニズムを通じてこの作業を遂行される。
【００２４】
この場合アプリケーションは、オフセットのＤＭＡアドレスを単純にバッファの開始点のＤＭＡアドレスにオフセットを加えて計算できる。このように、アプリケーションはオペレーティングシステム２００の介入無しでハードウェア３００装置にバッファアドレスを直接伝達できる。
【００２５】
図３は本発明の一実施形態に係る、使用者領域における多重アプリケーション、及び、同一の物理的アドレスをポインティングし、バッファ共有を可能にするカーネル内の相異なる仮想アドレスを示した概略図である。図３ではアプリケーション使用者領域１００のアプリケーションＸ及びアプリケーションＹが例示されている。アプリケーションＸにおいて“バッファ−１”とラベルされたデータはアプリケーションＸのアドレス領域０ｘ３０００に格納される。このデータは、例えば図２に示されたプロセスを使用してカーネルアドレス領域０ｘ５０００に変換される。
同一のデータ（バッファ−１）は、アプリケーションＹのアドレス領域アドレス０ｘ１０００のデータに対応するが、２つのアプリケーションＸ及びＹは物理的アドレスを使用して同一のデータを指し示すことができる。“バッファ−２”とラベルされたデータはアプリケーションＹの仮想アドレス０ｘ４０００に格納され、これはカーネルアドレス領域０ｘ７０００に対応する。カーネルモジュールが同一の仮想アドレス領域を共有するという事実のため、如何なるオペレーティングシステムモジュールも図３に示されたカーネルアドレスを使用して仮想アドレスを得る。
【００２６】
図４は本発明の一実施形態に係るアプリケーション、オペレーティングシステム、及びハードウェアの間の通信方法を示した概略図である。具体的には、図４の実施形態は使用者領域（アプリケーション１００）のアプリケーション−１（１０２）及びアプリケーション−２（１０４）がオフセット１０６を使用して互いに通信し、アプリケーション−２（１０４）は物理的アドレス２０４を使用してカーネルモジュール２０２と通信することを示す。アプリケーション（例えば、アプリケーション−２（１０４））はオフセットを利用して生成されたＤＭＡアドレスを使用してハードウェア装置３０２と直接的に通信できる。
【００２７】
本発明の一実施形態によれば本システムは、機械によって実行可能な少なくとも１つのコードセクションを有するコンピュータプログラムが格納されたコンピュータ読出し可能な格納媒体を含み、これによって上述したような段階を機械に遂行させる。
【００２８】
本発明の一実施形態によれば、本システムはハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアの組合せにより具現できる。本開示は単１のコンピュータシステムを含む単一ノード具現に中心に説明しているが、これは互いに異なる要素が複数個の相互連結されたコンピュータシステムに亘って散在している分散方式において使用するよう適応できよう。任意の種類のコンピュータシステム又は装置は、本願に記載された方法を遂行するように適応するのに適合できる。典型的なハードウェアとソフトウェアの組合せは、ローディングされて実行される時、ここに記述された方法を遂行するようにコンピュータシステムを制御するコンピュータプログラムを有する汎用コンピュータシステムである。
【００２９】
本システムは、上述した方法の具現を可能にするすべての機能を含み、且つコンピュータシステムにローディングされる時、この方法を遂行できる、コンピュータプログラム製品に組込み可能である。本文脈で“コンピュータプログラム”とは、情報処理能力を有するシステムが特定の機能を、（ａ）直接遂行するように意図された、若しくは、（ｂ）１）別の言語、コード、又は表記法に変換、２）相異なる材質形態に再生、の中でいずれか１つ、或いは双方を行った後に遂行するように意図された命令のセットの、何らかの言語、コード、又は表記法による何らかの表現を意味する。
【００３０】
本発明が特定な実施形態を参照して説明されたが、当業者ならば本発明の範囲を逸脱しない範囲内で多様な変更をなし、等価物で置換できることがを理解できよう。また、本発明の範囲を逸脱せずに本発明の教示に特定状況又は特定材料を適応させる多くの変形が可能であろう。従って、本発明の開示は、本開示が開示された特定実施形態に限定されず、本発明が添付された請求の範囲内に属するすべての実施形態を含むことを意図している。
【符号の説明】
【００３１】
１００      アプリケーション
１０２      アプリケーション−１
１０４      アプリケーション−２
１０６      オフセット
１１０      ページテーブル
２００      オペレーティングシステム
２０２      カーネルモジュール
２０４      物理的アドレス
２１０      カーネル変換テーブル
３００      ハードウェア
３０２      ハードウェア装置
ＰＦＮｎ      物理的ページレームナンバーｎ
ＶＭ      仮想メモリ
ＶＭ−Ｘ、ＶＭ−Ｙ      仮想メモリ−Ｘ、仮想メモリ−Ｙ
ＶＰＦＮｎ      仮想ページフレームナンバーｎ
【図１】
0006757289.tif 000002
【図２】
0006757289.tif 000003
【図３】
0006757289.tif 000004
【図４】
0006757289.tif 000005