(57)【要約】【課題】従来のＬＲＵ法に関する発明では、利用頻度が比較的高いページについてもたまたま一定期間使用されないとページアウトし、ページフォルトが発生しやすくなるという問題があった。また、処理ページの順番が固定されにくい処理に関しては、ページフォルトの抑制に対する効果を発揮しにくいという問題点があった。【解決手段】本発明においては、ワークメモリにページインされる頻度を仮想ページＩＤ毎に保持／記録し、ページフォルトが発生した際に、当該ページイン頻度の情報に応じてワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定する。【選択図】図１
2011095885.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶を利用したページング方式を備えた装置であって、
各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に保持するページイン頻度保持部と、
プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報がワークメモリ上に存在するか否か判断する判断部と、
前記判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報の仮想ページＩＤに対するページイン頻度を取得するページイン頻度取得部と、
前記ページイン頻度取得部にて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する決定部と、
を有するページング方式を備えた装置。
【請求項２】
プログラム実行手順により仮想ページＩＤがアクセスされた順番であるアクセス順履歴を保持するアクセス順履歴保持部と、
前記判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い順に、ページイン頻度を取得すべき仮想ページＩＤとして前記ページイン頻度取得部に出力するアクセス順仮想ページＩＤ出力部と、
をさらに有することを特徴とする請求項１に記載のページング方式を備えた装置。
【請求項３】
前記ページング方式を備えた装置は、
各アプリケーションの利用頻度を保持する利用頻度保持部と、
各アプリケーションの起動時にそのアプリケーションの利用頻度を取得する利用頻度取得部と、
をさらに有し、
前記決定部は、前記利用頻度取得部にて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限り前記決定部による処理を行う限定的決定手段を有することを特徴とする請求項１又は２に記載のページング方式を備えた装置。
【請求項４】
前記ページイン頻度保持部は、前記利用頻度取得部にて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限りページイン頻度を保持する限定的保持手段を有することを特徴とする請求項３に記載のページング方式を備えた装置。
【請求項５】
仮想記憶を利用したページング方式の処理方法であって、
各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に記録するページイン頻度記録ステップと、
プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報がワークメモリ上に存在するか否か判断する判断ステップと、
前記判断ステップでの判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報の仮想ページＩＤに対するページイン頻度を取得するページイン頻度取得ステップと、
前記ページイン頻度取得ステップにて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する決定ステップと、
を有するページング方式の処理方法。
【請求項６】
仮想ページＩＤがプログラム実行手順によりアクセスされた順番であるアクセス順履歴を記録するアクセス順履歴記録ステップと、
前記判断ステップでの判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い順に、前記ページイン頻度取得ステップにてページイン頻度を取得すべき仮想ページＩＤとして出力するアクセス順仮想ページＩＤ出力ステップと、
をさらに有することを特徴とする請求項５に記載のページング方式の処理方法。
【請求項７】
前記ページング方式の処理方法は、
各アプリケーションの利用頻度を記録する利用頻度記録ステップと、
各アプリケーションの起動時にそのアプリケーションの利用頻度を取得する利用頻度取得ステップと、
をさらに有し、
前記決定ステップは、前記利用頻度取得ステップにて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限り前記決定ステップによる処理を行う限定的決定サブステップを有することを特徴とする請求項５又は６に記載のページング方式の処理方法。
【請求項８】
前記ページイン頻度記録ステップは、前記利用頻度取得ステップにて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限りページイン頻度を記録する限定的記録サブステップを有することを特徴とする請求項７に記載のページング方式の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想記憶を利用したページング方式を備えた装置とページング方式の処理方法に関する。
【背景技術】
【０００２】
従来から、仮想記憶を利用したページング方式が知られている。仮想記憶は、実装されている物理メモリの容量以上のメモリ空間を利用する仕組みであり、仮想記憶を実現するための技術の一つとしてページング方式が存在する。
【０００３】
ページング方式は、物理メモリと論理メモリの空間をページと呼ばれる単位に分割して、メモリ空間の管理を行うものである。代表的なページング方式としては、ページフォルトの回数を抑制することを目的としたＬＲＵ法（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ法）が知られている。このＬＲＵ法では、物理メモリであるワークメモリ上の中で直近のアクセスが古い仮想ページは、今後アクセスされる可能性が低いとの仮定から、ページアウトの対象とする、という処理が行われる。
【０００４】
また、特許文献１のページング処理方法とその方式に関する発明では、ページフォルトが発生した際に、仮想ページに対するアクセス順番を記録したアクセス履歴を読み出して、将来もアクセス順番は同一となる確率が高いことを想定し、その想定の下で近い将来のアクセス予定がないと判断される仮想ページをページアウトの対象とするものである。また、特許文献２のページング方法とその方式に関する発明では、ページフォルトが発生した際に、アクセス履歴から仮想ページに対するアクセス順番のパターンを読み出して、パターンから外れた仮想ページをページアウトの対象とするものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−６３３９９
【特許文献２】特開平９−２４４９５８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＬＲＵ法では、一定期間使用されないページに関しては、例外なくページアウトしてしまうため、ページイン頻度が比較的高いページについてもたまたま一定期間使用されないとページアウトし、ページフォルトが発生しやすくなるという問題があった。また、上記の先行技術文献１、２に係る発明は、処理の順番がある程度固定されているものに関しては、ページフォルトの回数を少なくすることができるものの、処理ページの順番の繰り返しが少ないものに関しては、ページフォルトの抑制の効果を発揮しにくいという問題点があった。
【課題を解決するための手段】
【０００７】
以上の課題を解決するために、本発明は、仮想記憶を利用したページング方式を備えた装置であって、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に保持するページイン頻度保持部と、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報がワークメモリ上に存在するか否か判断する判断部と、前記判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得するページイン頻度取得部と、前記ページイン頻度取得部にて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する決定部と、を有するページング方式を備えた装置を提案する。
【０００８】
また、本発明による、仮想記憶を利用したページング方式の処理方法であって、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に記録するページイン頻度記録ステップと、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報がワークメモリ上に存在するか否か判断する判断ステップと、前記判断ステップでの判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得するページイン頻度取得ステップと、前記ページイン頻度取得ステップにて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する決定ステップと、を有するページング方式の処理方法を提案する。
【発明の効果】
【０００９】
以上のような構成をとる本発明によって、少なくとも処理ページの順番の繰り返しが少ないものについてはページフォルトの回数を減らすことが可能であり、処理時間の短縮を図ることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】実施例１の装置の機能ブロックの一例を示す図
【図２】ページイン頻度の情報の一例を示す図。
【図３】実施例１の装置のハードウェア構成の一例を示す図
【図４】実施例１の処理方法の処理の流れの一例を示す図
【図５】実施例２の装置の機能ブロックの一例を示す図
【図６】アクセス順履歴の一例を示す図
【図７】仮想ページＩＤに対するアクセスの順番を取得する一例を示す図
【図８】アクセス順仮想ページＩＤ出力部によって出力されたページイン頻度を取得すべき仮想ページＩＤの順番に、ページイン頻度を取得する一例を示した図
【図９】実施例２の処理方法の処理の流れの一例を示す図
【図１０】実施例３の装置の機能ブロックの一例を示す図
【図１１】アプリケーションの利用頻度の情報の一例を示す図
【図１２】実施例３の処理方法における起動処理時の処理の流れの一例を示す図
【図１３】実施例３の処理方法における起動処理後の処理の流れの一例を示す図
【図１４】実施例４の装置の機能ブロックの一例を示す図
【図１５】実施例４の処理方法における起動処理時の処理の流れの一例を示す図
【図１６】実施例４の処理方法における起動処理後の処理の流れの一例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施例を説明する。実施例と請求項の相互の関係は、以下のとおりである。実施例１は主に請求項１、５などに関し、実施例２は主に請求項２、６などに関し、実施例３は主に請求項３、７などに関し、実施例４は主に請求項４、８などに関する。なお、本発明はこれら実施例に何ら限定されるものではなく、その要旨を逸脱しない範囲内において、様々な態様で実施しうる。
【実施例１】
【００１２】
<概要>
本実施例の発明においては、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度を仮想ページＩＤ毎に保持／記録し、ページフォルトが発生した際に、当該ページイン頻度の情報に応じてワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定することが可能である。
【００１３】
<構成>
図１は、本実施例の仮想記憶を利用したページング方式を備えた装置の機能ブロックの一例を示す図である。この図にあるように、本実施例の「仮想記憶を利用したページング方式を備えた装置」０１００は、「ページイン頻度保持部」０１０１と、「判断部」０１０２と、「ページイン頻度取得部」０１０３と、「決定部」０１０４と、からなる。
【００１４】
なお、以下に記載する装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。
【００１５】
また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる（本明細書の全体を通じて同様である）。
【００１６】
「ページイン頻度保持部」は、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に保持する機能を有する。なお、ワークメモリ上にページインされる頻度を、ワークメモリ上からページアウトする頻度から取得する構成も可能である。ページインの回数とページアウトの回数が完全に一致するわけではないが、ワークメモリ上に複数回ページインされる仮想ページは過去にページアウトされていることを意味するものであるから、いずれの回数もページフォルトが発生した指標として利用できる。
【００１７】
ページイン頻度の情報の一例としては、図２のようなものが考えられる。この図の例では、仮想ページＩＤ（０００１）に対するページイン頻度は１０、仮想ページＩＤ（０００２）に対するページイン頻度は１５、などと関連付けて保持されている。ここで、ページイン頻度を取得する期間は特に限定されるものではなく、過去の全期間とすることも可能であるし、過去１ヶ月、過去１週間、過去１０回のアプリケーション利用期間、過去１回のアプリケーション利用期間、など任意の期間を設定することが可能である。なお、必ずしも全ての仮想ページＩＤについてページイン頻度を保持する必要はなく、一部の仮想ページＩＤについてのみ保持する構成も可能である。
【００１８】
また、ページイン頻度は、上記のように過去所定期間の積算回数とすることも可能であるが、過去所定期間の積算回数に基づいてそれよりも短い期間の平均値を算出して保持することも可能である。例えば、アプリケーションの起動から終了までに平均的にページインされる回数を算出して保持する構成も可能である。
【００１９】
ここで、仮想ページＩＤのページイン頻度はプログラムとして実行可能な全てのソフトウェアについて保持する構成も可能であるが、特定条件の下、一定のソフトウェアについてのみ保持する構成も可能である。ソフトウェアとしては、システムソフトウェアやアプリケーションソフトウェアなどが存在する。例えば、利用頻度が高いアプリケーションについてのみ保持する構成（実施例４で説明する）や、外部入力等によって指定されたアプリケーションについてのみ保持する構成も可能である。
【００２０】
「判断部」は、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上に存在するか否か判断する機能を有する。プログラムの実行手順によりアクセスされる仮想ページＩＤに対応する情報がワークメモリ上に存在しない場合はページインする必要があり、ワークメモリ上に存在する場合はページインの処理を行う必要はない。
【００２１】
「ページイン頻度取得部」は、前記判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する。ここで、ワークメモリ上に存在する情報の仮想ページＩＤ全てについてページイン頻度を取得する構成も可能であるが、ワークメモリ上に存在する情報のうち一部の仮想ページＩＤについてページイン頻度を取得する構成も可能である。例えば、ページイン頻度が所定値以下の仮想ページＩＤが所定数見つかった段階でそれ以上の仮想ページＩＤに対するページイン頻度の取得を中止するといった構成も可能である。
【００２２】
上記ページイン頻度取得部の構成には、判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合、その他の条件を設けることなくページイン頻度を取得するといった構成が考えられるが、さらなる条件を満たした上でページイン頻度を取得する構成も含まれるものである。例えば、ワークメモリ上の空き容量が所定値以下になったことを条件とすることが可能である。
【００２３】
「決定部」は、前記ページイン頻度取得部にて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する機能を有する。ここで仮想ページＩＤを決定するとは、仮想ページＩＤに対応する論理アドレスや物理アドレスを決定することが該当する。仮想ページＩＤを決定する方法としては、例えばページイン頻度が所定値よりも小さいものが所定数見つかった段階でその仮想ページＩＤに対応する情報をページアウトすべきとする方法も可能であるし、ページイン頻度が下位の仮想ページＩＤに対応する情報から順にページアウトすべきとする方法やページイン頻度が上位数件に入らないものが所定数見つかった段階でその仮想ページＩＤに対応する情報をページアウトすべきとする方法も可能である。
【００２４】
なお、ページアウトに係る仮想ページＩＤは一つであってもよいし、複数であってもよい。例えば、複数の仮想ページＩＤに対応する情報をまとめてページインする場合などは、複数の仮想ページＩＤに対応する情報をページアウトすることが考えられる。
【００２５】
なお、ページイン頻度に応じて決定するとは、必ずしもページイン頻度のみを用いて決定することを意味するのではなく、ページイン頻度の他に他の情報を用いて決定することも含まれるものである。例えば、ＬＲＵ法やＮＲＵ法（ＮＯＴ  ＲＥＣＥＮＴＬＹ  ＵＳＥＤ法）で用いられるアクセスの順番の履歴とページイン頻度の情報を用いることでより確実性の高い決定処理を行うことも可能である。
【００２６】
なお、ページフォルトが発生したとしても、追加的な条件を満たさない場合はページアウトを行わない、といった構成も可能である。例えば、実行中のアプリケーションが利用可能なワークメモリ上の空き容量が所定値以下（０も含む）になったことを条件として、その段階にて決定されるページアウトすべき仮想ページＩＤの情報をワークメモリからページアウトする、といった構成も考えられる。
【００２７】
<具体的な構成>
図３は、本実施例の仮想記憶を利用したページング方式を備えた装置の機能的な各構成要素をハードウェアとして実現した際の、構成の一例を示す概略図である。この図を利用して、ハードウェア構成部の働きについて説明する。
【００２８】
この図にあるように、上記の装置は、「ＣＰＵ（ページング処理機構）」０３０１と、「ＲＡＭ（ワークメモリ：主記憶）」０３０２と、「ＮＡＮＤ型メモリ（二次記憶装置）」０３０３と、を備える。これらの構成は、「システムバス」０３０４のデータ通信経路によって相互に接続され、情報の送受信や処理を行う。この図の例では、ＭＭＵ（メモリ管理機構）がＣＰＵに内蔵されている構成を想定しているが、別構造とする構成も可能である。
【００２９】
ＣＰＵ内部で実行される処理は、論理アドレスで命令やデータを扱い、各仮想ページＩにアクセスするためにＲＡＭの物理アドレスを指定する。ＣＰＵに内蔵されるＭＭＵは、論理アドレスと物理アドレスの変換を行う。ＣＰＵはアクセスしようとする仮想ページＩが物理アドレスの割り当てを受けていない場合に内部的な割り込み信号を生成し、割り込み処理が起動される。割り込み処理においては、仮想ページＩＤに対応する仮想記憶の情報がアクセスされ、当該情報がＲＡＭの所定のアドレスに読み出されることになる。以下、本実施例の発明に特徴的な処理について説明する。
【００３０】
ＣＰＵは、アプリケーションの起動時において、ＮＡＮＤ型メモリに記憶されているそのアプリケーションのページイン頻度の情報をＲＡＭの所定アドレスに格納する。ＣＰＵは、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対する情報が物理メモリであるＲＡＭ上に存在するか否か判断する処理を行う。ここで、ＲＡＭ上に存在しないとの処理結果である場合、ＲＡＭ上に存在する情報に対応する仮想ページＩＤのページイン頻度を前記ＲＡＭの所定アドレスから取得する処理を行う。次にＣＰＵは、ページイン頻度を取得した仮想ページＩＤのうち、ページイン頻度が最も低いものをページアウトすべき情報に対応する仮想ページＩＤとして決定する処理を行う。ＣＰＵは、ページアウトすべき情報をＲＡＭからページアウトし、アクセスしようとしている仮想ページＩＤに係る情報をＲＡＭ上にページインする処理を行う。さらに、ＣＰＵはページイン処理の対象となった仮想ページＩＤのページイン頻度の情報（ＲＡＭ上の情報）を更新する処理を行う。ここで、ＮＡＮＤ型メモリに記憶されている情報の更新は任意のタイミングで行うことが可能であり、所定時間又は所定処理数ごとに行うことや、アプリケーションの終了時において行うことが可能である。
【００３１】
<処理の流れ>
図４は、本実施例の仮想記憶を利用したページング方式の処理方法の処理の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ０４０１（判断ステップ）では、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上に存在するか否か判断する。ここでの判断がワークメモリ上に存在するとの判断結果である場合は処理を終了し、ページイン処理も行わない。ここでの判断がワークメモリ上に存在しないとの判断結果である場合はステップＳ０４０２に進む。次にステップＳ０４０２（ページイン頻度取得ステップ）では、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する。次にステップＳ０４０３（決定ステップ）では、前記ページイン頻度取得ステップにて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定する。次にステップＳ０４０４（ページイン頻度記録ステップ）では、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に記録する。以上の処理を経て、決定ステップにて決定された仮想ページＩＤに対応する情報をワークメモリからページアウトし、アクセスしようとしている仮想ページＩＤに対応する情報をワークメモリ上にページインする処理を行う。なお、ページイン頻度を記録する処理はページインの処理が行われた後に行うことも可能であるし、判断ステップの後に行うことも可能である。
【００３２】
<効果>
本実施例の発明により、少なくとも処理ページの順番の繰り返しが少ないものについてはページフォルトの回数を減らすことが可能であり、処理時間の短縮を図ることが可能になる。
【実施例２】
【００３３】
<概要>
本実施例の発明は、基本的に実施例１と共通するが、プログラム実行手順により仮想ページＩＤがアクセスされた順番をアクセス順履歴として保持／記録し、ページフォルトが発生した際に当該アクセス順履歴の中での直近のアクセスが最も古い順にページイン頻度を取得して、ワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定することが可能である。
【００３４】
<構成>
図５は、本実施例の仮想記憶を利用したページング方式を備えた装置の機能ブロックの一例を示す図である。この図にあるように、本実施例の「仮想記憶を利用したページング方式を備えた装置」０５００は、「ページイン頻度保持部」０５０１と、「判断部」０５０２と、「ページイン頻度取得部」０５０３と、「決定部」０５０４と、「アクセス順履歴保持部」０５０５と、「アクセス順仮想ページＩＤ出力部」０５０６と、からなる。上記構成は、基本的に図１で説明した実施例１の構成と共通するため、相違点である「アクセス順履歴保持部」と、「アクセス順仮想ページＩＤ出力部」について説明する。
【００３５】
「アクセス順履歴保持部」は、仮想ページＩＤがプログラム実行手順によりアクセスされた順番であるアクセス順履歴を保持する機能を有する。アクセス順履歴の一例としては、図６のようなものが考えられる。この図の例では、各アプリケーションの仮想ページＩＤとアクセスされた順番を関連付けて保持する構成としているが、各アプリケーションについてそれぞれ保持する構成も可能である。
【００３６】
アクセス順履歴として保持する範囲は、各アプリケーションに応じて任意に設定することが可能である。例えば、アプリケーションＡについては過去１００回のアクセスの履歴を保持し、アプリケーションＢについては過去５０回のアクセスの履歴を保持する、といった構成が可能である。これらの回数の差はアプリケーションの種類や利用頻度に応じて演算処理により決定することも可能である。例えば、仮想ページが多いアプリケーションについては多くの履歴を保持し、仮想ページが少ないアプリケーションについては少ない履歴を保持する、といった構成が考えられる。同様に、利用頻度が高いアプリケーションについては多くの履歴を保持し、利用頻度が少ないアプリケーションについては少ない履歴を保持する、といった構成も可能である。なお、アクセスされた順番の他に、アクセスされた日時の情報を保持し、所定期間以上経過した履歴については順次消去していく構成も考えられる。
【００３７】
「アクセス順仮想ページＩＤ出力部」は、前記判断部での判断結果がワークメモリ上に存在しないとの判断結果である場合に、ワークメモリ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い順に、ページイン頻度を取得すべき仮想ページＩＤとして前記ページイン頻度取得部に出力する機能を有する。
【００３８】
図７は、アクセス順履歴を用いて、ワークメモリ上に存在する情報に対応する仮想ページＩＤのアクセスの順番を取得する一例を示した図である。この図の例では、ワークメモリ上に存在する情報の仮想ページＩＤのうち、直近のアクセスが最も古いのは仮想ページＩＤ（０００３）であり、その次に古いものとして仮想ページＩＤ（０００２）、さらにその次に古いものとして仮想ページＩＤ（０００５）、といった順番となっている。よって、ページイン頻度を取得すべき仮想ページＩＤとして、仮想ページＩＤ(０００３)、仮想ページＩＤ（０００２）、仮想ページＩＤ（０００５）の順に、ページイン頻度取得部に出力される。
【００３９】
図８は、アクセス順仮想ページＩＤ出力部によって出力されたページイン頻度を取得すべき仮想ページＩＤの順番に、ページイン頻度を取得する一例を示した図である。この図にあるように、ワークメモリ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い仮想ページＩＤであるからといって、必ずしもページイン頻度が少ないとは限らない。本実施例の発明においては、実施例１と同様に、仮想ページＩＤに対するページイン頻度をさらに用いることによって、ページアウトすべき情報の仮想ページＩＤを決定する。
【００４０】
例えば、ページイン頻度が第一基準値（例えば、所定期間あたり１０回）以上のものについてはページアウトの候補としての優先度を低くし、ページイン頻度が第二基準値（例えば、所定期間あたり５）よりも小さいものについてはページアウトの候補としての優先度を高くする、といった構成を考える。図８の例では、直近のアクセスが最も古い仮想ページＩＤ（０００３）のページイン頻度は１０以上であり、ページアウトの候補としては優先度が低くなる。次に古いアクセスに係る仮想ページＩＤ（０００２）のページイン頻度は５より小さく、ページアウトの対象候補として優先度が高くなる。このように、ＬＲＵ法の技術を利用した上でさらにページイン頻度の情報を利用することにより、より確実性の高い処理が可能になる。
【００４１】
<具体的な構成>
本実施例の仮想記憶を利用したページング方式を備えた装置の具体的な構成は、基本的に図３で説明した実施例１の装置の具体的な構成と共通する。ただし、本実施例の装置は、ＮＡＮＤ型メモリにアクセス順履歴を有する。
【００４２】
ＣＰＵは、アプリケーションの起動時において、ＮＡＮＤ型メモリに記憶されているそのアプリケーションのページイン頻度とアクセス順履歴の情報をＲＡＭの所定アドレスに格納する。次に、ＣＰＵはアプリケーションのプログラムを実行し、各プログラム実行手順によりアクセスされる仮想ページＩＤを取得し、ＲＡＭの上記アクセス順履歴を更新する処理を行う。ここで、ＮＡＮＤ型メモリに記憶されている情報の更新は任意のタイミングで行うことが可能であり、所定時間経過後に行うことや、アプリケーションの終了時において行うことが考えられる。ＣＰＵは、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対する情報が物理メモリであるＲＡＭ上に存在するか否か判断する処理を行う。ここで、ＲＡＭ上に存在しないとの処理結果である場合、アプリケーションで利用可能なＲＡＭの空き容量が所定閾値以下になっていることを条件として、ＲＡＭ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い順に、ページイン頻度を取得する処理を行う。ここで、ページイン頻度が所定値以下である仮想ページＩＤが見つかった段階で、ページアウトすべき情報の仮想ＩＤとして決定する処理を行う。なお、ページイン頻度が所定値以下の仮想ページＩＤが見つからなかった場合は、ＲＡＭ上に存在する情報の仮想ページＩＤのうちページイン頻度が最低値となるものをページアウトすべき情報の仮想ＩＤとして決定する処理を行う。ＣＰＵは、ページアウトすべき情報をＲＡＭからページアウトし、アクセスしようとしている仮想ページＩＤに係る情報をＲＡＭ上にページインする処理を行う。さらに、ＣＰＵはページイン処理の対象となった仮想ページＩＤのページイン頻度の情報（ＲＡＭ上の情報）を更新する処理を行う。
【００４３】
<処理の流れ>
図９は、本実施例の仮想記憶を利用したページング方式の処理方法の処理の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ０９０１（アクセス順履歴記録ステップ）では、仮想ページＩＤがプログラム実行手順によりアクセスされる順番であるアクセス順履歴を記録する。次にステップＳ０９０２（判断ステップ）では、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上に存在するか否か判断する。ここでの判断がワークメモリ上に存在するとの判断である場合は処理を終了して、ページインの処理は行わない。ここでの判断がワークメモリ上に存在しないとの判断である場合はステップＳ０９０３に進む。次にステップＳ０９０３（アクセス順仮想ページＩＤ出力ステップ）では、ワークメモリ上に存在する情報の仮想ページＩＤのうちアクセス順履歴の中での直近のアクセスが最も古い順に、前記ページイン頻度取得ステップにてページイン頻度を取得すべき仮想ページＩＤとして出力する。次にステップＳ０９０４（ページイン頻度取得ステップ）では、前記アクセス順仮想ＩＤ出力ステップで出力された仮想ＩＤに対するページイン頻度を取得する。次にステップＳ０９０５では（決定ステップ）、前記ページイン取得ステップにて取得したページイン頻度が所定値以下であるか否か判断する。ここでの判断が所定値よりも大きいとの判断である場合は、ステップＳ０９０３に戻り、直近のアクセスが次に古い仮想ページＩＤのページイン頻度を取得する。ここでの判断が所定値以下であるとの判断である場合は、ステップＳ０９０６に進む。ステップＳ０９０６（決定ステップ）では、ワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定する。なお、次にステップＳ０９０７（ページイン頻度記録ステップ）では、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に記録する。以上の処理を経て、決定ステップで決定された仮想ページＩＤに対応する情報をワークメモリからページアウトし、アクセスしようとしている仮想ページＩＤに対応する情報をワークメモリ上にページインする処理を行う。なお、ページイン頻度を記録する処理はページインの処理が行われた後に行うことも可能であるし、判断ステップの後に行うことも可能である。また、この図に示す例では、直近のアクセスが古い順に仮想ページＩＤに対するページイン頻度を取得して、逐一所定値以下であるか否か判断する処理を行っているが、直近のアクセスが古い順に所定数の仮想ページＩＤのページイン頻度をまとめて取得した上でページアウトすべき仮想ページＩＤを決定する処理を行うことも可能である。
【００４４】
<効果>
本実施例の発明により、本発明によって、実施例１の効果に加えて、さらにページフォルトの回数を減らす確実性が高くなる。
【実施例３】
【００４５】
<概要>
本実施例の発明は、基本的に実施例１又は２と共通するが、各アプリケーションの利用頻度を保持／記録し、利用頻度が高いアプリケーションが実行された場合に限り、実施例１又は２で説明した処理を行うことが可能である。
【００４６】
<構成>
図１０は、本実施例の仮想記憶を利用したページング方式を備えた装置の機能ブロックの一例を示す図である。この図にあるように、本実施例の「仮想記憶を利用したページング方式を備えた装置」１０００は、「ページイン頻度保持部」１００１と、「判断部」１００２と、「ページイン頻度取得部」１００３と、「決定部」１００４と、「利用頻度保持部」１００５と、「利用頻度取得部」１００６と、からなり、決定部は「限定的決定手段」１００７を有する。上記構成は、基本的に図１で説明した実施例１の構成と共通するため、相違点である「利用頻度保持部」と、「利用頻度取得部」と、「限定的決定手段」について説明する。
【００４７】
「利用頻度保持部」は、各アプリケーションの利用頻度を保持する機能を有する。ここで、アプリケーションの利用頻度についての期間は特に限定されるものではなく、過去の全期間とすることも可能であるし、過去１ヶ月、過去１週間、過去３日など任意の期間を設定することが可能である。また、これら複数の期間についてそれぞれ利用頻度を保持する構成も可能である。例えば、図１１の例では、過去１日のアプリケーションの利用頻度と、過去１週間のアプリケーションの利用頻度を保持する構成としている。この場合、いずれかの利用頻度が高い場合は、以下に述べる限定的決定手段の対象とする構成も可能である。
【００４８】
アプリケーションの利用頻度は、例えばアプリケーションの起動時に加算することも可能であるし、アプリケーションの終了時に加算することも可能である。また、所定時間以上にわたって利用された時点でアプリケーションの利用頻度を加算する構成も考えられる。
なお、アプリケーションの利用頻度は上記のように一定期間の積算値とすることも可能であるが、当該積算値に基づいて算出される平均値とすることも可能である。例えば、新たなアプリケーションがインストールされる場合などは、他のアプリケーションとの利用頻度の比較をしやすくするために、所定期間の平均値を算出することが考えられる。
【００４９】
「利用頻度取得部」は、各アプリケーションの起動時にそのアプリケーションの利用頻度を取得する機能を有する。ここで、アプリケーションの利用頻度の取得する構成としては、複数の期間の利用頻度を取得している場合は、一の所定期間を選択してその期間の利用頻度を取得することも可能である。また、各アプリケーションについて異なる期間の利用頻度を保持している場合は、所定期間の平均値を算出して取得する構成も可能である。
【００５０】
「限定的決定手段」は、前記利用頻度取得部にて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限り前記決定部による処理を行う機能を有する。ここで、所定レベルは任意に設定することが可能であり、例えば過去１日に５回以上利用されるレベルとすることや、過去１週間に２０回以上利用されるレベル、全てのアプリケーションの中で利用頻度が上位所定％（例えば、上位５０％）に入るレベルとすることも可能である。また、複数の条件を満たすものについて所定レベル以上であるとする構成も可能である。
【００５１】
なお、ここでいう決定部による処理とは、実施例１や２で説明したように、前記ページイン頻度取得部にて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する処理を意味するものである。なお、アプリケーションの利用頻度が所定レベルよりも小さい場合は、他の処理を行うことになる。例えば、ＬＲＵ法やＮＲＵ法のみを用いた処理を行うことが考えられる。
【００５２】
<具体的な構成>
本実施例の仮想記憶を利用したページング方式を備えた装置の具体的な構成は、基本的に図３で説明した実施例１の装置の具体的な構成と共通する。ただし、本実施例の装置は、ＮＡＮＤ型メモリにアプリケーションの利用頻度の情報を有する。
【００５３】
ＣＰＵは、アプリケーションの起動時において、ＮＡＮＤ型メモリに記憶されているアプリケーションのページイン頻度とアプリケーション利用頻度の情報をＲＡＭの所定アドレスに格納する。次に、ＣＰＵはアプリケーションの起動に伴って、ＲＡＭの所定アドレスに格納されている上記アプリケーションの利用頻度の情報を更新する処理を行う。さらに、ＣＰＵは起動したアプリケーションの利用頻度が所定レベル以上であるか否か判断する処理を行い、所定レベル以上である場合は決定処理用フラグを立てる。
【００５４】
また、ＣＰＵは、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるＲＡＭ上に存在するか否か判断する処理を行う。ここで、ＲＡＭ上に存在しないとの処理結果である場合、ＲＡＭの上記ページイン頻度の情報を更新する処理を行う。さらにＣＰＵは、アプリケーションで利用可能なＲＡＭの空き容量が所定値以下になっていること、かつ、上記決定処理用フラグが立っていることを条件として、ＲＡＭ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する処理を行う。次にＣＰＵは、ＲＡＭ上に存在する情報に対応する仮想ページＩＤのうちページイン頻度が最低値となるものをページアウトすべき情報に対応する仮想ＩＤとして決定する処理を行う。ここで、決定処理用フラグが立っていない場合は、ＬＲＵ法などを用いてページアウトすべき情報の仮想ページＩＤを決定する処理を行う（その他の方法を用いることも可能である）。最後にＣＰＵは、ページアウトすべき情報をＲＡＭからページアウトし、アクセスしようとしている仮想ページＩＤに係る情報をＲＡＭ上にページインする処理を行う。なお、実施例２で示したように、アクセス順履歴を保持／記録している場合などは、直近のアクセスが最も古い仮想ページＩＤからページイン頻度を取得して、所定値以下のものが見つかった段階でページアウトすべき情報に対応する仮想ページＩＤとして決定する処理を行うことも可能である。
【００５５】
<処理の流れ>
図１２は、本実施例の仮想記憶を利用したページング方式の処理方法における起動処理時の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ１２０１（利用頻度記録ステップ）では、アプリケーションの利用頻度を記録する（アプリケーションの終了時などに記録することも可能である）。次にステップＳ１２０２（利用頻度取得ステップ）では、アプリケーションの起動時にそのアプリケーションの利用頻度を取得する。次にステップＳ１２０３では、アプリケーションの利用頻度が所定レベル以上であるか否か判断する。ここでの判断が所定レベル以上であるとの判断である場合は、ステップＳ１２０４に進み決定ステップ用フラグを立てて、アプリケーションの起動処理を終了する。ここでの判断が所定レベルよりも低いとの判断である場合は、決定ステップ用フラグを立てずに、アプリケーション起動処理を終了する。
【００５６】
図１３は、本実施例の仮想記憶を利用したページング方式の処理方法における起動処理後の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ１３０１（判断ステップ）では、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報がワークメモリ上に存在するか否か判断する。ここでの判断が存在しないとの判断である場合はステップＳ１３０２に進む。ここでの判断が存在するとの判断である場合は処理を終了し、ページイン処理は行わない。次にステップＳ１３０２では、決定ステップ用フラグが立っているか否か判断する（決定ステップ：限定的決定サブステップ）。ここでの判断が立っているとの判断である場合はステップＳ１３０３Ａに進む。ここでの判断が立っていないとの判断である場合はステップＳ１３０４Ｂに進む。次にステップＳ１３０３Ａ（ページイン頻度取得ステップ）では、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する。次にステップＳ１３０４Ａ（決定ステップ）では、前記ページイン頻度取得ステップにて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報の仮想ページＩＤを決定する。ステップＳ１３０４Ｂでは、その他の任意の決定処理（例えばＬＲＵ法）を行い、ページアウトすべき情報に対応する仮想ページＩＤを決定する。ステップＳ１３０５（ページイン頻度記録ステップ）では、各仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上にページインされる頻度であるページイン頻度を仮想ページＩＤ毎に記録する。以上の処理を経て、決定ステップで決定された仮想ページＩＤに対応する情報をワークメモリからページアウトし、アクセスしようとしている仮想ページＩＤに対応する情報をワークメモリ上にページインする処理を行う。なお、ページイン頻度を記録する処理はページインの処理が行われた後に行うことも可能であるし、判断ステップの後に行うことも可能である。
【００５７】
<効果>
本実施例の発明により、本発明によって、実施例１の効果に加えて、アプリケーションの利用頻度に応じてページアウトする際の決定処理を変更することが可能になる。
【実施例４】
【００５８】
<概要>
本実施例の発明は、基本的に実施例３と共通するが、アプリケーションの利用頻度が所定レベル以上である場合に限り仮想ページＩＤのページイン頻度を保持／記録することが可能である。
【００５９】
<構成>
図１４は、本実施例の仮想記憶を利用したページング方式を備えた装置の機能ブロックの一例を示す図である。この図にあるように、本実施例の「仮想記憶を利用したページング方式を備えた装置」１４００は、「ページイン頻度保持部」１４０１と、「判断部」１４１４０２と、「ページイン頻度取得部」１４０３と、「決定部」１４０４と、「利用頻度保持部」１４０５と、「利用頻度取得部」１４０６と、からなり、決定部は「限定的決定手段」１４０７を有し、ページイン頻度保持部は「限定的保持手段」１４０８を有することを特徴とする。上記構成は、基本的に図で説明した実施例３の構成と共通するため、相違点である「限定的保持手段」について説明する。
【００６０】
「限定的保持手段」は、前記利用頻度取得部にて取得されたアプリケーションの利用頻度が所定レベル以上である場合に限りページイン頻度を保持する。ここで、所定レベルは任意に設定することが可能であり、限定的決定手段と同一の基準とすることも可能であるし、限定的決定手段と異なる基準とすることも可能である。例えば、限定的決定手段の所定レベルを１週間に平均７回以上利用されるレベルとして、限定的保持手段の所定レベルを１週間に平均３回以上利用されるレベルとすることも可能である。
【００６１】
<具体的な構成>
本実施例の仮想記憶を利用したページング方式を備えた装置の具体的な構成は、基本的に図３で説明した実施例１の装置の具体的な構成と共通する。ただし、本実施例の装置は、ＮＡＮＤ型メモリにアプリケーションの利用頻度の情報を有する。
【００６２】
ＣＰＵは、アプリケーションの起動時において、ＮＡＮＤ型メモリに記憶されているアプリケーションのページイン頻度とアプリケーション利用頻度の情報をＲＡＭの所定アドレスに格納する。次に、ＣＰＵはアプリケーションの起動に伴って、ＲＡＭの上記アプリケーションの利用頻度の情報を更新する処理を行う。さらに、ＣＰＵは起動したアプリケーションの利用頻度が所定レベルＡ（第一基準）以上であるか否か判断する処理を行い、所定レベルＡ以上である場合は記録処理用フラグを立てる。さらに、ＣＰＵは起動したアプリケーションの利用頻度が所定レベルＢ（第二基準）以上であるか否か判断する処理を行い、所定レベルＢ以上である場合は決定処理用フラグを立てる。ここで、所定レベルＡ、Ｂは任意に設定することが可能であるが、所定レベルＡを所定レベルＢ以下のレベルとすることが主として考えられる。
【００６３】
ＣＰＵは、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるＲＡＭ上に存在するか否か判断する処理を行う。ここで、ＲＡＭ上に存在しないとの処理結果である場合、アプリケーションで利用可能なＲＡＭの空き容量が所定値以下になっていること、かつ、決定処理用フラグが立っていることを条件として、ＲＡＭ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する処理を行う。次にＣＰＵは、ページイン頻度を取得した仮想ページＩＤのうち、ページイン頻度が所定値以下であると最初に検出されたものをページアウトすべき情報に対応する仮想ＩＤとして決定する処理を行う。ここで、決定処理用フラグが立っていない場合は、ＬＲＵ法のみを用いてページアウトすべき情報に対応する仮想ＩＤを決定する処理を行う（その他の従来技術の方法を用いることも可能である）。さらにＣＰＵは、ページアウトすべき情報をＲＡＭからページアウトし、アクセスしようとしている仮想ページＩＤに係る情報をＲＡＭ上にページインする処理を行う。また、ＣＰＵは記録処理用フラグが立っていることを条件として、ページインされる仮想ページＩＤを取得し、ＲＡＭの上記ページイン頻度の情報を更新する処理を行う。ここで、ＮＡＮＤ型メモリに記憶されている情報の更新は任意のタイミングで行うことが可能であり、所定時間経過後に行うことや、アプリケーションの終了時において行うことが考えられる。
【００６４】
<処理の流れ>
図１５は、本実施例の仮想記憶を利用したページング方式の処理方法における起動処理時の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ１５０１（利用頻度記録ステップ）では、アプリケーションの利用頻度を記録する。次にステップＳ１５０２（利用頻度取得ステップ）では、アプリケーションの起動時にそのアプリケーションの利用頻度を取得する。次にステップＳ１５０３では、アプリケーションの利用頻度がレベルＡ（第一基準）以上であるか否か判断する。ここでの判断がレベルＡ以上であるとの判断である場合は、ステップＳ１５０４に進み記録ステップ用フラグを立てて、ステップＳ１５０５に進む。ここでの判断がレベルＡよりも小さいとの判断である場合は、記録ステップ用フラグを立てずに、ステップＳ１５０５に進む。次にステップＳ１５０５では、アプリケーションの利用頻度がレベルＢ（第二基準）以上であるか否か判断する。ここでの判断がレベルＢ以上であるとの判断である場合は、ステップＳ１５０６に進み決定ステップ用フラグを立てて、アプリケーションの起動処理を終了する。ここでの判断がレベルＢよりも小さいとの判断である場合は、決定ステップ用フラグを立てずに、アプリケーション起動処理を終了する。
【００６５】
図１６は、本実施例の仮想記憶を利用したページング方式の処理方法における起動処理後の流れの一例を示す図である。同図の処理の流れは以下のステップからなる。最初にステップＳ１６０１（判断ステップ）では、プログラム実行手順によりアクセスしようとしている仮想ページＩＤに対応する情報が物理メモリであるワークメモリ上に存在するか否か判断する。ここでの判断が存在しないとの判断である場合はステップＳ１６０２に進む。ここでの判断が存在するとの判断である場合は処理を終了し、ページイン処理は行わない。次にステップＳ１６０２では、決定ステップ用フラグが立っているか否か判断する。ここでの判断が立っているとの判断である場合はステップＳ１６０３Ａに進む。ここでの判断が立っていないとの判断である場合はステップＳ１６０４Ｂに進む。次にステップＳ１６０３Ａ（ページイン頻度取得ステップ）では、ワークメモリ上に存在する情報に対応する仮想ページＩＤのページイン頻度を取得する。次にステップＳ１６０４Ａ（決定ステップ）では、前記ページイン頻度取得ステップにて取得したページイン頻度に応じてワークメモリ上からページアウトすべき情報に対応する仮想ページＩＤを決定する。ステップＳ１６０４Ｂでは、その他の任意の決定処理（例えばＬＲＵ法）を行う。次にステップＳ１６０５では記録ステップ用フラグが立っているか否か判断する。ここでの判断が立っているとの判断である場合は、ステップＳ１６０６に進む。ここでの判断が立っていないとの判断である場合は、処理を終了する。ステップＳ１６０６（ページイン頻度記録ステップ）では、プログラム実行手順によりアクセスされる頻度であるページイン頻度を仮想ページＩＤ毎に記録する。以上の処理を経て、決定ステップで決定された仮想ページＩＤに対応する情報をワークメモリからページアウトし、アクセスしようとしている仮想ページＩＤに対応する情報をワークメモリ上にページインする処理を行う。なお、ページイン頻度を記録する処理はページインの処理が行われた後に行うことも可能であるし、判断ステップの後に行うことも可能である。
【００６６】
<効果>
本実施例の発明により、本発明によって、実施例３の効果に加えて、アプリケーションの利用頻度の高いものについてのみページイン頻度を保持することが可能になる。
【符号の説明】
【００６７】
０１００  仮想記憶を利用したページング方式を備えた装置
０１０１  ページイン頻度保持部
０１０２  判断部
０１０３  ページイン頻度取得部
０１０４  決定部
０３０１  ＣＰＵ（ページング処理機構）
０３０２  ＲＡＭ（ワークメモリ）
０３０３  ＮＡＮＤ型メモリ（二次記憶装置）
０３０４  システムバス
０５０５  アクセス順履歴保持部
０５０６  アクセス順仮想ページＩＤ出力部
１００５  利用頻度保持部
１００６  利用頻度取得部
１００７  限定的決定手段
１４０８  限定的保持手段
【図１】
2011095885.tif 000003
【図２】
2011095885.tif 000004
【図３】
2011095885.tif 000005
【図４】
2011095885.tif 000006
【図５】
2011095885.tif 000007
【図６】
2011095885.tif 000008
【図７】
2011095885.tif 000009
【図８】
2011095885.tif 000010
【図９】
2011095885.tif 000011
【図１０】
2011095885.tif 000012
【図１１】
2011095885.tif 000013
【図１２】
2011095885.tif 000014
【図１３】
2011095885.tif 000015
【図１４】
2011095885.tif 000016
【図１５】
2011095885.tif 000017
【図１６】
2011095885.tif 000018