重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

最近のHDDは大容量のものが増え、デフラグも大変なので、パーティションを分け、小さい領域以外はバックアップ領域として、(デフラグしても良いドライブ上で)編集し終わったデータを移動(保存)した後は、ファイルを開く、ファイル名を変えるのみに留め、データの編集・削除・移動は一切せず出来るだけ断片化しないように心がけています。

そこで質問なのですが、ファイルを使用したり、ファイル名を変えるだけでも断片化してしまうのでしょうか。ファイル名自体はファイルサイズに関係ないようなので、クラスタは消費しなそうですし、OSとも分けた純粋なデータのみのバックアップドライブにしているので、キャッシュやテンポラリファイルも無いはずなので、断片化はしないのではないかと想像しているのですが、「ファイルを開く・ファイル名の変更」が断片化を招かないという確信が持てません。

ファイルの使用・ファイル名変更だけでも断片化は起こるのか。ファイルシステムによって違いはあるのか教えて下さい。詳しい解説のあるHPなども教えて頂けると嬉しいです。

A 回答 (2件)

No.1です。

回答します。
以下、今までの経験に基づく推測が含まれていることをお断りしておきます。

> やはり、ファイルのRead、名前の変更は断片化には繋がらないのですね。
ディスクは既にお気づきのように管理部とデータ部を持っています。
Readはもちろん参照のみですが、名前の変更は管理部を書き換えるだけですから瞬間的に終わります。
データ部の移動がありませんから当然フラグメンテーションも起こりません。

> 同一ドライブ上でXというフォルダ配下にAとBというフォルダがあって、
> AからBや、AからXなどにファイルを移動したら、当然断片化は起こりますよね。
実はこの場合データ部は書き換えを行っていないようです。
リネームよりは時間が掛かりますが移動よりは遥かに早いです。
つまりデータ部は書き換えずにディレクトリーテーブルの再編成のみを行っているものと思われます。

> 仮にAフォルダをCフォルダにリネームした場合、
> Windowsからするとある意味場所を移動したとも言えると思いますが、
> この場合は断片化するのでしょうか。
>それともファイルのリネームと一緒で、断片化には繋がらないのでしょうか。
これは実際にやってみればすぐにわかりますが時間はほとんど掛かりません。
つまり、ファイルのリネームと同じことをやっていると推測されます。

> また、新規ファイルの作成がファイルの場所移動を伴うというのは、どういうことでしょうか。
これは文章のつながり上の不手際でした。
おっしゃる通り新規作成はファイル移動は伴いません。
失礼しました。

> 上書き保存についての説明は半分なるほどと思いましたが、半分疑問が残りました。
> 旧ファイルと新ファイルを瞬間的に2つ保有すると言うのは、メモリと仮想メモリ上にでしょうか。
> 上書き作業を行うドライブ上だとすると、上書きするファイルサイズと同等の空きが
> 無ければいけないことになりますが、それ以下の空き容量でも上書きしています。
> 仮想メモリだとしても、仮想メモリとして使われてしまえば断片化してしまいますね。
> 決して仮想メモリとしては使わないようにしなければ・・・
上書きするファイルサイズ以上の空きが無いとダメなような気がしますが。
デフラグなどでは「空き容量が不足しています」と言うメッセージが出ます。
うまく行くとすれば、ファイルをいくつかに分割しその中の更新が必要な部分のみを
2重に持つという方法を使えば可能かも知れません。

> 疑問を残さず、しっかりと理解したいので、
> この件について、理解するのに参考になるURLをご存知でしたら、教えて頂けると嬉しいです。
ハウツーは多いのですが細かい仕組まで解説しているものがなかなかありませんね。
Wikipediaの「フラグメンテーション」ではフラグメンテーションの基本を図解で示しています。参考になれば。

この回答への補足

遅くなってしまい、すみません。

>ディスクは既にお気づきのように管理部とデータ部を持っています。

言われて見れば、なるほどなと思うことばかりですが、知りませんでした。
フラグメンテーションという意味では使えませんが、パケットで言うと、管理部(ヘッダ情報)データ(ペイロード情報)みたいなイメージですね。

データを別フォルダに移動、またはフォルダをリネームしても、管理部のディレクトリーテーブルという情報を「保存場所が、AからB(X)に変わったよ」と書き換えてるだけで、データ部に変化は無いと言うことですね。
通常、断片化したデフラグすると言うのはデータ部の領域で、管理部の領域はいくら書き換わってもサイズを持たないと言うか別物ということなんでしょうか。探して見たのですが、ちゃんと解説しているサイトは中々無いですね。

ということは、断片化の原因となる行為は、ファイルAを作成(保存)した後に、新たなファイルB(C、D・・・)を保存し、その後、ファイルA等(後ろにデータの無い最後のデータ以外)を削除または、編集(サイズアップ)し、最後尾にまでデータが溢れてしまった場合の2つのみと言うことのようですね。

>上書きするファイルサイズ以上の空きが無いとダメなような気がしますが。
>デフラグなどでは「空き容量が不足しています」と言うメッセージが出ます。
>うまく行くとすれば、ファイルをいくつかに分割しその中の更新が必要な部分のみを
>2重に持つという方法を使えば可能かも知れません。

例えばDドライブに100MBのデータがあって、Dドライブの空き容量が70MB。Cドライブにも同じファイルがあって、CからDにコピー(上書き)すると、100MB以上の空きが無いので、エラーが出ると言うことでしょうか。サイズは違いますが、先ほどテストしたのですが、これは成功しました。同じファイルなので更新された部分がない(0MB)なので成功しただけで、仮に編集し、更新された部分が70MBを超えてたらエラーが出たのかもしれませんね。
空き容量が無いとデフラグでエラーが出るとは聞くのですが、エラーが出た場合、何を上書きしようとした事に対しての容量不足なのでしょうか。

>Wikipediaの「フラグメンテーション」ではフラグメンテーションの基本を図解で示しています。参考になれば。

デフラグメンテーション
ttp://ja.wikipedia.org/wiki/%E3%83%87%E3%83%95%E3%83%A9%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

の方でしょうか?
フラグメンテーション
の方は、メモリの話のようです。
ttp://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

Mac OS X 10.2以降やLinuxはフラグメンテーションが起こりにくいのですね。セキュリティ的にもWindowsは標的にされやすいし、実用面で、Windowsとも互換性が問題無いレベルになって、仕事や趣味の世界でも使えれば魅力のあるOS達なんですけど、今の社会ではどうしても使わざるを得ないですし、Windowsの独擅場ですよね。

補足日時:2006/11/17 02:20
    • good
    • 1

ファイルのREAD、名前の変更はファイルの場所が変わりませんので


断片化とは無関係です。
新規ファイル作成、上書き保存、ファイル移動はファイルの場所移動が
伴いますので断片化の要因になります。
又ファイル削除も飛び飛びの空きエリアを作りますから
これも断片化の伏線です。

なお、上書き保存は場所が変わらないと思っている人が多いですが
旧ファイルと新ファイルを2つ同時に保有してから瞬間的に
旧から新に切り替えると言うことをやっています。
途中で失敗したときの戻しのためです。
上書き保存の時に空きエリア不足のエラーになるのはこれが原因のことが多いです。

この回答への補足

回答有難うございます。

やはり、ファイルのRead、名前の変更は断片化には繋がらないのですね。
ファイルの場所の移動という言葉を読んで、ふと思ったのですが、仮に、同一ドライブ上でXというフォルダ配下にAとBというフォルダがあって、AからBや、AからXなどにファイルを移動したら、当然断片化は起こりますよね。仮にAフォルダをCフォルダにリネームした場合、Windowsからするとある意味場所を移動したとも言えると思いますが、この場合は断片化するのでしょうか。それともファイルのリネームと一緒で、断片化には繋がらないのでしょうか。

また、新規ファイルの作成がファイルの場所移動を伴うというのは、どういうことでしょうか。ファイル作成後、同一ドライブに異なるデータを保存した後、先に新規作成したファイルを編集(サイズ変更)すれば移動するというのは分かるのですが、ファイルを作成しただけで断片化するとなると、質問文にあるように別ドライブから編集済みのデータを移動しただけで断片化してしまうことになり、程度に差はあれ、どんなに注意しても意味が無いように思えてしまいます。

上書き保存についての説明は半分なるほどと思いましたが、半分疑問が残りました。
旧ファイルと新ファイルを瞬間的に2つ保有すると言うのは、メモリと仮想メモリ上にでしょうか。上書き作業を行うドライブ上だとすると、上書きするファイルサイズと同等の空きが無ければいけないことになりますが、それ以下の空き容量でも上書きしています。
仮想メモリだとしても、仮想メモリとして使われてしまえば断片化してしまいますね。決して仮想メモリとしては使わないようにしなければ・・・

疑問を残さず、しっかりと理解したいので、この件について、理解するのに参考になるURLをご存知でしたら、教えて頂けると嬉しいです。

補足日時:2006/10/23 00:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!