в Windows XP 64 я загрузил файл 1,2 ГБ, и он оказался фрагментированным, как показано на рисунке. К сожалению, прежде чем сделать снимок из Piriform Defraggler, я дефрагментировал другие файлы, поэтому вы не можете увидеть точное состояние на момент записи файла. Однако диск все время был примерно таким же пустым, как и сейчас (25% использовалось) и почти не фрагментировался.
какой алгоритм выделения блоков использует NTFS? Это выглядит как случайный или может быть, положить его туда, где на самом деле стоит головка диска.
обновление:
вот что произошло сегодня после записи 67 MiB нового файла. Он был разбит на 731 фрагмент, средний размер всего 95 КБ. Файл был использован, чтобы заполнить некоторые пробелы, но не все из них, он не использует огромное непрерывное свободное пространство либо. Странно, не правда ли?
обновление 2:
в отличие от PC Guru, Я действительно не думайте, что опера виновата. Я думаю, что это (в отличие от Google Chrome) не говорит Windows, ожидаемый размер, однако, есть много случаев, когда это невозможно, и это ответственность ОС, чтобы справиться с этим в здравом уме. На следующем рисунке показано, что произошло через пару дней, когда я почти ничего не делал на этом разделе-временный каталог и все мои данные (за исключением управляемых Windows) находятся в другом месте. Сама Windows, кажется, не использовать SetEndOfFile
и фрагментирует собственные файлы ужасным образом (600 фрагментов на пару небольших файлов размером около 40 МБ). NTFS, похоже, не использует первый доступный сектор, так как файлы снова находятся посередине, а также ближе к концу довольно пустого диска (использование 23%), поэтому точный алгоритм все еще неизвестен.