(57)【要約】【課題】  埋め込み型システムのためのデマンドページング装置及び方法を提供する。【解決手段】  デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、要請されたページについての情報を不揮発性保存装置から読み取って処理する物理メモリと、不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、ページのフォルトを発生させてデマンドページングが行われるデマンドページングウィンドウと、デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える埋め込み型システムのためのデマンドページング装置。これにより、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる。【選択図】  図２
2007179537.tif 000002
【特許請求の範囲】
【請求項１】
デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、
要請されたページについての情報を前記不揮発性保存装置から読み取って処理する物理メモリと、
前記不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、前記ページのフォルトを発生させてデマンドページングが行われるようにするデマンドページングウィンドウと、
前記デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える埋め込み型システムのためのデマンドページング装置。
【請求項２】
前記デマンドページング管理者は、前記物理メモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプールを生成する請求項１に記載の埋め込み型システムのためのデマンドページング装置。
【請求項３】
前記デマンドページングメモリプールは、
前記デマンドページングウィンドウ内の仮想メモリ空間にマッピングされるフレームバッファと、
前記マッピングに関する情報をメモリ管理装置に知らせるメモリ変換テーブルと、
前記フレームバッファを管理する資料構造であるフレームバッファリストと、を含む請求項２に記載の埋め込み型システムのためのデマンドページング装置。
【請求項４】
前記デマンドページング管理者は、
前記デマンドページング管理者を初期化して前記メモリ管理装置を活性化させるインターフェースモジュールと、
前記インターフェースモジュールの要請に応じて前記フレームバッファと前記フレームバッファリストとを初期化するページキャッシュ管理モジュールと、
前記活性化されたメモリ管理装置により発生したページフォルトが前記デマンドページングウィンドウ領域で発生したかどうかを判断することによって前記ページフォルトを処理するページフォルト処理モジュールと、を備える請求項３に記載の埋め込み型システムのためのデマンドページング装置。
【請求項５】
前記インターフェースモジュールは、
前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるアプリケーションプログラムインターフェースと、
前記デマンドページングメモリプールからメモリを割り当てられて前記デマンドページングウィンドウの領域に対するメモリ変換テーブルを生成するメモリ変換テーブル生成部と、
前記ページフォルト処理モジュールを中央処理装置に登録するページフォルトハンドラ設置部と、
前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を制御するメモリ管理装置制御部と、を備える請求項４に記載の埋め込み型システムのためのデマンドページング装置。
【請求項６】
前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングメモリプールの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む請求項５に記載の埋め込み型システムのためのデマンドページング装置。
【請求項７】
前記不揮発性保存装置は、ＮＡＮＤフラッシュメモリである請求項１に記載の埋め込み型システムのためのデマンドページング装置。
【請求項８】
（ａ）不揮発性保存装置に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウを生成するステップと、
（ｂ）前記デマンドページングウィンドウで発生するページフォルトを処理するデマンドページング管理者を初期化して、メモリ管理装置を活性化させるステップと、
（ｃ）前記デマンドページングウィンドウで前記ページフォルトが発生した場合、前記活性化されたメモリ管理装置を利用して中央処理装置に登録されたページフォルト処理モジュールを呼び出すステップと、
（ｄ）前記呼び出されたページフォルト処理モジュールを利用して、前記ページフォルトが前記デマンドページングウィンドウで発生したかどうかを判断するステップと、
（ｅ）前記デマンドページングウィンドウで発生したページフォルトである場合、前記ページフォルト処理モジュールが前記ページフォルトを処理するステップと、を含む埋め込み型システムのためのデマンドページング方法。
【請求項９】
前記（ｂ）ステップは、
（ｂ１）前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるステップと、
（ｂ２）運営体制によりメモリを割り当てられて前記デマンドページングウィンドウ領域に対するメモリ変換テーブルを生成するステップと、
（ｂ３）ページフォルトインタラプトの発生時に行われるページフォルト処理モジュールを中央処理装置に登録するステップと、
（ｂ４）前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を活性化するステップと、を含む請求項８に記載の埋め込み型システムのためのデマンドページング方法。
【請求項１０】
前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングを行うためにデマンドされるメモリの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む請求項９に記載の埋め込み型システムのためのデマンドページング方法。
【請求項１１】
前記（ｅ）ステップは、
（ｅ１）前記デマンドページングウィンドウで発生したページフォルトである場合、前記デマンドページング管理者がデマンドページングメモリプールの内部にフレームバッファを割り当てられるステップと、
（ｅ２）前記フレームバッファを利用して、前記ページフォルト処理モジュールが前記不揮発性保存装置からページを読み取るステップと、
（ｅ３）前記ページを読み取った結果に従って前記メモリ変換テーブルを修正するステップと、を含む請求項９に記載の埋め込み型システムのためのデマンドページング方法。
【請求項１２】
前記不揮発性保存装置は、ＮＡＮＤフラッシュメモリである請求項８ないし１１のうちいずれか１項に記載の埋め込み型システムのためのデマンドページング方法。
【請求項１３】
請求項８ないし１１のうちいずれか１項に記載の方法をコンピュータで行うためのプログラムコードを記録したコンピュータによって読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、埋め込み型システムのためのデマンドページング装置及び方法に係り、より詳細には、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムに適用する場合において、簡単かつ効率的にデマンドページング技法を使用可能にする、埋め込み型システムのためのデマンドページング装置及び方法に関する。
【背景技術】
【０００２】
デマンドページングとは、仮想メモリシステムを使用する運営体制でハードディスクのような補助保存装置に仮想メモリを割り当て、ユーザの要求に応じて物理メモリをマッピングして制限されたメインメモリをさらに効率的に使用可能にする技法をいう。アプリケーションプログラムが必要とするコードとデータ量とが増加するにつれて、リナックスやウィンドウズ（登録商標）のような汎用運営体制では必須に使用する技法であるが、複雑なメカニズムのために埋め込み型システム（エンベッデッドシステム）では大部分この機能を支援していない。メモリシステム自体が汎用運営体制の動作と大きく関連されているためである。すなわち、デマンドページング技法を支援する運営体制を使用しない以上、デマンドページング技法を使用し難いことが現実である。
【０００３】
図１Ａは、従来技術によるデマンドページングを支援する運営体制システムでのデマンドページング装置を示す図面である。前記図１Ａを参照すれば、制限された大きさを持つ物理メモリ３０、デマンドページングのために仮想メモリ空間を生成する補助保存装置４０、アプリケーションプログラム役割を行う各プロセスの仮想アドレス空間１０、２０、及びデマンドページングを管理する運営体制５０で構成される。プロセスが生成される時、運営体制５０が該当プロセスのための仮想メモリ空間を補助保存装置４０に生成し、以後プロセスが仮想メモリ空間への接近を試みれば、物理メモリ３０に適当な空間を割り当てて接近が試みられた仮想メモリ空間にある内容を補助保存装置４０から読み取った後、プロセスの仮想アドレス空間１０、２０にマッピングさせてアプリケーションプログラムを行わせる。この時、各プロセスの仮想アドレス空間１０、２０は、カーネル領域とユーザ領域とに大別され、このうち、カーネル領域中で運営体制のコードと静的データとが積載される空間は、物理メモリ３０に同じ大きさの空間がそのまま確保される。残りの空間についてはいずれもデマンドページング技法が適用されるが、ユーザプログラムの観点から見れば、あらゆるコードとデータとがデマンドページング技法の適用を受けることになる。
【０００４】
図１Ｂは、従来技術によるデマンドページングを使用しないシステムを示す図面である。前記図１Ｂを参照すれば、まず、アプリケーションプログラムが見て使用するアドレス空間６０、実際システムに存在する制限された大きさの物理メモリ７０、及びアプリケーションプログラムが保存されている補助保存装置８０、及び補助保存装置８０に入っていて物理メモリ７０にロードされて、アドレス空間６０にマッピングされるアプリケーションプログラム９０で構成される。前記のようなシステムでは、プロセス間の領域区分なしに全体メモリ空間を共有するようになるが、アドレス空間６０には物理メモリ７０がそのままマッピングされるので、システムの物理メモリ７０より大きいプログラムは実行できない。一般的に補助保存装置８０に入っているプログラム９０は、ブートローダーにより物理メモリ７０に載せられて行われる。
【０００５】
一方、デマンドページングの適用に当たって運営体制の次元でデマンドページングを支援する方式を使用する前記図１Ａの方式の場合、運営体制自体を取り替えねばならない問題がある。また、大部分の埋め込み型システム用運営体制は、タスク別仮想アドレス空間を支援せずに既存のデマンドページング方式を導入することが非常に困難である。デマンドページングを支援する運営体制に変更して使用するとしても、アプリケーションプログラムの立場ではプログラムのどの部分がどの瞬間にデマンドページングにより実行が遅延されるかを予測し難くて、リアルタイム応答を必要とする応用に適用し難いという問題がある。
【０００６】
また、デマンドページングを使用しないシステムの前記図１Ｂの場合には、順次増加するコードの量とデータの量とを耐え難いという問題がある。また、直接実行が不可能な不揮発性メモリであるＮＡＮＤフラッシュメモリやハードディスクなどをシステムに採択する場合には、前記保存装置に記録されているプログラムを実行させるためには、プログラムの大きさほどＲＡＭを割り当てねばならないという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、前記のような問題点を解決するためになされたものであり、本発明が解決しようとする技術的課題は、デマンドページングを支援しない運営体制を使用するシステムやまたは運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる、埋め込み型システムのためのデマンドページング装置及び方法を提供するところにある。
【０００８】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【０００９】
前述した目的を達成するために本発明の一実施形態による埋め込み型システムのためのデマンドページング装置は、デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、要請されたページについての情報を前記不揮発性保存装置から読み取って処理する物理メモリと、前記不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、前記ページのフォルトを発生させてデマンドページングが行われるデマンドページングウィンドウと、前記デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える。
【００１０】
前記デマンドページング管理者は、前記物理メモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプールを生成することが望ましい。
【００１１】
望ましくは、前記デマンドページングメモリプールは、前記デマンドページングウィンドウ内の仮想メモリ空間にマッピングされるフレームバッファと、前記マッピングに関する情報をメモリ管理装置に知らせるメモリ変換テーブルと、前記フレームバッファを管理する資料構造であるフレームバッファリストと、を含む。
【００１２】
望ましくは、前記デマンドページング管理者は、前記デマンドページング管理者を初期化して前記メモリ管理装置を活性化させるインターフェースモジュールと、前記インターフェースモジュールの要請に応じて前記フレームバッファと前記フレームバッファリストとを初期化するページキャッシュ管理モジュールと、前記活性化されたメモリ管理装置により発生したページフォルトが前記デマンドページングウィンドウ領域で発生したかどうかを判断することによって前記ページフォルトを処理するページフォルト処理モジュールと、を備える。
【００１３】
さらに望ましくは、前記インターフェースモジュールは、前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるアプリケーションプログラムインターフェースと、前記デマンドページングメモリプールからメモリを割り当てられて前記デマンドページングウィンドウの領域に対するメモリ変換テーブルを生成するメモリ変換テーブル生成部と、前記ページフォルト処理モジュールを中央処理装置に登録するページフォルトハンドラ設置部と、前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を制御するメモリ管理装置制御部と、を備える。
【００１４】
望ましくは、前記不揮発性保存装置は、ＮＡＮＤフラッシュメモリである。
【００１５】
前述した目的を達成するために本発明の一実施形態による埋め込み型システムのためのデマンドページング方法は、（ａ）不揮発性保存装置に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウを生成するステップと、（ｂ）前記デマンドページングウィンドウで発生するページフォルトを処理するデマンドページング管理者を初期化して、メモリ管理装置を活性化させるステップと、（ｃ）前記デマンドページングウィンドウで前記ページフォルトが発生した場合、前記活性化されたメモリ管理装置を利用して中央処理装置に登録されたページフォルト処理モジュールを呼び出すステップと、（ｄ）前記呼び出されたページフォルト処理モジュールを利用して、前記ページフォルトが前記デマンドページングウィンドウで発生したかどうかを判断するステップと、（ｅ）前記デマンドページングウィンドウで発生したページフォルトである場合、前記ページフォルト処理モジュールが前記ページフォルトを処理するステップと、を含む。
【００１６】
望ましくは、前記（ｂ）ステップは、（ｂ１）前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるステップと、（ｂ２）運営体制によりメモリを割り当てられて前記デマンドページングウィンドウ領域に対するメモリ変換テーブルを生成するステップと、（ｂ３）ページフォルトインタラプトの発生時に行われるページフォルト処理モジュールを中央処理装置に登録するステップと、（ｂ４）前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を活性化するステップと、を含む。ここで、前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングを行うために要求されるメモリの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む。
【００１７】
望ましくは、前記（ｅ）ステップは、（ｅ１）前記デマンドページングウィンドウで発生したページフォルトである場合、前記デマンドページング管理者がデマンドページングメモリプールの内部にフレームバッファを割り当てられるステップと、（ｅ２）前記フレームバッファを利用して、前記ページフォルト処理モジュールが前記不揮発性保存装置からページを読み取るステップと、（ｅ３）前記ページを読み取った結果に従って前記メモリ変換テーブルを修正するステップと、を含む。
【００１８】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００１９】
本発明の実施形態による埋め込み型システムのためのデマンドページング装置及び方法によれば、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる。
【００２０】
また、本発明の実施形態によれば、コンポーネント形式でデマンドページング管理者を提供することによって、運営体制の次元でないアプリケーションプログラムの次元で直接デマンドページング機能を自由に制御できる。したがって、システムが必要とするメインメモリの使用量を低減できて製品の低コスト化ができる。
【００２１】
本発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の記載から当業者に明確に理解されうる。
【発明を実施するための最良の形態】
【００２２】
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
【００２３】
以下、本発明の望ましい実施形態によってあらかじめ定義された、埋め込み型システムのためのデマンドページング装置及び方法を説明するためのブロック図またはフローチャートを参照してさらに詳細に説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
【００２４】
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【００２５】
図２は、本発明の一実施形態による埋め込み型システムのためのデマンドページング装置の概念を示すブロック構成図である。前記図２を参照して説明すれば、埋め込み型システムのためのデマンドページング装置は、アドレス空間１１０内のデマンドページングウィンドウ１００、物理メモリ２００、不揮発性保存装置３００、及びデマンドページング管理者４００を備える。
【００２６】
不揮発性保存装置３００は、デマンドページングの対象となるコードとデータを保存している空間であり、電源が切れても記憶装置に保存されている情報がそのまま維持されることができて、電源が供給されれば再び保存された情報を使用できる記憶装置であり、フラッシュメモリやＲＯＭ（リードオンリメモリ）、磁気テープ、磁気ディスクなどを意味する。特に、フラッシュメモリは、データの保存と削除が自由であり、内部方式によってＮＯＲ型とＮＡＮＤ型とに分けられるが、ＮＯＲ型フラッシュメモリは、セルが並列に連結された方式であり、ＮＡＮＤ型フラッシュメモリは、セルが直列に連結された構造である。ＮＡＮＤ型は、ＮＯＲ型に比べて低コストであり、大容量が可能であるという長所がある一方、ＮＯＲ型は、ＮＡＮＤ型に比べてデータのアクセスタイムが短くてデータの安定性が優秀であるという長所がある。本発明の実施形態では、埋め込み型システムのアプリケーションプログラムが直接デマンドページング機能を制御できるという実益を確保するために、不揮発性保存装置３００としてＮＡＮＤ型フラッシュメモリを使用することが望ましい。
【００２７】
物理メモリ２００は、要請されたページについての情報を不揮発性保存装置３００から読み取って処理する場所であり、一般的にＲＡＭが使われる。
【００２８】
デマンドページングウィンドウ１００は、不揮発性保存装置３００に保存されているアプリケーションプログラムが見て参照するアドレス空間１１０の一部分であり、前記ページのフォルトを発生させてデマンドページングが行われる領域である。デマンドページングウィンドウ１００は、運営体制に関係なくユーザプログラムにより生成され、このためにアプリケーションプログラムレベルでデマンドページング管理者４００を初期化してデマンドページングウィンドウ１００を登録する。このような登録過程は、数回反復できて複数のデマンドページングウィンドウ１００を同時に使用できる。デマンドページングウィンドウ１００の登録を終えれば、デマンドページング管理者４００にデマンドページングウィンドウ１００の活性化を要請することによってデマンドページングウィンドウ１００が活性化される。
【００２９】
デマンドページング管理者４００は、デマンドページングウィンドウ１００で発生するページフォルトを処理する役割を行う。デマンドページング管理者４００の細部構成については、図３に表示されているが、図３は、デマンドページング装置の構成のうち、デマンドページング管理者４００と物理メモリメモリプール２００Ａの構成を示す図面である。前記図３を参照すれば、デマンドページング管理者４００は、物理メモリ２００からメモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプール２００Ａを生成する。
【００３０】
デマンドページングメモリプール２００Ａは、デマンドページングウィンドウ１００内の仮想メモリ空間にマッピングされる物理メモリで構成されたフレームバッファ２２０、前記マッピングに関する情報をメモリ管理装置５００に知らせるメモリ変換テーブル２１０、及びフレームバッファ２２０を管理するための資料構造であるフレームバッファリスト２３０を含む。
【００３１】
また、前記図３を参照すれば、デマンドページング管理者４００は、インターフェースモジュール４１０、ページキャッシュ管理モジュール４２０、及びページフォルト処理モジュール４３０を備える。
【００３２】
デマンドページングウィンドウ１００は、運営体制に関係なくアプリケーションプログラムにより生成されねばならず、本発明のデマンドページング装置を利用してページフォルトを処理するためにはデマンドページング管理者４００を初期化する必要があるが、インターフェースモジュール４１０がこのような機能を行うことによって前記メモリ管理装置を活性化させる。
【００３３】
ページキャッシュ管理モジュール４２０は、インターフェースモジュール４１０の要請に応じてフレームバッファ２２０とフレームバッファリスト２３０とを初期化する役割を行うが、これで、フレームバッファ２２０とフレームバッファリスト２３０とが生成される。
【００３４】
ページフォルト処理モジュール４３０は、前記活性化されたメモリ管理装置により呼び出される一種のページフォルトハンドラであり、ページフォルトインタラプトが発生した場合に、前記インタラプトがデマンドページングウィンドウ１００領域で発生したかどうかを判断することによって、前記ページフォルトを処理する役割を行う。
【００３５】
ここで、インターフェースモジュール４１０は、本発明の装置がデマンドページング機能を行うために行われる初期化過程を担当することもあるが、これは図４を参照して説明する。
【００３６】
図４は、前記デマンドページング管理者の構成のうち、インターフェースモジュール４１０の構成を示す図面である。
【００３７】
アプリケーションプログラムインターフェース４１２は、前記アプリケーションプログラムから所定情報と共にデマンドページングウィンドウ１００の生成が要請される役割を行う。ここで、前記所定情報とは、デマンドページングウィンドウ１００が占める大きさとアドレス、デマンドページングメモリプール２００Ａの大きさ、及び不揮発性保存装置３００に保存されているコードとデータとの位置に関する情報を含む情報をいう。
【００３８】
メモリ変換テーブル生成部４１４は、デマンドページングメモリプール２００Ａからメモリを割り当てられてデマンドページングウィンドウ１００の領域に対するメモリ変換テーブル２１０を生成する役割を行う。この時、メモリ管理装置５００の活性化如何によって動作の差が生じる。
【００３９】
もし、メモリ管理装置５００が非活性化されている状態ならば、デマンドページング管理者４００は、全体アドレス空間に対するメモリ変換テーブル２１０を改めてＣＰＵに登録せねばならない。メモリ管理装置５００を活性化するためには、メモリ変換テーブル２１０が常に必要であるためである。しかし、もし、メモリ管理装置５００が既に活性化されている状態ならば、システムに登録されたメモリ変換テーブル２１０が全体アドレス空間に対して既に存在するということを意味するので、デマンドページング管理者４００が新たに全体テーブルを作る必要はない。メモリ管理装置５００の活性化如何に関係なく、前記の過程を経れば全体アドレス空間に対するメモリ変換テーブル２１０が存在する。
【００４０】
尚、デマンドページングウィンドウ１００領域に対するメモリ変換テーブル２１０を修正してページフォルトインタラプトが発生するように措置せねばならないが、メモリ変換テーブル２１０にＣＰＵが認識する特定値を書き込めば、該当メモリを読み出すか書き込む時、ページフォルトインタラプトが発生する。すなわち、この過程は、デマンドページングウィンドウ１００領域でページフォルトインタラプトを発生させるために、メモリ変換テーブル２１０を初期化する過程であるといえる。
【００４１】
ページフォルトハンドラ設置部４１６は、ページフォルト処理モジュール４３０を中央処理装置に登録する役割を行う。ページフォルトインタラプトが発生すれば、ＭＭＵは、中央処理装置に登録されているページフォルトハンドラという特定ルーチンを呼び出すが、本発明では、前記ページフォルトハンドラに該当する役割を行うものがページフォルト処理モジュール４３０であるので、あらかじめ中央処理装置にページフォルト処理モジュール４３０を登録せねばならない。
【００４２】
メモリ管理装置制御部４１８は、登録されたページフォルト処理モジュール４３０を呼び出すメモリ管理装置５００を制御する役割を行う。前記のような実施例で使われる“部”という用語、すなわち、“モジュール”あるいは“テーブル”は、ソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、モジュールは所定の役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定されるものではない。モジュールはアドレッシングできる保存媒体に位置すべく構成されても良く、１つまたはそれ以上のプロセッサーを再生させるように構成されても良い。したがって、一例としてモジュールはソフトウェア構成要素、客体向けソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素とモジュール内で提供される機能はより少数の構成要素及びモジュールに結合されるか、追加的な構成要素とモジュールにさらに分離されうる。のみならず、構成要素及びモジュールはディバイスまたは保安マルチメディアカード内の１つまたはそれ以上のＣＰＵを再生させるように具現されることもある。
【００４３】
さらに、本発明の実施形態によるデマンドページング方法が行われる過程を、図５及び図６を参照して説明する。図５は、本発明の一実施形態による埋め込み型システムのためのデマンドページング方法の概念を示すフローチャートであり、図６は、デマンドページング管理者の初期化過程を示すフローチャートである。
【００４４】
まず、不揮発性保存装置３００に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウ１００を生成する（Ｓ１１０）。次いで、デマンドページングウィンドウ１００で発生するページフォルトを処理するデマンドページング管理者４００を初期化することによって、メモリ管理装置を活性化する（Ｓ１２０）。
【００４５】
前記の初期化過程を前記図６を参照して詳細に説明すれば、まずユーザが使用するアプリケーションプログラムは、デマンドページング管理者４００に仮想のアドレス空間１１０内にデマンドページングウィンドウ１００を生成することを要請する（Ｓ１２２）。ここで、アプリケーションプログラムは、所定情報を共にデマンドページング管理者４００に渡すが、デマンドページングウィンドウ１００が仮想のアドレス空間１１０内で占める大きさとアドレス、前記デマンドページングを行うために要求されるデマンドページングメモリプール２００Ａの大きさ、及び不揮発性保存装置３００に保存されているコードとデータの位置に関する情報などを渡す。
【００４６】
デマンドページングウィンドウが生成されれば、運営体制によりメモリを割り当てられてデマンドページングウィンドウ１００領域に対するメモリ変換テーブルを生成する（Ｓ１２４）。そして、ページフォルトインタラプトの発生時にインタラプトを処理するハンドラであるページフォルト処理モジュール４３０を中央処理装置に登録し（Ｓ１２６）、登録されたページフォルト処理モジュール４３０を呼び出すメモリ管理装置を活性化するステップ（Ｓ１２８）を行うことによって初期化を完了する。
【００４７】
一方、初期化過程を経た後、デマンドページングウィンドウ１００で前記ページフォルトが発生した場合、活性化された前記メモリ管理装置を利用して中央処理装置に登録されているページフォルトハンドラであるページフォルト処理モジュール４３０を呼び出す（Ｓ１３０）。
【００４８】
呼び出されたページフォルト処理モジュール４３０は、前記ページフォルトがデマンドページングウィンドウ１００で発生したかどうかを判断する（Ｓ１４０）。デマンドページングウィンドウ１００で発生したページフォルトである場合には、ページフォルト処理モジュール４３０が前記ページフォルトを処理するステップ（Ｓ１５０）を行い、デマンドページングウィンドウ１００で発生したページフォルトではない他の領域で発生した場合ならば、既存に登録されたページフォルトハンドラで処理する（Ｓ１６０）。
【００４９】
Ｓ１５０過程を詳細に説明すれば、デマンドページングウィンドウ１００で発生したページフォルトである場合、デマンドページング管理者４００がデマンドページングメモリプール２００Ａの内部にフレームバッファ２２０を割り当てられ、割り当てられたフレームバッファ２２０を利用してページフォルト処理モジュール４３０が不揮発性保存装置３００からページを読み取る。前記ページを読み取った結果に従って前記メモリ変換テーブルを修正すればよい。ここで、前述した不揮発性保存装置３００はＮＡＮＤ型フラッシュメモリであることが望ましい。
【００５０】
本発明の実施形態で提案するデマンドページングウィンドウは、既存運営体制がプロセスの全体空間をいずれもデマンドページング技法で管理したのに対し、アプリケーションプログラムが使用する物理メモリ空間の一部を割り当ててデマンドページング技法を適用させることである。デマンドページングウィンドウ領域ではない空間は、既存の物理メモリシステムで使用したものと同一に使用でき、デマンドページングウィンドウ領域と設定されたメモリの一部領域に対しては制限された容量の物理メモリを使用して、大きなサイズの不揮発性保存装置に入っているコードとデータへの接近が可能になる。アプリケーションプログラムの全体メモリ空間のうち一部のみをアプリケーションプログラムが主導的にデマンドページングウィンドウと設定するために、デマンドページングウィンドウで行われるコードと、そうでなくて速い応答時間を保証せねばならないコードとに容易に区分可能である。したがって、既存リアルタイム運営体制を使用したアプリケーションプログラムでもデマンドページング技法を使用できるようになる。
【００５１】
一方、本発明の権利範囲は、前記のような埋め込み型システムのためのデマンドページング方法をコンピュータで行うためのプログラムコードを記録したコンピュータで読み取り可能な記録媒体にもおよぶということは当業者に自明なことである。
【００５２】
以上、添付図を参照して本発明の実施例を説明したが、本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。本発明の範囲は詳細な説明よりは特許請求の範囲により表れ特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
【産業上の利用可能性】
【００５３】
本発明は、デマンドページング装置関連の技術分野に好適に用いられる。
【図面の簡単な説明】
【００５４】
【図１Ａ】従来技術によるデマンドページングを支援する運営体制システムでのデマンドページング装置を示す図である。
【図１Ｂ】従来技術によるデマンドページングを使用しないシステムを示す図である。
【図２】本発明の一実施形態による埋め込み型システムのためのデマンドページング装置の概念を示すブロック構成図である。
【図３】前記デマンドページング装置の構成のうち、デマンドページング管理者と物理メモリの構成を示す図である。
【図４】前記デマンドページング管理者の構成のうち、インターフェースモジュールの構成を示す図である。
【図５】本発明の一実施形態による埋め込み型システムのためのデマンドページング方法の概念を示すフローチャートである。
【図６】前記デマンドページング管理者の初期化過程を示すフローチャートである。
【符号の説明】
【００５５】
１００      デマンドページングウィンドウ
１１０      アドレス空間
２００      物理メモリ
３００      不揮発性保存装置
４００      デマンドページング管理者
【図１Ａ】
2007179537.tif 000003
【図１Ｂ】
2007179537.tif 000004
【図２】
2007179537.tif 000005
【図３】
2007179537.tif 000006
【図４】
2007179537.tif 000007
【図５】
2007179537.tif 000008
【図６】
2007179537.tif 000009