Na Windows XP 64 pobrałem plik o pojemności 1,2 GB, który, jak pokazuje obrazek, został sfragmentowany. Niestety, przed zrobieniem migawki z Piriform Defraggler zdefragmentowałem pozostałe pliki, więc nie możesz zobaczyć dokładnego stanu w miejscu, w którym plik został zapisany. Jednak dysk był cały czas tak pusty jak teraz (zużyto 25%) i prawie nie był pofragmentowany.
Z jakiego algorytmu alokacji bloków korzysta NTFS? Wygląda to losowo, a może umieszczenie go w miejscu, w którym faktycznie stoi głowica dysku.
AKTUALIZACJA:
Tak stało się dzisiaj po napisaniu 67 MiB nowego pliku. Został podzielony na 731 fragmentów, średnia wielkość to tylko 95 KiB. Plik został wykorzystany do wypełnienia niektórych luk, ale nie wszystkich, nie wykorzystuje też ogromnej ciągłej wolnej przestrzeni. Dziwne, prawda?
AKTUALIZACJA 2:
W przeciwieństwie do PC Guru , naprawdę nie sądzę, że Opera jest winowajcą. Myślę, że to (w przeciwieństwie do Google Chrome) nie mówi Windowsowi o oczekiwanym rozmiarze, jednak w wielu przypadkach nie jest to możliwe i na OS spoczywa odpowiedzialność za rozsądną obsługę. Poniższy obrazek pokazuje, co się stało po kilku dniach, kiedy prawie nic nie robiłem na tej partycji - katalog TEMP i wszystkie moje dane (z wyjątkiem tych zarządzanych przez Windows) znajdują się gdzie indziej. Sam system Windows wydaje się nie używać SetEndOfFile
i fragmentuje własne pliki w okropny sposób (600 fragmentów na kilka małych plików o wielkości około 40 MB). Wygląda na to, że NTFS nie używa pierwszego dostępnego sektora, ponieważ znów znajdują się pliki na środku, a także pod koniec całkiem pustego dysku (zużycie 23%),