JP2008226082A - データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 - Google Patents
データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 Download PDFInfo
- Publication number
- JP2008226082A JP2008226082A JP2007066363A JP2007066363A JP2008226082A JP 2008226082 A JP2008226082 A JP 2008226082A JP 2007066363 A JP2007066363 A JP 2007066363A JP 2007066363 A JP2007066363 A JP 2007066363A JP 2008226082 A JP2008226082 A JP 2008226082A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- swap
- swapped
- priority
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】各プロセスが処理に用いる必要なメモリを早急に確保できるデータ圧縮伸張装置を提供する。
【解決手段】本発明に係るデータ圧縮伸張装置は、各プロセスが使用するデータを圧縮しながらスワップアウトする際に、スワップアウトされたプロセスとスワップアウトされたデータの圧縮率を対応付けて履歴をとり、次回以降、該当プロセスが起動された場合には、前記履歴を参照してデータの圧縮率が高いプロセスを優先的にスワップアウトさせることを特徴とする。
【選択図】 図1
【解決手段】本発明に係るデータ圧縮伸張装置は、各プロセスが使用するデータを圧縮しながらスワップアウトする際に、スワップアウトされたプロセスとスワップアウトされたデータの圧縮率を対応付けて履歴をとり、次回以降、該当プロセスが起動された場合には、前記履歴を参照してデータの圧縮率が高いプロセスを優先的にスワップアウトさせることを特徴とする。
【選択図】 図1
Description
本発明は、ハードウェア上で動作するソフトウェアが使用するメインメモリを圧縮して一時保存することでメモリ使用効率を向上させるコンピュータシステムに関する。
従来より、アクセス頻度の低いメモリ領域をハードディスク等のストレージに一時保存して必要な物理メモリの容量を確保するスワップ技術を用いたデータ圧縮伸張装置が知られている。
特許文献1には、物理メモリの使用率を監視し、物理メモリが消耗に近い場合には、ソフトウェアが使用するデータを強制的にスワップアウトさせるデータ圧縮伸張装置が開示されている。これにより、実メモリ・ページを解放することができる。
特許文献2には、スワップアウトを行うプログラムを選択し、このプログラムに割り当てられたファイルをスワップアウトさせるデータ圧縮伸張装置が開示されている。このように、スワップアウトを行うファイルを選択することにより、スワップアウトによって確保される物理メモリの利用を効率よく行うことができる。選択にあたっては、例えば、ファイルが参照された最新の日付が最も古いものや、バックアップファイル、更新されていないファイル、確保しなければならないメモリを解放できると予測されるファイル、或いは、圧縮アルゴリズムに対し最も圧縮効率が高いと予測されるファイルを優先的にスワップアウトさせることが挙げられている。
特許文献3には、プロセスイメージを圧縮しながらスワップアウトさせ、圧縮されたプロセスイメージを伸張しながらスワップインさせるデータ圧縮伸張装置が開示されている。また、特許文献4には、圧縮率に応じてデータを転送する優先順位を変更するデータ圧縮伸張装置が開示されている。
特許3643318号(段落0035、図2)
特開2000−215099号公報(段落0031、図4)
特開2000−276363号公報(段落0008)
特開2004−287482号公報(段落0056)
しかしながら特許文献1に示されたデータ圧縮伸張装置では、物理メモリが消耗に近い場合にはソフトウェアが使用するデータを強制的にスワップアウトさせるため、アクティブなプロセスが利用するデータの圧縮/伸張を行うこととなり、実行しているプロセスの処理に大きなオーバーヘッドが生じてしまうという問題点を有する。
また、特許文献2に示されたデータ圧縮伸張装置では、圧縮率が高いと予測されるものを優先的にスワップアウトすることが示されているが、この圧縮率が高いという予測は、例えば、MPEG形式やJPEG方式よりも文章ファイルの圧縮率が高いと予測するなど(段落0048)、ファイル形式やファイルサイズを参照して圧縮率を予測しており、圧縮率が予測できる特定のファイルしかスワップアウトの優先順位の変更することができないという問題点を有する。また、特許文献2には、プロセスの実行優先度が低いプログラムに対して優先的にスワップアウトすることが開示されているが、プロセスが利用するメモリを効率的に圧縮する手法については何ら工夫されていない。
また、特許文献3に示されたデータ圧縮伸張装置では、データを圧縮しながらスワップアウトさせているが、スワップアウトを行う優先順位に対しては何ら工夫されていないため、先に圧縮率の低いデータがスワップアウトされた場合には、確保しなければならないメモリを解放するまでに長い処理時間を要してしまうという問題点を有する。
また、特許文献4に示されたデータ圧縮伸張装置は、複数のブロックのデータを圧縮した後に、圧縮後のサイズが小さいものから順に転送を行うため、所定のブロックのデータの圧縮が完了するまでデータ転送を行うことができないという問題点を有する。
本発明は、このような問題点に鑑みてなされたものであり、スワップデバイスを各プロセスが処理に使用するメモリ領域と同じ領域へスワップデータを圧縮しながら格納するシステムにおいて、各プロセスが処理に用いる必要なメモリを早急に確保できるデータ圧縮伸張装置を提供することを目的とする。
本発明の他の目的は、各プロセスが使用するデータが圧縮されながらスワップアウトされる際に、データの圧縮率を取得し、スワップアウトされたプロセスとその圧縮率を対応付けて履歴をとり、次回以降、該当プロセスが起動された場合には、履歴を参照して既に起動されているプロセスよりもスワップアウトされたデータの圧縮率が高いプロセスを優先的にスワップアウトさせることにより、予め装置に搭載されたRAMなどの物理メモリ容量を効率的に確保することを目的とする。
本発明の更に他の目的は、プロセスの利用頻度が低いデータ領域を圧縮してRAMなどの物理メモリ上に格納するデータ圧縮伸張装置において、より圧縮率の高いデータを優先して圧縮して物理メモリに格納することにより、物理メモリを有効に利用し、装置パフォーマンスを低下させる要因の一つであるメモリ解放処理の回数を削減し、装置性能を向上させることにある。
本発明の他の目的は、プロセスの利用頻度が低いデータ領域を圧縮して、物理メモリと比較してアクセス速度の遅いストレージなどに格納するデータ圧縮伸張装置において、より高い圧縮率のデータを優先して圧縮してストレージなどに格納することで、ストレージなどに転送されるデータ量を削減し、装置性能を向上させることにある。
本発明に係るデータ圧縮伸張装置は、ソフトウェアの処理において、一時的にデータを保存するメモリの使用率を監視し、前記メモリに保存されたデータをスワップデバイスへスワップアウトさせるスワップ処理を制御するOS部と、前記スワップデバイスにアクセス可能なスワップデバイスドライバ部と、前記スワップアウトされたデータの圧縮及び伸張を行うデータ圧縮/伸張部と、前記スワップアウトされたデータの圧縮率に基づいてスワップアウト対象の優先度を決定する優先度操作部を備え、前記OS部は、前記優先度操作部によって決定された前記優先度に基づいてデータのスワップアウトを行うことを特徴とする。
本発明によれば、優先度操作部によって圧縮率の高いデータを利用するプロセスを優先的にスワップアウト対象とするよう優先度を順次決定することにより、物理メモリを有効に利用して各プロセスが処理に用いる必要なメモリを早急に確保することができる。さらに、前記優先度操作部によって、圧縮率の高いデータを優先的にスワップアウトし、スワップデバイスへのデータ転送量を削減することで、必要なメモリを確保する際のスワップ処理時間を削減することができる。
以下、添付した図面を参照して本発明の実施の形態について説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るデータ圧縮伸張装置10のシステム構成を示したブロック図である。図2は、データ圧縮伸張装置10のハードウェア1を示したブロック図であり、図3は、データ圧縮伸張装置10のソフトウェア2を示したブロック図である。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るデータ圧縮伸張装置10のシステム構成を示したブロック図である。図2は、データ圧縮伸張装置10のハードウェア1を示したブロック図であり、図3は、データ圧縮伸張装置10のソフトウェア2を示したブロック図である。
図1に示すように、データ圧縮伸張装置10は、ハードウェア1及びソフトウェア2を備えて構成されている。データ圧縮伸張装置10の概要は、プロセス起動管理部5からプロセス管理部6を介してプロセスが起動されると、例えば、プロセス群4のうちプロセスAがRAM13に対してワークメモリなどのメモリを確保するよう要求する。もっとも前記、起動されるプロセスは1つとは限らず、複数のプロセスA、Bが起動されてもよい。OS部20は、RAM13の使用率を監視し、使用率が高い場合にはスワップデバイスドライバ部22を介してスワップデバイス部24にスワップ対象となるデータを転送する。プロセスA、Bを起動する、前記プロセス起動管理部5とは、例えば、アプリケーションランチャー等の名称で呼ばれる起動プログラムや、シェルプログラムである。前記、スワップデバイス部24は、実装に応じてRAM13又はストレージ12に割り当てられる。
図2に示すように、ハードウェア1は、CPU(Central Processing Unit)11、ストレージ12、及びRAM(Random Access Memory)13を備えて構成されている。CPU11は、OSやOS上で動作する各プロセスにおける演算処理を実行するよう構成されている。ストレージ12は、例えばハードディスクによって構成することができ、不揮発にプログラム等を記憶し、電力供給がなされない場合にあっても保存しておきたいデータやプログラムなどを保存することができる。RAM13は、演算処理に用いられるデータを一時的に保存するメモリであり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)によって構成することができる。
図3に示すように、ソフトウェア2は、OS部20、優先度操作部21、スワップデバイスドライバ部22、データ圧縮/伸張部23、スワップデバイス部24を備えて構成されている。
OS部20は、各種プロセスのスケジューリングやメモリ管理、デバイスデータの入出力処理などのコンピュータシステム全体を管理する基本ソフトウェアである。優先度操作部21は、スワップデバイスドライバ部22からデータの圧縮率Rや圧縮サイズSを受け取り、スワップアウトされたデータを保有するプロセスのIDに対応付けると共に、圧縮率Rに応じてスワップアウト対象プロセスの優先順位を変更する。なお、優先度操作部21自身が、データ圧縮/伸張部23によって圧縮されたデータの圧縮サイズSから圧縮率Rを算出するよう構成することもできる。
スワップデバイスドライバ部22は、OS部20とスワップデバイス部24との間でスワップデータの取得、書き出し、書き戻しを行う。スワップデバイスドライバ部22は、データ圧縮/伸張部23によって圧縮されたデータの圧縮サイズSや圧縮率Rを取得する。データ圧縮/伸張部23は、スワップデバイスドライバ部22がスワップアウト時にOS部20から取得したスワップデータをスワップデバイス部24へ書き出す場合のデータ圧縮を行うと共に、及びスワップイン時にスワップデバイスドライバ部22がスワップデバイス部24から読み出したデータの伸張を行う。スワップデバイス部24は、スワップデータの書き出し先であり、RAM13あるいはストレージ12にある。
OS部20は、メモリ管理部25及びスワップ管理部26を備えて構成されている。メモリ管理部25は、プログラムの要求に従ってメモリの確保、解放を行うと共に、仮想アドレス若しくは物理アドレス管理などメモリ管理に伴う処理を行う。スワップ管理部26は、スワップ処理の全体的な管理を行う。スワップ管理部26は、図4に示すように、スワップ優先度管理テーブルTを備えている。スワップ優先度管理テーブルTは、ページインデックス41、スワップ優先度42、プロセスID43が対応付けて管理されている。ページインデックス41は、データがスワップアウトされて格納されたスワップ先の場所を示すためのインデックス情報である。スワップ優先度42は、スワップを行う優先度で、例えば、1〜10の整数などで表されている。なお前記優先度42は順位を比較できれば、少数あるいは負の値でも構わない。プロセスID43は、各スワップアウトデータに対応するプロセスの識別子を示す情報である。なお、OS部20は、その他の基本ソフトウェアとしての機能を備えているが、メモリ管理に伴う処理のみについて説明を行うものとする。
優先度操作部21は、スワップ優先順位変更部27、スワップ対象プロセスID取得部28、及び圧縮率取得部29を備えて構成されている。スワップ優先順位変更部27は、圧縮率取得部29から得られた圧縮率Rと、スワップ対象プロセスID取得部28から得られたプロセスIDを関連付け、次回以降、起動されるプログラムのスワップ対象となる優先順位を変更する。スワップ対象プロセスID取得部28は、スワップアウト対象のプロセスIDをスワップ管理部26から取得する。圧縮率取得部29は、スワップデバイスドライバ部22を介してデータ圧縮/伸張部23が圧縮したデータの圧縮率Rを取得する。なお、圧縮率取得部29は、データ圧縮/伸張部23から直接圧縮率Rのデータを取得するよう構成してもよい。
また、図1に示すように、OS部20と優先度操作部21の間にはフック関数3が介されている。フック関数3は、スワップ管理部26でスワップ処理が開始されたことを検出し、優先度操作部21にスワップアウト対象のプログラムのプロセスIDを取得開始するよう指示する。
次に、このように構成されたデータ圧縮伸張装置10のシーケンスについて説明する。図3は、データ圧縮伸張装置10のシーケンス図である。
メモリ管理部25は、プロセスA、Bのメモリ確保要求に従ってメモリを確保していく。メモリ確保要求が増大すると、メモリは次第に枯渇することとなる。スワップ管理部26は、RAM13の有するメモリの使用状況を定期的に監視し、利用可能なメモリが予め設定された閾値以下になると、スワップアウトを開始するようスワップデバイスドライバ部22にスワップアウト開始のメッセージを送信する(S1)。
次に、LRU(Least Recently Used)アルゴリズムを用い、プロセスA、B...が確保しているメモリブロックのうち最も使用されていないメモリブロックをスワップアウト対象として選択する。選択されたメモリブロックは、スワップデバイスドライバ部22を介してRAM13内のスワップデバイス部24にスワップアウトされる。
優先度操作部21は、OS部20の有するスワップ管理部26から送信されるスワップアウト開始のメッセージ(S1)をフック関数3によりフックする(S2)。そして、スワップ対象プロセスID取得部28によって選択されたスワップアウト対象のプログラムのプロセスIDをOS部20から取得する(S3)。
一方、スワップデバイス部24は、ステップ(S1)においてOS部20からスワップアウトデータを受信すると、データ圧縮/伸張部23にスワップデータを圧縮するようスワップデータ圧縮要求のメッセージを送信する(S4)。データ圧縮/伸張部23は、圧縮要求に従ってスワップデータの圧縮を行い、圧縮後のスワップデータをスワップドライバ部22に転送する。データ圧縮/伸張部23は、スワップデータの圧縮が完了すると圧縮完了のメッセージをスワップデバイスドライバ部22に送信する(S5)。
スワップデバイスドライバ部22は、圧縮されたスワップデータをスワップデバイス部24に書き出す(S6)。スワップデバイス部24は、この書き出しが完了すると書き出し完了のメッセージをスワップデバイスドライバ部22に送信して書き出し完了を応答する(S7)。スワップデバイスドライバ部22は、スワップデバイス部24から書き出し完了の応答を受けると、OS部20にスワップアウトが完了したことを知らせるスワップアウト完了を応答する(S8)。
一方、優先度操作部21は、OS部20にスワップアウト完了が応答されるのを監視しており、スワップアウト完了が応答されたのをフック関数3によりフックして(S9)、スワップデバイスドライバ部22からステップ(S3)で取得したプロセスIDに対応するスワップデータの圧縮率R又は圧縮サイズSを取得する(S10)。また、優先度操作部21は、プロセス毎に取得された圧縮率R又は圧縮サイズSの平均を算出しておく。優先度操作部21は、スワップ優先順位変更部27においてプロセス毎の圧縮率Rを比較して、圧縮率Rがより高いプロセスが保有するスワップアウトデータを他のプロセスが有するスワップデータより早くスワップアウトさせるようスワップアウト対象となるプロセスの優先順位を変更する。
優先順位の変更は、例えば、(0.5−圧縮率)×10を整数化したものを優先度に加算して新たな優先度を設定することで優先度の順位を変更することができる。なお、スワップアウトの優先度が1〜10の数値で示され、優先度が高いほど数値が高いとする。また、圧縮率は(圧縮後のデータ量/圧縮前のデータ量)である。
次回以降、プロセスIDに関連付けられたスワップデータの圧縮率Rの履歴を取り、各プロセスが起動し、スワップアウト対象としてマーキングされたときには、より高い圧縮率Rを有するデータを利用するプロセスが優先的にスワップアウト対象となるよう動作する。
このように構成されたデータ圧縮伸張装置10は、プロセス毎の圧縮率Rを比較して、圧縮率Rの高いものから順にスワップアウトさせることにより、各プロセスA、Bが処理に用いる際に必要なメモリを早急に確保できる。これにより、予め装置に搭載されたRAM13などの物理メモリ容量を効率的に利用することができる。この結果、装置パフォーマンスを低下させる要因の一つであるメモリ解放処理の回数を削減することによりデータ圧縮伸張装置10の処理速度を向上させることができる。また、圧縮率Rの履歴を取ることにより、実際にデータ圧縮を行う前に平均的な圧縮率Rの予測が可能となり、効率的にスワップアウトを行うことができる。
また、圧縮率Rに基づいてスワップアウト対象となるプロセスの優先順位を変えることにより、ファイルの種類によらず、圧縮率Rの高いファイルやデータを優先的な圧縮対象として優先順位を変更することができる。
また、一般的に、ハードディスク等のストレージ12は、DRAMやSRAMに比べてアクセス速度が遅く、ストレージ12への書き込み及びストレージ12からの読み出しに処理時間を要するが、効率よくRAM13及びストレージ12を使用することにより、ストレージ12に書き込み及び読み出しされるデータ量を削減し、処理速度を向上させることができる。
また、圧縮率RとプロセスIDとを対応付けた履歴を随時ストレージ12に保存するよう構成することもできる。これにより、システムの電源断などの要因により、RAM13に一時保存していた圧縮率RとプロセスIDとを対応付けた履歴が消失してしまった場合であっても、不揮発にデータを記憶するストレージ12から当該履歴を取得することができる。
[第2の実施形態]
図6は、本発明の第2の実施形態に係るデータ圧縮伸張装置60の一構成例を示す機能ブロック図である。第2の実施形態の特徴は、ストレージ12にプログラムコードPCが保存されている点にある。なお、他の構成要素については図1及び図2に示す第1の実施形態と略同一構成であるため、同一構成については同一符号を付すことによりその説明を省略する。なお、プログラムコードPCは、プログラムとスワップデータの圧縮率Rを一対一に対応付けることができれば、inode番号やファイルテーブルなどを用いることもできる。
図6は、本発明の第2の実施形態に係るデータ圧縮伸張装置60の一構成例を示す機能ブロック図である。第2の実施形態の特徴は、ストレージ12にプログラムコードPCが保存されている点にある。なお、他の構成要素については図1及び図2に示す第1の実施形態と略同一構成であるため、同一構成については同一符号を付すことによりその説明を省略する。なお、プログラムコードPCは、プログラムとスワップデータの圧縮率Rを一対一に対応付けることができれば、inode番号やファイルテーブルなどを用いることもできる。
図7は、第2の実施形態に係るデータ圧縮伸張装置60のシーケンスを示すシーケンス図である。データ圧縮伸張装置60では、図3に示す第1の実施形態と同様に、ステップS1〜S11を実行し、スワップアウト対象となるプロセスの優先順位を変更していく。次に、ステップS3においてプロセスIDを割り当てられたプロセスのプログラムコードPCのファイルパスを取得し(S12)、これを元に取得したプログラムコードPCと圧縮率Rを対応付けてストレージ12に記憶する。
そして次回以降では、OS部20がプログラムコードPCをロードしてプログラムが起動されると(S13)、優先度操作部21は当該プログラムコードPCの起動をフックして(S14)、ファイルパスに対応付けられたプログラムコードPCのプロセスIDを取得する(S15)。優先操作部21は、取得したプロセスIDとファイルパスを関連付けた上で圧縮率Rを管理してプログラムコードPCに対する圧縮率の平均値をとる。
このように、第2の実施形態では、ファイルパスに関連付けられたプロセスIDに基づいて圧縮率Rの平均値を取ることにより、平均的に圧縮率Rの高いプログラムコードPCが利用するファイルあるいは保有するデータをより効率的にスワップアウトさせることができる。
1...ハードウェア
2...ソフトウェア
4...プロセス群
10、60...データ圧縮伸張装置
11...CPU
12...ストレージ
13...RAM
20...OS部
21...優先度操作部
22...スワップデバイスドライバ部
23...データ圧縮/伸張部
24...スワップデバイス部
2...ソフトウェア
4...プロセス群
10、60...データ圧縮伸張装置
11...CPU
12...ストレージ
13...RAM
20...OS部
21...優先度操作部
22...スワップデバイスドライバ部
23...データ圧縮/伸張部
24...スワップデバイス部
Claims (18)
- プロセスが使用するメモリの使用率を監視し、前記メモリに保存されたデータをスワップデバイスへスワップアウトさせるスワップ処理を制御するOS部と、
前記スワップデバイスにアクセス可能なスワップデバイスドライバ部と、
前記スワップアウトされたデータの圧縮及び伸張を行うデータ圧縮/伸張部と、
前記圧縮されたデータの圧縮率に基づいてスワップアウト対象の優先度を決定する優先度操作部を備え、
前記OS部は、前記優先度操作部によって決定された前記優先度に基づいてデータのスワップアウトを行うデータ圧縮伸張装置。 - 前記優先度操作部は、
前記圧縮/伸張部から前記スワップアウトされたデータの圧縮率を取得する圧縮率取得手段と、
前記スワップアウトされるデータを利用するプロセスのプロセスIDを取得するプロセスID取得手段と、
前記圧縮率取得手段から取得した圧縮率に基づいて、当該スワップアウトされたデータの優先度を決定するスワップ優先順位変更部と、
を有する請求項1記載のデータ圧縮伸張装置。 - 前記スワップデバイスドライバ部は、前記データ圧縮/伸張部によって圧縮されたデータの圧縮率又は圧縮サイズのうち少なくとも一方を格納する請求項1又は2記載のデータ圧縮伸張装置。
- 前記OS部は、前記優先度、前記スワップアウトされたデータが利用されたプロセスの有するプロセスID及び前記スワップアウトされたデータの所在を示すインデックスが関連付けられたスワップ優先度管理テーブルを有する
請求項1乃至3記載のデータ圧縮伸張装置。 - 前記優先度操作部は、前記優先度管理テーブルの有する前記優先度を書き換える請求項4記載のデータ圧縮伸張装置。
- 前記優先度操作部は、
前記スワップアウトされたデータの前記圧縮率と、当該スワップアウトされたデータが利用されたプロセスの前記プロセスIDとを関連付ける請求項1乃至5記載のデータ圧縮伸張装置。 - 前記優先度操作部は、前記圧縮率の高いデータを利用するプロセスの対象データを優先的にスワップアウトさせるよう前記優先度を決定する請求項1乃至6記載のデータ圧縮伸張装置。
- スワップアウトされたデータを圧縮し、前記スワップアウトされたデータを利用するプロセスと前記データの圧縮率とを対応付けて履歴を取り、前記履歴を参照してデータの圧縮率が高いプロセスの対象データを優先的にスワップアウトさせるようコンピュータに実行させるためのプログラム。
- 前記履歴は、スワップアウトされたデータを利用する前記プロセスのプロセスIDと前記スワップアウトされたデータの前記圧縮率とを関連付けられた請求項8記載のコンピュータに実行させるためのプログラム。
- 前記履歴に基づいて、前記圧縮率の高いデータを利用する前記プロセスの対象データが優先的にスワップアウト対象となるよう優先度を書き換える請求項8又は9記載のコンピュータに実行させるためのプログラム。
- 前記履歴は、前記圧縮率、前記プロセスID、及び前記プロセスが格納された場所を示す格納パスが関連付けられた請求項8乃至10記載のコンピュータに実行させるためのプログラム。
- 前記履歴をストレージに格納し、前記履歴が消去されてしまった場合には、前記ストレージから前記履歴を取得する請求項8乃至11のコンピュータに実行させるためのプログラム。
- プロセスが使用するメモリの使用率を監視し、前記メモリに保存されたデータをスワップデバイスへスワップアウトさせる際に、スワップアウトデータの圧縮を行い、前記圧縮されたデータの圧縮率と、スワップ対象のプロセスIDを関連付け、前記圧縮されたデータの圧縮率に基づいて、前記プロセス単位にスワップアウト対象の優先度を決定することを特徴とするデータ圧縮伸張方法。
- スワップアウトされたデータを圧縮し、前記スワップアウトされたデータを利用するプロセスと前記データの圧縮率とを対応付けて履歴を取り、前記履歴を参照してデータの圧縮率が高いプロセスの対象データを優先的にスワップアウトさせることを特徴とするデータ圧縮伸張方法。
- 前記履歴は、スワップアウトされたデータを利用する前記プロセスのプロセスIDと前記スワップアウトされたデータの前記圧縮率とを関連付けることを特徴とする請求項14記載のデータ圧縮伸張方法。
- 前記履歴に基づいて、前記圧縮率の高いデータを利用する前記プロセスの対象データが優先的にスワップアウト対象となるよう優先度を書き換えることを特徴とする請求項14又は15記載のデータ圧縮伸張方法。
- 前記履歴は、前記圧縮率、前記プロセスID、及び前記プロセスが格納された場所を示す格納パスとを関連付けることを特徴とする請求項14乃至16記載のデータ圧縮伸張方法。
- 前記履歴をストレージに格納し、前記履歴が消去されてしまった場合には、前記ストレージから前記履歴を取得することを特徴とする請求項14乃至17のデータ圧縮伸張方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007066363A JP2008226082A (ja) | 2007-03-15 | 2007-03-15 | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007066363A JP2008226082A (ja) | 2007-03-15 | 2007-03-15 | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008226082A true JP2008226082A (ja) | 2008-09-25 |
Family
ID=39844588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007066363A Pending JP2008226082A (ja) | 2007-03-15 | 2007-03-15 | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008226082A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116631B2 (en) | 2012-12-11 | 2015-08-25 | Samsung Electronics Co., Ltd. | Mobile device and method of managing data using swap thereof |
US10146680B2 (en) | 2013-03-12 | 2018-12-04 | Samsung Electronics Co., Ltd. | Data processing system and method of operating the same |
-
2007
- 2007-03-15 JP JP2007066363A patent/JP2008226082A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116631B2 (en) | 2012-12-11 | 2015-08-25 | Samsung Electronics Co., Ltd. | Mobile device and method of managing data using swap thereof |
US10146680B2 (en) | 2013-03-12 | 2018-12-04 | Samsung Electronics Co., Ltd. | Data processing system and method of operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4281421B2 (ja) | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム | |
US9116631B2 (en) | Mobile device and method of managing data using swap thereof | |
TW201636845A (zh) | 記憶體裝置與其操作方法 | |
JP6412244B2 (ja) | 負荷に基づく動的統合 | |
JP2000215099A (ja) | 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法 | |
US20070005625A1 (en) | Storage architecture for embedded systems | |
WO2006107095A1 (ja) | 計算機システム、メモリ管理方法、およびそのプログラム | |
JP2010055184A (ja) | 情報処理装置およびメモリ管理方法 | |
JP2006351004A (ja) | 携帯端末機のメモリ管理方法 | |
CN113778662A (zh) | 内存回收方法及装置 | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
KR20210049602A (ko) | 컴퓨팅 장치 및 그 동작 방법 | |
US20120265953A1 (en) | Memory management device, memory management method, and control program | |
JP2008226082A (ja) | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 | |
JP6194875B2 (ja) | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム | |
JP5018060B2 (ja) | 情報処理装置および情報処理方法 | |
JP5782962B2 (ja) | Raidグループ制御装置 | |
US9218275B2 (en) | Memory management control system, memory management control method, and storage medium storing memory management control program | |
JP6080492B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2008257584A (ja) | Ramディスクの処理方法及びシステム | |
JP2011039790A (ja) | 仮想マシンイメージ転送装置及び方法及びプログラム | |
JP2013246646A (ja) | 情報処理装置及びデータ読出方法 | |
JP3349949B2 (ja) | バッファ管理方式およびそのプログラム記録媒体 | |
JPH10312297A (ja) | マルチタスク機能を有する情報処理システムにおける資源管理方法、資源管理装置及び記録媒体 | |
JP2010277495A (ja) | 圧縮記録装置および圧縮記録方法 |