Средства дефрагментации

В NT существует стандартное API дефрагментации. Обладающее интересным ограничением для перемещения блоков файлов: за один раз можно перемещать не менее 16 кластеров (!), причем начинаться эти кластеры должны с позиции, кратной 16 кластерам в файле. В общем, операция осуществляется исключительно по 16 кластеров. Следствия:
1) В дырку свободного места менее 16 кластеров нельзя ничего переместить (кроме сжатых файлов, но это неинтересные в данный момент тонкости).
2) Файл, будучи перемещенный в другое место, оставляет после себя (на новом месте) "временно занятое место", дополняющее его по размеру до кратности 16 кластерам.
3) При попытке как-то неправильно ("не кратно 16") переместить файл результат часто непредсказуем. Что-то округляется, что-то просто не перемещается… Тем не менее, всё место действия щедро рассыпается "временно занятым местом".
Процесс стандартной дефрагментации состоит из следующих фаз:
1) Вынимание файлов из MFT зоны. Не специально - просто обратно туда их положить не представляется возможным.
2) Дефрагментация файлов. Осложняется ограничениями кратности перемещений.
3) Дефрагментация MFT, файла подкачки (pagefile.sys) и каталогов. Возможна через API только в Windows2000.
4) Складывание файлов ближе к началу - так называемая дефрагментация свободного места.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: