In message <
[email protected]> "Morituri-|-Max"
Would be nice of Kelly to tell us how Microsoft managed this neat trick,
since it was a necessity all the way up to XP...
Microsoft's position, prior to Windows 2000, was that since the
implementation of NTFS in NT (and up) will automatically write new files
to a location on the drive where they will not be fragmented.
This is different then FAT where data is typically written starting at
the place of the most recent write without regard to whether the file
will be fragmented and/or whether the file could be placed elsewhere
without fragmenting.
There are two problems with this approach:
1) When a file expands (either because the application didn't specify
the filesize when it was created, or because the application
subsequently appended a data file) fragmentation can still occur.
2) When a disk becomes fairly full (typically anywhere from 50%-80%
depending on the disk usage), free space becomes sufficiently fragmented
such that new files which are larger then a few clusters cannot possibly
be created without fragmenting.
All that being said, NTFS will still tend to fragment less then previous
filesystems. To some extent this is implementation rather then
filesystem design, but the result is the same.
One other consideration, people often confuse optimization with
defragmentation. Defragmentation is only one aspect of optimization.
There are a number of theories with regards to optimization, but one of
the most frequent strategies is to attempt to store all files in a
directory together, and where possible, including subdirectories in this
process.
This is typically effective, when you launch Word (for example), you
touch more then just winword.exe -- As Word is launched, Word needs to
read dozens of support files which will typically be located in the same
directory (or a subdirectory).
Another strategy, one which was more effective in the DOS days then
today, was to group executable files near the beginning of the disk and
data files near the end of the used disk space. This strategy tends to
reduce the performance impact of data files when fragmentation does
occur (since the fragments will be physically near other fragments), and
second, it means that when launching programs which don't need to access
data files, the drive heads will tend to stay near the beginning of the
drive. In a single tasking environment this strategy makes sense, but
not in a multitasking or multiuser environment.