2011-03-23 8 views
1

私は、メモリを断片化解消すると主張するソフトウェアのいくつかの例があることを思い出して、メモリ断片化に関する記事を読んでいました。私は好奇心を持っている、どのように機能するのですか?それはまったく機能しますか?メモリデフラグソフトウェア。どのように機能するのですか?それは動作しますか?

EDIT: xappymahプロセスがそのメモリレイアウトが急激に変化することを学ぶことは非常に驚くかもしれないという点で、メモリのデフラグに対して良好な引数を与えました。しかし、私が見ても、OSがグローバルメモリ制御のための何らかのAPIを提供する可能性はまだあります。しかし、悪意のある意図で悪用される可能性があるので、少しはそう思わないでしょう。ソートの何かをサポートしているOSがあるか知っていますか?

+1

これはソフトウェア開発の観点からは非常に興味深い質問です。私の場合、例えば "メモリデフラグ"はBSのように聞こえます(管理された環境でない限り)。本当に可能かどうかを知りたいのですが。 – sharptooth

+1

あなたの2番目の質問について。私はいくつかの調査を行い、そのようなAPIがWindowsやMac OSX(そして他の)のような最新のOSに存在することを発見した。もちろん、そのような機能を使用するには管理上の(ルート)権限が必要であり、不正確な行為は本当に混乱を招く可能性があります。 (少なくとも、すべてのOSのこのようなAPIの存在は非常に論理的ですが、OS自体には少なくとも必要です) – xappymah

+0

@xappymah:ありがとうございます。私はこのトピックが非常に興味深いと私はまだ私の好奇心のために自分自身を研究しなければならないと思う。私はあなたの元の答えを受け入れました。 – manneorama

答えて

1

プロセスレベルでの実際のメモリの最適化は、メモリに割り当てられたオブジェクトへの何らかのアクセス権を持ち、それらを管理できる、たとえばJava VMなどの管理対象環境でのみ可能です。

しかし、アンマネージドアプリケーションについて言えば、すべてのプロセス(ツールとアプリケーションの両方)が独自のアドレス空間で実行され、アクセス権を持たないため、サードパーティツールでメモリを制御する可能性はありません少なくとも、OSの助けを借りずに、別のものに転送する。 しかし、他のプロセスのメモリにアクセスして(OSなどをハッキングして)、修正を開始しても、ターゲットアプリケーションは非常に「驚いている」と思います。 "VeryCoolMemoryDe​​fragmenter"のため、メモリのチャンクが割り当てられていて、次の秒にメモリのチャンクが別の場所に移動していると想像してください:)

+0

+1、これは理にかなっていますが、それらのプログラムが他の種類のデフラグを行うと主張すればどうでしょうか? – sharptooth

+0

さて、これらのプログラムでは、常に独自のメモリを最適化することができます:)とにかく、メモリ最適化(デフラグメンテーションではなく)についても、銀色の弾丸はありません。ほとんどの場合、「メモリを最適化できる」と主張するすべてのプログラムは、スワップ内のすべてのメモリをフラッシュするだけです。最悪の場合 - ウイルスにコンピュータを感染させるか、システムにダメージを与えます。残念なことに、すべてのアプリケーションがメモリ使用量を単独で管理する必要があります。 – xappymah

-2

私の意見では、このチップは、嘘発見器のようなランダムな方法で情報を記録し再生するディスクピンが回転していないため、断片化しない。これが、ハードディスクの断片化の仕方です。 SSDドライブは非常に高速で、効果的で、信頼性が高く、メンテナンスフリーです。 SSDそれは巨大な記憶であり、それは一種の外観です。

関連する問題