(57)【要約】  コンピュータ装置の、ランダムアクセスメモリ等の物理メモリに保持されたデータは、システムオペレーティングシステム・コードのヌルスレッドの実行がスケジュールされた場合にデフラグされる。当該ヌルスレッドは、システム内の他のスレッドが実行の準備を行っていない場合に、コンピュータ装置を省電力状態へ移行させるために用いられる。【特許請求の範囲】
【請求項１】
コンピュータ装置におけるメモリ資源を管理する方法であって、
実行するように準備されたスレッドが他に存在しない場合に、前記コンピュータ装置におけるメモリ資源に保持されたデータのデフラグの開始を実行するように構成された、オペレーティングシステム・コードのスレッドを用いる工程
を備えることを特徴とする方法。
【請求項２】
前記スレッドは、前記データの前記デフラグを実行するためのコードを含むように構成されていることを特徴とする請求項１に記載の方法。
【請求項３】
前記スレッドは、前記データの前記デフラグを他のコードに実行させるためのコードを含むように構成されていることを特徴とする請求項１に記載の方法。
【請求項４】
前記スレッドは、
前記コンピュータ装置が、該コンピュータ装置の中央演算装置をスタンバイ状態へ移行させることにより、低消費電力状態を採用するための、オペレーティングシステム・コードのスレッドを含む
ことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記スレッドは、
前記コンピュータ装置の起動時において、最初に実行するスレッドを含む
ことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記メモリ資源は、ランダムアクセスメモリを備える
ことを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記ランダムアクセスメモリは、複数のブロックを備えるように選択され、
前記ブロックの少なくとも一つは、他の前記ブロックとは独立にリフレッシュ可能であり、
前記データのデフラグは、
前記データが、デフラグの後に、デフラグの前と比べて少ない数のブロックにおいて保持されうる場合にのみ、実行されるように構成される
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記コンピュータ装置は、無線情報機器を備えるように選択される
ことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
請求項１乃至８のいずれか１項に記載の方法に基づいて動作するようにプログラムされたコンピュータ装置。
【請求項１０】
コンピュータ装置を、請求項１乃至８のいずれか１項に記載の方法に基づいて動作させるコンピュータソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置におけるメモリ管理の方法に関する。
【背景技術】
【０００２】
ここで用いられるコンピュータ装置という用語は、あらゆる形態の電子機器を含むように拡張的に解釈され、任意の形状因子を有する静止画及び動画に係るデジタルカメラ等を含むデータ記録装置と、携帯端末及びパーソナルコンピュータを含むあらゆる種類及び形態のコンピュータと、任意の形状因子を有する通信装置とを含む。ただし、任意の形状因子を有する通信装置には、携帯電話と、高機能電話と、通信、画像記録と再生との少なくともいずれか、及び、計算機能を単一装置内で結合するコミュニケータと、及び、他の形態の無線又は優先の情報機器とが含まれる。
【０００３】
ほとんどのコンピュータ装置はオペレーティング・システムの制御の下で動作するようにプログラムされている。オペレーティングシステムは、装置の中央演算ユニットに供給されるコード形式の一連の命令によって、コンピュータ装置を制御する。これらの命令は、オペレーティングシステムによってスケジュールされた、実行に係る半自律的な基本ユニットと見なすことができる。これらの実行に係る基本ユニットのそれぞれはスレッドとして知られており、計算装置において実行されるプロセスは常に１以上のスレッドを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
典型的なオペレーティングシステムは、コンピュータ装置により実行されるべき多様なタスクを制御するために、多くの異なるスレッドをスケジュールする。"ヌル"スレッド又は”アイドル”スレッドとしばしば呼ばれる、これらのスレッドの一つは、実行する資格がある（実行する準備がある）スレッドが他に存在しない、即ち、システムが実質的ににアイドル（待機状態）にある場合にのみ動作するという点で、他の全てのスレッドと区別される。あるシステムにおいては、アイドルスレッドは、コンピュータ装置の起動時にオペレーティングシステムによって配列される最初のスレッドである。以下に、詳細に説明するように、オペレーティングシステムは多数のコンポーネントから構成されているとみなすことができ、これらのコンポーネントのいくつかは、他のコンポーネントと比べて、コンピュータ装置のハードウェア資源に対して特権的なアクセスを有している。１以上のこれらの特権的なコンポーネントは、一般的にオペレーティングシステムのカーネルとして知られているものを構成し、あるオペレーティングシステムにおいては、ヌルスレッドは、カーネルの初期化の第１段階に責任を有する。これらの初期化の段階の後、ヌルスレッドは、通常、他のスレッドが実行する準備にない場合においてのみ、オペレーティングシステムによって再びスケジュールされる。
【課題を解決するための手段】
【０００５】
本発明によれば、他のスレッドが実行する準備にない場合にヌルスレッドがスケジュールされるため、コンピュータ装置内の、又は、それと関連して用いられる、ＲＡＭ又はディスク記憶装置等の、コンピュータ装置の物理的な記憶資源をデフラグ（defragmentation）するタスクは、ヌルスレッドの実行の間、特別な利点をもって実行することが可能である。
【０００６】
本発明の第１の側面によれば、コンピュータ装置におけるメモリ資源を管理する方法が提供される。この方法は、コンピュータ装置のメモリ資源に保持されたデータのデフラグを開始するため、コンピュータ装置が省電力モードを採用するように、オペレーティングシステム・コードのスレッドを使用することを備えている。
【０００７】
本発明の第２の側面によれば、第１の側面に係る方法に基づいて制御されるように構成されたコンピュータ装置が提供される。
【０００８】
本発明の第３の側面によれば、第１の側面に係る方法に基づいて、コンピュータ装置におけるメモリ管理を実行するためのコンピュータプログラムが提供される。
【発明を実施するための最良の形態】
【０００９】
以下、特定の実施形態を参照して、更なる例により、本発明を説明する。
【００１０】
多くの異なる形態のコンピュータ装置が利用可能であり、ある装置は、例えば、メモリ資源が小さい、ＣＰＵが遅い等のように、物理資源が限られている。物理資源が限られたコンピュータ装置の一つは、高機能電話の形態を有する無線情報機器である。これは、基本的には、高機能電話は、物理的なサイズが比較的小さい携帯電話上で実行することが意図されたコンピュータ装置であり、従って、装置の広範な種類の機能を実行するために必要とされる、物理資源を収容するためのスペースが、非常に限られたものしかないためである。装置に電力を供給する電力資源もサイズが非常に小さいが、それでも、装置を動作可能にし、又は、比較的長期間スタンバイモードを維持できるようにする必要がある。典型的な高機能電話は、ＣＰＵ、読み出し専用メモリ（ＲＯＭ：read only memory）、ユーザデータの記憶のためのフラッシュメモリ、ランダムアクセス（書き込み可能）メモリ（ＲＡＭ：random access memory）、及び、入出力装置を有する。
【００１１】
しかしながら、この種のコンピュータ装置は、物理構成についても、処理の方法についても、思うように使用できる物理資源を非常に多く有している、ＰＣやワークステーション等の装置と、非常に対照をなしている。例えば、高機能電話のＣＰＵは実行速度が遅い。さらに、システムＲＯＭは全てのオペレーティングシステムを保持する必要がある。これに対して、ＰＣにおいては、ブートストラップ・ローダとＢＩＯＳのみがＲＯＭに格納されており、オペレーティングシステムとアプリケーションはハードディスクから読み出される。さらに、典型的な高機能電話上のシステムＲＡＭの容量は、８ＭＢ又は１６ＭＢ程度に限られている。また、ディスクドライブも存在しないため、装置の処理の間、ディスクを使用した仮想メモリを使用することもできない。従って、オペレーティングシステム・ソフトウェアは、コードのサイズが非常にコンパクトであり、動作が非常に効率的であり、制限された電源からくみ出す電力の消費を最小限にしなければならない。
【００１２】
ほとんどのコンピュータ装置は同時に一つのプログラム命令しか実行することができないが、高速に動作するため、同時に、多くのプログラムを実行して多くのアプリケーションを提供しているように見える。このため、オペレーティングシステムは、選択された各プログラムに装置上で実行する"順番"を割り当てるが、他のプログラムに装置上で実行する順番が割り当てられている間は、選択されたプログラムが待機するように制御する。これらのプログラムのそれぞれは、オペレーティングシステムからは、コンピュータ装置の所定の資源が特定され、監視されるタスクとして見える。
【００１３】
オペレーティングシステムは、装置のメモリに格納された、例えば、表計算ソフト、ワードプロセッサ、或いは、ウェブブラウザ・プログラム等の、各プログラムを、別々のタスクとして管理し、通常は、装置のユーザが、タスク一覧上の項目を見て操作することができるようにする。プログラムが、ファイルを読み込んだり、遠隔の受信者にメッセージを送信する等の、入出力（Ｉ／Ｏ：input/output）要求を開始した場合、通常はスレッドが生成される。スレッドが生成される時間は、オペレーティングシステム毎によって異なりうる。例えば、英国、ロンドンのシンビアン・リミテッドより提供されているＳｙｍｂｉａｎ  ＯＳ（商標）オペレーティング等の、あるオペレーティングシステムは、非同期のＩ／Ｏを用いている。これは、Ｉ／Ｏ要求を行うスレッドは、その要求が進行中においても実行を継続することが許され、その要求が完了したときに通知されることを意味する。一般的に、新しいスレッドが生成されるのは、プログラムにより実行される処理が、複数のユニットに分割され得る場合である。ここで、当該分割は、これらのユニットが、少なくとも概念的には、並列的に実行するのに有利になるようになされる。例えば、アプリケーションは、ユーザインタフェース（ＵＩ：user interface）の処理のために一つのスレッドを用い、ユーザにより開始された長期間実行する処理のために他のものを使用するだろう。このようにして、長期間実行する処理が継続している間においても、ＵＩは応答することが可能である。
【００１４】
スレッドの一部として保持されたデータは、例えば、特定のＩ／Ｏ処理が完了したときに、プログラムが適切な場所に再び入ることができるようにする。一方で、そのプログラムの他の同時使用が、他のスレッド上で維持される。コンピュータ装置用の現在のオペレーティングシステムのほとんどは、マルチタスクとマルチスレッドの両方に対応している。これらは、プログラムのプロセスにおいてもマルチスレッドを提供しており、これにより、システムにおいて、各スレッドに係る新しいプロセスを生成するオーバーヘッドが節約される。
【００１５】
スレッド情報は、特別なデータ領域に格納し、そのデータ領域のアドレスを、例えば、コンピュータ装置のスタックポインタ等の、レジスタに書き込むことにより維持される。オペレーティングシステムは、スレッドに割り込みがかけられた場合にレジスタの内容を保存し、スレッドに再び制御が与えられた場合にそれをリストア（復元）する。
【００１６】
コンピュータ装置のオペレーティングとそのアプリケーションは、多様な形式のコンポーネントに、これらのコンポーネント間における異なる境界によって、分割されるものとして捉えることが可能である。これらのコンポーネントのあるものは一般にカーネルとして参照され、これらのコンポーネントはシステムのランダムアクセスメモリ（ＲＡＭ：Random Access Memory）や装置の他のハードウェア資源を管理するために用いられる。カーネルは、コンピュータ装置に格納された他の全てのソフトウェア資源がこれらの資源にアクセスできるように、提供及び制御を行い、オペレーティングシステムの他の全ての部分のために所定のサービスを提供する。このため、カーネル・コンポーネントは、ユーザのコマンドと交信するオペレーティングシステムのアウター（outer）又はシェル(shell)コンポーネントと対照をなしている。
【００１７】
コンピュータ装置のオペレーティングシステムは、典型的には、カーネル内で使用するための複数の異なったスレッドを生成する。例えば、Ｓｙｍｂｉａｎ  ＯＳ（商標）オペレーティングシステムの実施形態の一つは、コンピュータ装置の起動時に５つのカーネル・スレッドを生成し（拡張によってこれよりも多くが生成されることもある）、これらのカーネル・スレッドは多様なタスクを実行する。このようなスレッドの一つは"ヌル"スレッドであり、Ｓｙｍｂｉａｎ  ＯＳ（商標）においては、これは、起動時にコンピュータ装置で始めに実行するスレッドとなりうる。このオペレーティングシステムにおいては、ヌルスレッドは、オペレーティングシステムのカーネルの初期化の第１段階に関与する。
【００１８】
ヌルスレッドの初めの主な仕事は、プロセッサのリセットの直後に存在するシングルスレッドの実行モデルを、カーネルが完全に初期化されたときに存在するマルチスレッドの実行モデルへ移行させることである。次に、コンピュータ装置のメモリ管理ユニット（ＭＭＵ：memory management unit）が初期化され（これにより動的なメモリ割り当てが可能となる）、カーネルチャンク（kernel chunks）が生成される（これにより新しいカーネル・オブジェクトとスレッドのスタックが生成されうる）。最後に、スーパーバイザー（監視）・スレッドが生成され、実行するように制御される。しかし、ヌルスレッドの有する優先権は、全てのカーネルスレッドの中で最も低いため、初期化シーケンスは、スーパーバイザー・スレッドの生成の直後にリスケジュールされ、続いて、初期化がスーパーバイザー・スレッドの中において継続する。
【００１９】
スーパーバイザー・スレッドの生成の後、他のスレッドが実行する準備をしていない場合にのみ、ヌルスレッドは、コンピュータ装置の制御を再び取得する。一般的に、ヌルスレッドは、「割り込み待機」型命令を実行しながら、単に、絶えずループする。ただし、「割り込み待機」型命令は、それを受信した場合に中央演算ユニット（ＣＰＵ：central processing unit）を省電力又はアイドルモードに変化させることによって、ハードウェアの割り込みが行使されるまで命令の実行が停止されるものである。指定されたインターバルの間にユーザの活動が開始されなかった場合、ヌルスレッドは全てのコンピュータ装置を停止するためにも用いられ得る。この電力節約は、比較的小さいバッテリ電力源に基づいて長期間動作することが要求される、高機能電話において特に有益である。
【００２０】
上述のように、ＰＣ装置においては、装置のオペレーティングシステムとシステムプログラムの大部分は、ハードディスクに格納される。しかし、ＰＣのコンピューティング分野においては、ファイルを繰り返し使用することに伴い、ハードディスクに保持されたファイルのフラグメンテーション（断片化）が発生することが知られている。本質において、ディスク上で単一のファイルの実体として生成されたファイルは、ディスク上で連続的に格納されていない複数のファイルセグメントを有するファイルに、少しずつ変換されていく。即ち、ファイルの断片化は、繰り返し使用の結果として発生する。そのような断片化されたファイルが使用するために再び読み込まれた場合、オペレーティングシステムは、まず、断片化された各セグメントを探索し、ファイルが最終的に使用の準備状態になる前にそれらを一緒にして組み立てなければならない。この処理は時間がかかり、システムのパフォーマンスを下げ、ハードディスク上のメモリ空間を消費してしまう。従って、格納されたファイルの断片化は、プロセッサの速度やハードディスクの記憶容量等の、ハードウェア資源が比較的限られたＰＣにおいては、耐えられないものになる。
【００２１】
ＰＣ装置においては、ハードディスク自身に格納されうる、添付されたディスク・デフラグ（デフラグメンテーション）・プログラムを定期的に用いることで、この問題を軽減することができる。このプログラムが実行された場合、デフラグ（細分化の解消）が再び行われることにより、ハードディスクにおけるファイルの連続的な記憶がもたらされる。従って、全てのファイルコンテンツが、連続していない複数のファイル・フラグメントとして保持されている状況と比較して、オペレーティングシステムは、全てのファイルコンテンツを、より高速に発見し、読み出すことができる。特に、ファイルサーバや頻繁にアクセスされるワークステーションにおいては、パフォーマンスの上昇が１００％にまで至ることもあり得る。
【００２２】
しかしながら、高機能電話においては、装置を制御するために利用可能な全てのメモリ資源は、ＰＣ装置において利用可能なものと比べて限られている。特に、ハードディスク・ドライブは存在しない。なぜなら、ドライブを制御するための電力消費によって、比較的小さな内蔵バッテリの電源に基づいてその装置が動作する期間が非常に限られたものになるため、実際上、その装置が使い物にならないと考えられるためである。従って、高機能電話においては、システムプログラムは、通常、フラッシュメモリ等の不揮発性固体メモリに保持される。これは、電力が失われた場合や装置が停止された場合においても、メモリの内容が失われないためである。さらには、装置のフラッシュメモリはＮＡＮＤのフラッシュメモリで構成される。これは、この種のメモリにより示される、処理速度や、比較的低消費電力の観点に基づくものである。また、ＮＡＮＤのフラッシュメモリは、比較的低コストという更なる利点も有する。
【００２３】
装置の動作中、上述のように記憶容量が比較的限られている、装置のダイナミックＲＡＭは、２つの目的に用いることができる。一つ目は、ダイナミックＲＡＭが、動作中のプログラムや装置のオペレーティングシステムの一時的な記憶領域として用いられるというものである。これは、ＮＡＮＤのフラッシュメモリが用いられる場合に、フラッシュメモリからコピーするために必要となり、書き込み処理における実行をサポートしない。これは、この目的のためにＰＣ上で利用可能なハードディスク記憶装置と非常に対照をなしている。
【００２４】
二つ目は、ダイナミックＲＡＭが、装置の動的なメモリとしても機能するというものである。従って、本質的には、比較的記憶容量の小さいＲＡＭは、ＰＣ上に利用可能な比較的大容量の動的なメモリとしてだけでなく、ＰＣにおいて動的なメモリを補完するために用いられるハードディスク型の仮想メモリの代替としても機能しなければならない。
【００２５】
従って、高機能電話においては、この比較的乏しい資源に対して非常に高い需要が存在するということが理解される。通常、オペレーティングシステムは、各目的について必要とされる量のＲＡＭだけが用いられるように設定されるが、この比較的乏しいメモリ資源の使用を最適化するために、オペレーティングシステムは、ある目的について一定量のＲＡＭを、別の目的について一定量のＲＡＭを、事前に割り当てない。
【００２６】
高機能電話において広く用いられているＲＡＭの種類はＭｏｂｉｌｅ  ＳＤＲＡＭである。この種のＳＤＲＡＭは、複数（通常３つ）のブロックに分けられ、選択的に無効化が可能な自己リフレッシュ（self-refresh）の機能を有する。例えば、８ＭＢのＭｏｂｉｌｅ  ＳＤＲＡＭは、一般的に、２ＭＢ、４ＭＢ、或いは、８ＭＢを自己リフレッシュすることができるだろう。メモリのリフレッシュは電力を消費し、その消費量はリフレッシュされるメモリのサイズに依存する。これより、８ＭＢのメモリをリフレッシュする場合には、２ＭＢのメモリをリフレッシュするよりもかなり多くの電力を消費する。
【００２７】
ファイルはページフレームとしてＳＤＲＡＭに格納され、典型的な１つのページフレームのサイズは４ＫＢとなりうる。しかし、ＰＣのハードディスクに保持されたファイルと同様に、ＳＤＲＡＭ内においてページフレームの断片化が発生する。このため、アプリケーションの実行に用いられる１以上のページフレームがＳＤＲＡＭの１つのブロックに保持され、そのアプリケーションの実行のための他のページフレームがＳＤＲＡＭの他の１以上のブロックに保持されることがある。従って、容量が８ＭＢで３つのブロックに分割されたＳＤＲＡＭを例にとると、ＲＡＭの実際の総使用量が２ＭＢ未満であるが、断片化に起因してページフレームが分散しているため、使用中のＲＡＭが３つのブロック全てに広がっている場合、８ＭＢのＲＡＭ全てについてリフレッシュする必要がある。これに対して、使用中のページフレームが、それらが連続するようにデフラグされた場合、リフレッシュする必要があるのは２ＭＢのＲＡＭのみである。リフレッシュ中に消費される電力量はリフレッシュされるメモリのサイズに依存するため、使用中のＲＡＭの全てが物理アドレス領域の最初の２ＭＢに存在するように、ＲＡＭに保持されたページフレームをデフラグすることが、有利であるということが理解されるだろう。この場合、システムがアイドル状態のときに、残りのＲＡＭをリフレッシュする必要がないため電力が節約され、従って、高機能電話の待ち受け時間が延長される。
【００２８】
本発明によれば、装置がヌルスレッドにより制御される場合に、ＲＡＭのデフラグが発生するように構成されているため、システムパフォーマンスに影響を与えない。
【００２９】
実行する準備があると検出される他のスレッドは存在しないため、ヌルスレッドは、装置が省電力モードを採用するようにスケジュールされる。ヌルスレッドは、通常、この省電力モードにおいて装置のＣＰＵをスタンバイ状態に設定するため、これは実現可能である。なぜなら、装置上で実行する必要があるのはヌルスレッドだけであるからである。しかし、本発明によれば、ヌルスレッドがスケジュールされた場合、ＣＰＵは当初はスタンバイ状態に設定されていない。代わりに、必要な場合は、システムＲＡＭはデフラグされる。ＣＰＵを含む装置の物理資源はこのタスクに専念することが可能であるため、これは非常に効率的に実現することが可能である。従って、ＲＡＭのデフラグは比較的高速に実行することができ、システムパフォーマンスに影響を与えない。ヌルスレッド以外の他のスレッドが実行の準備に入る前にデフラグが完了した場合は、装置のＣＰＵはスタンバイ状態に移ることができる。デフラグが完了しておらずハードウェアの割り込みがなされた場合、ＣＰＵはスタンバイ状態へ移らずに、実行する準備のある新しいスレッドの処理へ戻る。
【００３０】
一度開始した実際のデフラグの工程は、任意の便利な処理に基づいて実現してもよい。例えば、ＳＤＲＡＭは、物理フレームページの形式でデータを格納するが、これはメモリ空間の全てのブロックにおいて保持されてもよい。従って、メモリ空間の高次の物理アドレスに格納されたデータは低次の物理アドレスの一つに移動され、この処理は、各ページのデータを他と独立に移動することにより、使用中の全てのフレームページが物理アドレス空間の最下部にフレームページの連続するシーケンスを形成するまで繰り返されるだろう。
【００３１】
ヌルスレッドは、デフラグを実行するヌルスレッドの一部として動作する追加コードを含むように構成することができる。あるいは、ヌルスレッドは、デフラグを実行する、更なる独立したコードシーケンスを開始するコードを含んでもよい。さらに、ページフレームのデフラグが、ヌルスレッドの実行中に選択的に発生するように構成することができる。即ち、デフラグを行う前にフレームページを保持するために必要なブロックの数と比べて、少ない数のメモリ中のブロックにページを保持することが可能な場合にのみ、デフラグ処理が発生するように構成することができる。例えば、上述の８ＭＢのメモリ装置の場合、実行するためにヌルスレッドが配列されている状況において、使用する全てのシステムＲＡＭが２．５ＭＢであり、かつ、これがメモリ空間の初めの４ＭＢに全て含まれている場合、使用するＲＡＭは初めの２ＭＢのブロックに限られないため、ＲＡＭのデフラグは開始されない。従って、たとえ、以前にデフラグ処理が実行された場合においても、全メモリ空間の初めの４ＭＢが自己リフレッシュを継続するだろう。
【００３２】
以上、特にＲＡＭメモリのデフラグについて、本発明を説明した。しかし、この方法は、ディスクドライブを含む、他の種類のメモリ装置のデフラグについても適用可能である。さらに、本発明に係る方法は、ダイナミックＲＡＭ、ＮＯＲ及びＮＡＮＤのフラッシュメモリを含む、あらゆる種類の読み出し／書き込みメモリにも用いることができることは明らかである。
【００３３】
以上、特定の実施形態を参照して本発明を説明したが、特許請求の範囲に定義された本発明の技術的範囲において適宜修正を行うことが可能であることは言うまでもない。
【手続補正書】
【提出日】平成18年6月7日(2006.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ装置における、複数のブロックで構成され、複数のフレームページの形式でデータを格納するために用いられる、ランダムアクセスメモリの使用を管理する方法であって、
実行が準備されたスレッドが他に存在しない場合に、前記コンピュータ装置上で前記データのデフラグの開始を実行するように構成された、オペレーティングシステム・コードのスレッドを用いる工程
を備え、
デフラグの後に、データの前記フレームページを、デフラグの前と比べて少ない数のメモリのブロックに保持することができると判定された場合にのみ、前記データのデフラグが実行され、
これにより、
データの前記フレームページを格納するために用いられ、リフレッシュすることを要する前記メモリのブロックの前記数が削減され、
前記データを格納するために、前記コンピュータ装置の電力資源から消費される電力が削減される
ことを特徴とする方法。
【請求項２】
前記スレッドは、前記データの前記デフラグを実行するためのコードを含むように構成されていることを特徴とする請求項１に記載の方法。
【請求項３】
前記スレッドは、前記データの前記デフラグを他のコードに実行させるためのコードを含むように構成されていることを特徴とする請求項１に記載の方法。
【請求項４】
前記スレッドは、
前記コンピュータ装置が、該コンピュータ装置の中央演算装置をスタンバイ状態へ移行させることにより、低消費電力状態を採用するための、オペレーティングシステム・コードのスレッドを含み、
これにより、前記コンピュータ装置の前記電力資源から消費される前記電力がさらに削減される
ことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記スレッドは、
前記コンピュータ装置の起動時において、実行する最初のスレッドとなるように構成されたスレッドを含み
ことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記コンピュータ装置は、無線情報機器を備えるように選択される
ことを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
請求項１乃至６のいずれか１項に記載の方法に基づいて動作するようにプログラムされたコンピュータ装置。
【請求項８】
コンピュータ装置を、請求項１乃至６のいずれか１項に記載の方法に基づいて動作させるコンピュータソフトウェア。
【国際調査報告】
2007507776.tif 000002
2007507776.tif 000003
2007507776.tif 000004