まりふのひと

デフラグ(最適化)を考える

  • 注)
    • Windows の仕組みを理解している訳ではありません。多分に主観が入っています。
    • ファイルサイズ等で誤差があります。

断片化とは

ディスク断片化 フラグメンテーション fragmentation,  別名:ディスク細分化
 記憶装置の使用領域の断片化のこと。
ディスクに対して書き込みと削除を繰り返し行なうと、ディスク内でのファイルの配置が不連続になり、連続した空き領域が少なくなるため、どの空きスペースにも入りきらないファイルが増え、ファイルを分割して2つ以上の空き領域に分けて保存するようになる。
 このようなファイルの分割保存が増えると、OSの処理量の増大やドライブのヘッド*1 の移動量の増大を招き、読み書き速度の低下につながる。また、ヘッドの移動は物理的な動作を伴うため、故障を誘発しやすい(耐用年数が低下する)とも言われている。
 コンピュータを長く使用していると次第にディスクのフラグメンテーションが進行し、ファイル操作の速度が低下していく。このため、最近のOSには、フラグメンテーションを解消する「デフラグ」(デフラグメンテーションの略)と呼ばれるユーティリティソフトが搭載されている。このソフトは、ディスク内のファイルを先頭から再配置し、ファイルの分割状態を解消して、連続した空き領域増やす。……

断片化を試す

フロッピーディスク(以下、FDと略す)の中に、[パソコンを使おう]というフォルダがあり、その中に次のようなデータ(Word文書)が入っているものとします。

このFDのプロパティを見ると‥‥
空き領域が 278KB あることがわかります。

これを図式化すると、次のようになります。

図1.フロッピーディスク内のファイル配置

§Lesson 1
    1. このFDにある「1bパソコンの種類」(441KB)を開きます。
    2. 任意の一文字を修正し、
    3. [上書き保存]します。

はたして正常に終了する(保存される)でしょうか。
次のメッセージが出て、保存されないでしょう。

§Lesson 2

Windows は次のように方法をとるからです。

    1. まず、仮の名前で保存する。
    2. 保存できたら、元のファイルを削除し、
    3. 仮の名前を元ファイルの名前に変更する。

こうすることにより、上書き保存中にトラブル(例えば停電)が起きても、元のファイルか新しいファイルかのどちらかが残るようにしているのです。

§Lesson 3
    1. FD内の「1bパソコンの種類」(441KB)を削除したら、637KB の画像ファイルは追加できるでしょうか?

答えは Yes です。FDのプロパティは右図ようになりました。

推定ですが、図式化すると次のようになります。


図2.637KB の画像ファイルをコピー後のファイル配置
この状態で、

    • 637KBの画像ファイルに「フラグメント*2 が発生した」と言います。

637KBの画像ファイルを削除すると、今度は、「空き領域が断片化」されることになります。空き領域が断片化されると、ファイルのフラグメントが進むことになります。

自動デフラグ

最近、「自動デフラグを無効にする」という記事を検索し、WindowsXP には自動的に最適化する機能が備わっていることを知りました。


 WindowsXPでは、キーボードやマウスなどの周辺デバイスが入力待ちの状態を利用してハードディスクを自動的に最適化する機能が備わっている。なにも操作していないのに、やたらハードディスクのアクセスランプが点滅するのはこの機能が働いている場合が多い。一見コンピュータウィルスに感染しているような錯覚を覚えるので、人によってはこれを無効にしたいと思っているだろう。
 管理者権限のあるユーザーでログオンし、スタートメニューから「ファイル名を指定して実行」を選び、「regedit」と入力して「OK」ボタンをクリックする。レジストリエディタが起動したら、次のようにキーをたどる。

  • HKEY_LOCAL_MACHINE→SOFTWARE→MicrosoftWindows→CurrentVersion→OptimalLayout

「OptimalLayout」を右クリックして「新規」−「DWORD値」を選び「EnableAutoLayout」というDWORD値を作成する。「EnableAutoLayout」をダブルクリックして「値のデータ」に半角数字で「0」を入力して「OK」ボタンをクリックする。
 レジストリエディタを終了してWindowsを再起動すれば、自動的にハードディスクを最適化する機能は無効になる。
元に戻すには、「EnableAutoLayout」を削除するか、これをダブルクリックして「値のデータ」に半角数字で「1」を入力して「OK」ボタンをクリックすればよい。
 なお、ハードディスクを手動で最適化する方法は次のとおりなので、随時実行することをおすすめする。マイコンピュータにあるハードディスクのアイコンを右クリックして「プロパティ」を選ぶ。「ツール」タブの「最適化する」ボタンをクリックする。「ディスクデフラグツール」ダイアログが開くの、ドライブを確認して「最適化」ボタンをクリックする。……


まだこのような経験(なにも操作していないのに、やたらハードディスクのアクセスランプが点滅する)がないので、レジストリをいじっていないが、自己責任で行ってください。
この記事にも「随時実行することをおすすめする」とあります。「最適化は不要」とは言っていません。最適化を手動で行うので、自動デフラグが走らないのかも知れません。

最適化する

WindowsXP でデフラグ(最適化)するには」を参照してください。

*1:ハードディスクの構造はウィキペディアを参照してください。

*2:fragment (物の)破片, かけら;断片