(57)【要約】【課題】ＲＡＭ上のページの内容を圧縮して退避するコンピュータシステムにおける、ページの圧縮率を向上させること。また、圧縮率を向上させるために追加する処理の実行時間は短くおさえること。【解決手段】本発明による情報処理装置では、セグメント管理情報１３０３を参照して、属性が一致するページをグルーピングするグルーピング部１３０５を有し、圧縮処理を行う前に、事前に類似性の高いページをグルーピングすることで、圧縮率を高める。また、グルーピング処理においては、セグメント情報という、サイズの限られた情報を参照するため、グルーピングに要する時間が短くてすむ。【選択図】図３
2007304911.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶を備えるコンピュータシステムであって、
セグメント管理情報と、
前記セグメント管理情報を参照して、ページをグルーピングし、ページグループ情報を出力するグルーピング部と、
前記グルーピング部より、ページグループ情報を取得して、ページグループを圧縮する圧縮部と、
前記圧縮部により圧縮されたページグループを記憶する、圧縮データ格納部と、
を有することを特徴とした、情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって
前記グルーピング部からページグループ情報を取得し、圧縮するページグループの順序を決定する、順序決定部を有することを特徴とした情報処理装置。
【請求項３】
請求項２記載の情報処理装置であって
前記圧縮データ格納部から、圧縮履歴の情報を作成し、前記順序決定部へ出力する圧縮履歴反映部を備え、
前記順序決定部は、前記圧縮履歴反映部から取得した圧縮履歴を用いて、前記グルーピング部から取得したページグループ情報することを特徴とした情報処理装置。
【請求項４】
セグメント管理情報と、
前記セグメント管理情報を参照して、ページをグルーピングし、ページグループ情報を生成するグルーピングステップと、
前記グルーピングステップで生成された、ページグループ情報を取得して、ページグループを圧縮する圧縮ステップと、
前記圧縮ステップにより圧縮されたページグループを記憶する圧縮データと、
を有することを特徴とした、情報処理方法。
【請求項５】
セグメント管理情報と、
前記セグメント管理情報を参照して、ページをグルーピングし、ページグループ情報を生成するグルーピングステップと、
前記グルーピングステップで生成された、ページグループ情報を取得して、ページグループを圧縮する圧縮ステップと、
前記圧縮ステップにより圧縮されたページグループを記憶する圧縮データと、
を有することを特徴とした、情報処理方法を実現するためのプログラム。
【請求項６】
セグメント管理情報と、
前記セグメント管理情報を参照して、ページをグルーピングし、ページグループ情報を生成するグルーピングステップと、
前記グルーピングステップで生成された、ページグループ情報を取得して、ページグループを圧縮する圧縮ステップと、
前記圧縮ステップにより圧縮されたページグループを記憶する圧縮データと、
を有することを特徴とした、情報処理方法を実現するためのプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想記憶を備えたコンピュータシステムに関するものであって、特に、主記憶の内容を圧縮して退避させる機構を有するコンピュータシステムに関するものである。
【背景技術】
【０００２】
仮想記憶を備えたコンピュータシステムの分野では、主記憶の内容を、同一もしくは別の記憶媒体へ退避する技術が存在する。
【０００３】
例えば、スワップと呼ばれる技術がある。スワップとは、主記憶の空き容量が不足してきたときなどをトリガとして、主記憶の内容の一部を、二次記憶に一時的に退避し、空いた領域をほかのプログラムに割り当てることにより、実際に搭載されている主記憶よりも、主記憶を多く見せかけることができるため、ＰＣやワークステーションをはじめとしたコンピュータシステムに広く搭載されている。
【０００４】
さらに、特許文献１では、主記憶の内容を圧縮してから、退避するための技術が開示されている。特許文献１では、主記憶の空き容量がわずかしかない状態を検出した場合に、アクティブプロセスからページを除去し、ページを圧縮してから、フリーリストと呼ばれる領域へ退避する。退避するページを事前に圧縮することにより、退避されたページを格納するために必要な記憶媒体を節約することができる。
【特許文献１】特開平８−２４１２４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、携帯電話に代表される組み込み機器にスワップを適用する場合を考えると、組み込み機器に搭載されている二次記憶を含めた記憶媒体の容量は、ＰＣやワークステーションに搭載されている記憶媒体の容量と比べて小さい。そのため、主記憶の内容を退避させる際に、退避する内容を格納するための記憶媒体が不足する可能性がある。
【０００６】
そのため、主記憶の内容を圧縮する際の圧縮率をさらに高める必要がある。加えて、携帯電話などの組み込み機器では、ユーザに対する高いレスポンス性能が要求されるため、圧縮率を高めるために追加する処理の実行時間は、短くなければならない。
【０００７】
例えば、ＲＡＭの内容を比較して、類似している領域を集めてから圧縮処理をおこなう方法が容易に考えられるが、ＲＡＭの内容を比較する処理に多大な時間を要するため、現実的ではない。
【０００８】
本発明は、前記従来の課題を解決するもので、圧縮率を高め、しかも圧縮率を高めるために追加した処理の実行時間が短いことを特徴とした、情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記従来の課題を解決するために、本発明の情報処理装置は、プロセスが確保しているＲＡＭの中で、共有ライブラリが使用するＲＡＭの類似性に着目し、セグメント管理情報を参照して、ＲＡＭの領域をグルーピングすることにより、短い処理時間で、圧縮率を高めるための有することを特徴とする。
【００１０】
仮想記憶を備えたシステムでは、各プログラムが使用するＲＡＭ領域は、プロセスと呼ばれる単位で管理される。プロセスは、それぞれ独立したアドレス空間を持ち、ＲＡＭにアクセスする際には、プロセス固有の論理アドレスを物理アドレスに変換してから、ＲＡＭの対応する物理アドレスの位置に対して読み書きを行う。
【００１１】
また、各プロセスのアドレス空間は、ページと呼ばれる固定サイズのブロックに分割される。
【００１２】
各プロセスでは、共有ライブラリが使われる。共有ライブラリとは、複数のプログラムから共通して利用される関数や変数をモジュール化したものである。共有ライブラリをはじめとした実行バイナリは、使用目的に応じてセグメントで区切られる。
【００１３】
セグメントの例としては、プログラムの実行コードが格納されたセグメントや、静的変数が格納されたセグメント、変数のアドレス情報が格納されたセグメントや、スタックに用いられるセグメントなどがある。
【００１４】
プログラムの実行コードが格納されたセグメントは、各プロセスで同じＲＡＭ領域を共用することができる。これに対して、静的変数が格納されたセグメントは、プロセスごとに、別々のＲＡＭ領域が割り当てられる。
【００１５】
本発明では、共有ライブラリの静的変数が格納されたセグメントが、異なるプロセスであっても類似する点に着目する。理由を以下に示す。
【００１６】
まず、共有ライブラリの静的変数は、セグメント先頭からの相対アドレスが固定されている。そのため、異なるプロセスであっても、同じ共有ライブラリで、なおかつ同じセグメントであり、そのセグメントが静的変数を保持するセグメントであって、セグメント先頭からの相対アドレスが同じであれば、同じ静的変数が格納される特徴がある。
【００１７】
また、共有ライブラリの静的変数を初期化する処理は、同じ共有ライブラリであれば、同じ初期化関数が用いられることが多い。異なるプロセスであっても、同じ静的変数は、傾向として同じ値で初期化されるものが多い。
【００１８】
また、共有ライブラリの特性として、各プロセスは、すべての変数にアクセスするわけではないので、同じ値で初期化された変数が、値が変更されずにそのまま残っている場合が多数存在する。
【００１９】
したがって、各プロセスのＲＡＭ領域には、同じ共有ライブラリで、なおかつ同じセグメントで、セグメント先頭からの相対アドレスが同じページであれば、内容は類似したものになる。コンピュータシステムでは、多数のプロセスから参照される共有ライブラリが多数存在しているため、内容の類似したセグメントも多数存在する。
【００２０】
なお、コンピュータシステムでは、前述したプロセスやセグメントおよびページは、オペレーティングシステムにより管理される。そのため、オペレーティングシステムには、プロセスを識別するための情報や、共有ライブラリを識別するための情報が格納される。
【００２１】
これらの情報を参照して、ページをグルーピングすれば、圧縮率を高めるための処理を、短時間に行うことができる。なぜならば、ページの内容を実際に比較して類似するページをグルーピングするのではなく、管理情報といったサイズの小さい情報を参照する処理が主となるためである。
【発明の効果】
【００２２】
本発明によれば、圧縮処理を行う前に、結果として類似性の高いページのグループを作成するので、そのページのグループをまとめた圧縮することにより、より小さなサイズに圧縮することができる。また、本発明は、セグメントの管理情報といったサイズの限られた情報を参照することで、類似したページをグルーピングするので、短い処理時間でグルーピングを行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（実施の形態１）
本発明にかかるコンピュータシステムの例として、携帯電話へ適用するケースを説明する。図１に示すとおり、携帯電話には、筐体１１０１、出力デバイスである表示装置１１０２があり、入力デバイスであるキー１１０３などを備え、筐体１１０１の内部には集積回路を搭載した基板１１０４が格納される。
【００２５】
筐体内部の基板上には、図２に示すとおり、ＣＰＵ１２０１、主記憶であるＲＡＭ１２０２、二次記憶装置のＲＯＭ１２０３や、入力デバイス１２０４、出力デバイス１２０５が、それぞれバス１２０６を介して接続される。その他にも、信号処理専用のプロセッサなど、他のデバイスがバスを介して接続されることもある。
【００２６】
コンピュータシステムでは、典型的には、プログラムは、二次記憶装置１２０３から主記憶１２０２にロードされて、ＣＰＵ１２０１により実行される。プログラムの一部は、二次記憶装置１２０３から主記憶１２０２にロードされずに、二次記憶装置１２０３からＣＰＵ１２０１により実行されることもある。
【００２７】
ここで、本発明の実施の形態１におけるブロック図を図３に示す。
【００２８】
通常、仮想記憶を備えたコンピュータシステムには、オペレーティングシステム１３０１が搭載されており、プロセスの管理は、オペレーティングシステム１３０１が行っている。オペレーティングシステム１３０１は、各プロセスのプロセス管理情報１３０２を保持する。プロセス管理情報１３０２には、セグメント管理情報１３０３と、ページテーブル１３０４が格納されている。
【００２９】
グルーピング部１３０５は、セグメント管理情報１３０３を参照し、共有ライブラリ識別情報と、セグメント識別情報と、ページ識別情報を読み込み、共有ライブラリ識別情報とセグメント識別情報とページ識別情報が一致するページをグルーピングする。
【００３０】
圧縮部１３０６は、グルーピング部１３０５によってグルーピングされたページの情報を用いて、ＲＡＭ１３０７からページの内容を読み込み、ページの類似性を利用した圧縮を行い、圧縮されたページグループを圧縮データ格納部１３０８へ出力する。また、圧縮済みページのアドレスをページ開放部１３０９へ出力する。
【００３１】
ＲＡＭ１３０７は主記憶１２０２として使用され、プロセスによって確保されたページを保持する。
【００３２】
圧縮データ格納部１３０８は、圧縮部１３０６が圧縮したページグループを記憶する。
【００３３】
ページ開放部１３０９は、圧縮されたページを開放し、開放したページの物理アドレスを空きページ管理部１３１０へ出力する。
【００３４】
空きページ管理部１３１０は、開放されたページの物理アドレスを記憶する。
【００３５】
ページ復元部１３１１は、圧縮データ格納部１３０８から、圧縮済みページを解凍し、空きページ管理部１３１０から、開放済みページの物理アドレスを取得し、ＲＡＭ１３０７上の物理アドレスの位置にページの内容を書き込む。
【００３６】
次にプロセス管理情報１３０２の構成要素である、セグメント管理情報１３０３と、ページテーブル１３０４について説明する。
【００３７】
セグメント管理情報１３０３は、図４に示すとおり、プロセスがロードした、共有ライブラリを識別するための共有ライブラリ識別情報１４０１、セグメント識別情報１４０２、ページ識別情報１４０３、論理アドレス１４０４を保持する。
【００３８】
実施の形態１では、共有ライブラリ識別情報１４０１には、共有ライブラリ名を用い、セグメント識別情報１４０２には、セグメント名を用い、ページ識別情報１４０３には、セグメント先頭からの相対アドレスを用いる。
【００３９】
なお、共有ライブラリ識別情報１４０１は、共有ライブラリを一意に識別できる情報であればよく、共有ライブラリ名のほかにも、ファイルシステム上の共有ライブラリのノード番号や、ファイル名の一部を用いてもよい。また、セグメント識別情報１４０２についても、セグメントを識別できる情報であれば良いため、セグメント名のほかにも、セグメントのアクセス属性などを用いてもよい。ページ識別情報１４０３は、ページテーブル１３０４は、図５に示すとおり、プロセス上の論理アドレス１５０１と、それに対応するＲＡＭ１３０７上の物理アドレス１５０２および、そのページの状態を表すフラグ１５０３を保持する。
【００４０】
次に、図面を参照しながら、本発明の実施の形態１における動作例を説明する。
【００４１】
まず、ページを圧縮して物理ページから開放する動作を説明する。
【００４２】
ページを圧縮して物理ページから開放する動作の開始トリガが発生した場合、グルーピング部１３０５へ処理が移される。開始トリガの例としては、空きページが少なくなったことが検知された場合や、ユーザからの要求があった場合、一定時間キー１１０３に対する操作がなかったことを検出した場合などを挙げることができる。
【００４３】
グルーピング部１３０５が行う処理のフローチャートを図６に示す。で、Ｓ１６０１で、各プロセスのプロセス管理情報１３０２から、セグメント管理情報１３０３を読み込む。次に、Ｓ１６０２では、Ｓ１６０１で読み込んだ、セグメント管理情報１３０３から、同じ共有ライブラリ識別情報１４０１で、なおかつ同じセグメント識別情報１４０２で、なおかつ同じページ識別情報１４０３を有するページがないか検索する。Ｓ１６０３では、検索により見つかった、ページの情報をまとめ、ページグループ情報を作成する。
【００４４】
Ｓ１６０３で作成する、ページグループ情報のデータ構造の例を図７に示す。ヘッダ１７０１に、共有ライブラリ識別情報１７０２と、セグメント識別情報１７０３と、ページ識別情報１７０４を有し、プロセス識別情報１７０５と、論理アドレス１７０６のリストが格納される。
【００４５】
このように、グルーピング部１３０５では、共有ライブラリ識別情報１４０１と、セグメント識別情報１４０２と、ページ識別情報１４０３が同じページのグループを抽出する処理を行っている。前述したとおり、異なるプロセスであっても、これらの識別情報が同じページは、類似する傾向があるため、これにより、類似する可能性の高いページをグルーピングすることができる。したがって、圧縮率が高くなるようにページをグループ化することができる。
【００４６】
次に、圧縮部１３０６が行う処理のフローチャートを図８に示す。Ｓ１８０１では、前記グルーピング部１３０５より取得したページグループ情報を読み込む。次に、Ｓ１８０２で、ページグループ情報に記述されている論理アドレスを、各プロセスのページテーブル１３０４を参照することで物理アドレスに変換する。Ｓ１８０３では、Ｓ１８０２で変換された物理アドレスを用いてＲＡＭ１３０７にアクセスし、ページの内容を取得する。Ｓ１８０４では、取得した複数のページの内容を、ページ間の類似性を利用してまとめて圧縮し、圧縮データ格納部１３０８へ格納する。Ｓ１８０５では、圧縮したページのプロセス識別情報と、論理アドレスと物理アドレスを、ページ開放部１３０９へ出力する。
【００４７】
前記Ｓ１８０４では、取得したページを、ページの類似性を利用して圧縮するが、類似性を利用した圧縮方法の例として、差分圧縮が挙げられる。差分の元になる情報として、１プロセス目のページの内容を用い、２プロセス目より後は、それとの差分のみを保持する。圧縮された情報を格納するデータ構造の例を図９に示す。ヘッダ１９０１には、共有ライブラリ識別情報１９０２と、セグメント識別情報１９０３と、ページ識別情報１９０４が格納され、差分の元である元ページのイメージ１９０５として、１プロセス目のページの内容が格納される。差分データ１９０６として、プロセスごとの差分データ１９０７が複数格納される。プロセスごとの差分データ１９０７は、プロセス識別情報と１９０８、仮想アドレス１９０９、差分が存在した変数のページ先頭からの相対アドレス１９１０と、変数値１９１１の形のデータ構造をとることで、２プロセス目以降のページの内容を圧縮して格納することができる。なお、簡単のため、元ページのイメージ１９０５を１プロセス目のページの内容としたが、２プロセス目以降のページの内容を元ページのイメージ１９０５としてもよい。
【００４８】
ページ開放部１３０９のフローチャートを図１０に示す。Ｓ２００１で圧縮部１３０６より圧縮済みページのプロセス識別情報と、論理アドレスと物理アドレスを取得する。Ｓ２００２では、取得したプロセス識別情報に該当するプロセスの、ページテーブル１３０４を書き換え、該当する論理アドレス１５０１に対応する、物理アドレス１５０２に０を書き込み、該当するページが圧縮されたことを示す情報をフラグ１５０３に書き込む。Ｓ２００３では、取得した物理アドレスを、空きページ管理部１３１０へ出力する。
【００４９】
空きページ管理部１３１０では、空きページの物理アドレスを管理する。物理アドレスを取得した場合は、物理アドレスを空きページ管理部１３１０に格納する。ページ取得要求を取得した場合は、空きページ管理部１３１０に格納されている物理アドレスのうちの１つを出力して、出力した物理アドレスを、空きページ管理部１３１０から消去する。
【００５０】
次に、圧縮されたページをＲＡＭ１３０７上に復元する動作を説明する。
【００５１】
例えば、圧縮済みのページが格納された論理アドレスへのアクセス要求があった場合、ページテーブル１３０４には、論理アドレスに該当する物理アドレスに０が記載されていないため、ページフォルトを発生する。
【００５２】
ページフォルト処理では、まず、通常のページフォルト処理を行う前に、ページテーブル１３０４のフラグ１５０３を参照する。ページが圧縮されたことを示すフラグが検出された場合、ページ復元部１３１１へ、プロセス識別情報と論理アドレスを出力し、ページ復元部１３１１に処理を移す。検出されなかった場合は、通常のページフォルト処理が行われる。
【００５３】
ページ復元部１３１１へ処理が移された場合の、フローチャートを図１１に示す。Ｓ２１０１では、プロセス識別情報と論理アドレスを取得する。次に、Ｓ２１０２では、圧縮データ格納部１３０８を読み込み、取得したプロセス識別情報と論理アドレスに該当する、圧縮済みページの内容を読み込み、Ｓ２１０３では、圧縮済みページを解凍する。次に、Ｓ２１０４では、空きページ管理部１３１０より、物理アドレスを取得し、Ｓ２１０５で、Ｓ２１０４で取得した物理アドレスに、Ｓ２１０３で解凍したページの内容を書き込む。Ｓ２１０６では、ページテーブル１３０４に物理アドレスを書き込み、ページが圧縮されたことを示すフラグを消去する。
【００５４】
上記の処理を行うことで、圧縮されたページを、ＲＡＭ１３０７上に復元することができる。また、その後、ページフォルトが発生する前の処理を再度行うことで、ページが圧縮される前と同じ状態で、ページにアクセスすることができる。
【００５５】
（実施の形態２）
図１２は、本発明の実施の形態２の情報処理装置のブロック図である。図１２において、図３と同じ構成要素については同じ符号を用い、説明を省略する。
【００５６】
順序決定部２２０１は、圧縮部１３０６が処理するページグループの順序を決定する処理を行う。これにより、圧縮効果が期待できるページグループから、順番に圧縮することができる。
【００５７】
順序決定部２２０１は、グルーピング部１３０５から取得したページグループに関して、どのページグループから圧縮するかその順序を決定するための圧縮優先度テーブルを有する。圧縮優先度テーブルの例を図１３に示す。圧縮優先度テーブルには、共有ライブラリ識別情報２３０１、セグメント識別情報２３０２、ページ識別情報２３０３、圧縮優先度２３０４が格納される。
【００５８】
圧縮優先度２３０４の設定方法の例としては、第一の例として、より多くのプロセスから参照されるような共有ライブラリを高めにしておくことや、第二の例として、セグメントごとに類似度が異なる場合は、例えば、静的変数が格納されたセグメントが、アドレステーブルが格納されたセグメントよりも類似度が傾向にある場合は、静的変数を格納したセグメントの圧縮優先度２３０４を高く設定する方法が挙げられる。圧縮優先度２３０４を設定することで、圧縮の効果の高いページグループから順番に、圧縮部１３０６に処理させやすくなる。
【００５９】
順序決定部２２０１の行う処理を図１４に示す。Ｓ２４０１でグルーピング部１３０５よりページグループ情報を取得し、Ｓ２４０２で、ページグループ情報から、共有ライブラリ識別情報と、セグメント識別情報、およびページ識別情報を取得する。Ｓ２４０３では、Ｓ２４０２で取得した情報を用いて、圧縮優先度テーブルを参照し、ページグループの圧縮優先度を取得する。Ｓ２４０４では、圧縮優先度の高いページグループから順番に、ページグループ情報を圧縮部１３０６へ出力する。
【００６０】
（実施の形態３）
図１５は、本発明の実施の形態２の情報処理装置のブロック図である。図１５において、図１２と同じ構成要素については同じ符号を用い、説明を省略する。
【００６１】
図１５において、圧縮履歴反映部２５０１は、圧縮データ格納部１３０８より、圧縮されたページグループを読み込み、順序決定部２２０１が有する圧縮優先度テーブルにその情報を反映させる。
【００６２】
圧縮履歴反映部２５０１の行う処理を図１６に示す。Ｓ２６０１で、圧縮データ格納部１３０８より、圧縮済みのページグループを読み込む。次に、Ｓ２６０２で、読み込んだページグループの共有ライブラリ識別情報と、セグメント識別情報と、ページ識別情報と、サイズと圧縮されているページ数を抽出する。Ｓ２６０３では、圧縮されているページ数をサイズ割った数値を求め、Ｓ２６０４では、共有ライブラリ識別情報と、セグメント識別情報と、ページ識別情報と、圧縮優先度を順序決定部へ出力する。
【００６３】
順序決定部２２０１は、共有ライブラリ識別情報と、セグメント識別情報と、ページ識別情報と、圧縮優先度を取得し、圧縮優先度テーブルを更新する。
【００６４】
以上のように、圧縮データ格納部１３０８の情報を元に、Ｓ２６０３で、圧縮優先度を計算して、圧縮するページグループの順序を決定するための情報に反映することで、圧縮効果の高いページグループから順に圧縮させることが可能となる。
【００６５】
なお、この例では、Ｓ２６０３では、圧縮されたページ数をサイズで割った数値を圧縮優先度としたが、圧縮部１３０６が圧縮処理を行った際の履歴情報を、圧縮するページグループの順序の決定に反映させることができるものであれば、他のパラメータを用いてもよい。
【００６６】
なお、オペレーティングシステム１３０１、プロセス管理情報１３０２、セグメント管理情報１３０３、ページテーブル１３０４、グルーピング部１３０５、圧縮部１３０６、圧縮データ格納部１３０８、ページ開放部１３０９、空きページ管理部１３１０、ページ復元部１３１１、順序決定部２２０１、圧縮履歴反映部２５０１は、典型的にはソフトウェアとして実現される。ただし、これらの構成要素の一部または全部を、専用の集積回路で実現してもよい。集積回路は集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００６７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  ＰｒｏｇｒａｍｍａｂｌｅＧａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００６８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【００６９】
なお、本実施の形態では、携帯電話を例にとって説明を行ったが、本発明は仮想記憶を備えたコンピュータシステムであれば、携帯電話以外にも適用可能であり、例えば、パーソナルコンピュータや、テレビや、レコーダー、カーナビゲーションシステムなどにも応用できることは、容易に想像できよう。
【００７０】
また、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【００７１】
本発明にかかる情報処理装置は、短い処理時間で圧縮効果を高めるための構成要素を有し、携帯電話、テレビ、ＤＶＤレコーダー、カーナビゲーションシステム等の組み込み機器向けの、メモリの効率使用や、省電力技術として有用である。また、組み込み機器に限らず、パーソナルコンピュータ等の用途にも応用できる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態１における携帯電話の図
【図２】本発明の実施の形態１におけるハードウェアブロック図
【図３】本発明の実施の形態１における構成要素のブロック図
【図４】本発明の実施の形態１におけるセグメント管理情報のデータ構造の図
【図５】本発明の実施の形態１におけるページテーブルの図
【図６】本発明の実施の形態１におけるグルーピング部のフローチャート
【図７】本発明の実施の形態１におけるページグループ情報のデータ構造の図
【図８】本発明の実施の形態１における圧縮部のフローチャート
【図９】本発明の実施の形態１における圧縮データ格納部に格納されるデータ構造の図
【図１０】本発明の実施の形態１におけるページ開放部のフローチャート
【図１１】本発明の実施の形態１におけるページ復元部のフローチャート
【図１２】本発明の実施の形態２における構成要素のブロック図
【図１３】本発明の実施の形態２における圧縮優先度テーブルのデータ構造の図
【図１４】本発明の実施の形態２における順序決定部のフローチャート
【図１５】本発明の実施の形態３における構成要素のブロック図
【図１６】本発明の実施の形態３における圧縮履歴反映部のフローチャート
【符号の説明】
【００７３】
１３０１    オペレーティングシステム
１３０２    プロセス管理情報
１３０３    セグメント管理情報
１３０４    ページテーブル
１３０５    グルーピング部
１３０６    圧縮部
１３０７    ＲＡＭ
１３０８    圧縮データ格納部
１３０９    ページ開放部
１３１０    空きページ管理部
１３１１    ページ復元部
【図１】
2007304911.tif 000003
【図２】
2007304911.tif 000004
【図３】
2007304911.tif 000005
【図４】
2007304911.tif 000006
【図５】
2007304911.tif 000007
【図６】
2007304911.tif 000008
【図７】
2007304911.tif 000009
【図８】
2007304911.tif 000010
【図９】
2007304911.tif 000011
【図１０】
2007304911.tif 000012
【図１１】
2007304911.tif 000013
【図１２】
2007304911.tif 000014
【図１３】
2007304911.tif 000015
【図１４】
2007304911.tif 000016
【図１５】
2007304911.tif 000017
【図１６】
2007304911.tif 000018