Diskeeper 2007: незаметная дефрагментация

9 ноябрь, 2006 - 17:18Игорь Дериев

Встраивание в ОС некоторой функциональности нередко приводило к упадку целого сегмента индустрии ПО. Примеры тому несложно найти в недавней истории, а судебные тяжбы по отдельным инцидентам продолжаются и по сей день. Однако встречаются и исключения, одним из которых являются дефрагментаторы. И хотя новые продукты данного класса появляются с завидной регулярностью, настоящий обзор посвящен очередной версии нашего старого знакомого.

Diskeeper 2007 незаметная дефрагментация

Сегодня от разработчиков дефрагментаторов трудно ожидать каких-либо существенных новаций. Признанные лидеры, такие как Diskeeper и Raxco, связанные необходимостью сертификации своих программ и рамками официального API, судя по всему, больше времени уделяют маркетинговой борьбе, апеллируя к результатам различных сторонних исследований и тестов, которые с завидной очередностью отдают пальму первенства то одному, то другому. Второй эшелон, хоть и регулярно, пополняется новыми игроками (один из последних присоединившихся – www.disktrix.com) но также не блещет оригинальностью, в основном лишь повторяя путь, уже пройденный «старшими товарищами». И все это происходит на фоне далеко не однозначного отношения к самой целесообразности использования данного класса программ, что не раз уже обсуждалось и на страницах нашего еженедельника.

Тем не менее именно эта неоднозначность, видимо, и поддерживает на должном уровне спрос на дефрагментаторы, а раз так, то законы рынка не допускают застоя и побуждают разработчиков к дальнейшему изобретательству. На наш взгляд, на этой стезе наибольших успехов традиционно добивается компания Diskeeper, выпустившая недавно одноименный продукт с маркировкой 2007. Впрочем, на самом деле это логическое продолжение прежней линейки, поскольку внутренний номер версии обозначен как 11, да и нумерация сборок сохранена сквозной.

InvisiTasking – технология невидимости

Последние несколько лет каждая очередная версия Diskeeper традиционно предлагает пользователям набор новых технологий, по сути, не влияющих на базовую функциональность, но сулящих определенные улучшения в области управляемости, совместимости и пр. В этот раз таковой оказалась InvisiTasking, в которой разработчики замахнулись, ни много ни мало, на совершенствование базовых механизмов обеспечения многозадачности Windows. Само название технологии подсказывает, что речь идет о более «незаметном» выполнении программ в фоновом режиме, и определенные мотивы для изысканий в данной области действительно имеются.

Diskeeper 2007 незаметная дефрагментация
Новая консоль позволяет следить за тем, как действует InvisiTasking

Известно, что вопреки усилиям системного менеджера ресурсов Windows, в отдельных случаях некоторые процессы могут, к примеру, практически монополизировать CPU (чаще всего, не окончательно и на непродолжительное время). Возможна и обратная ситуация, когда какой-то процесс останется, что называется, на голодном пайке, причем вовсе не обязательно это предполагает, что он выполняется с пониженным приоритетом. Подобные инциденты наверняка знакомы каждому пользователю Windows XP, но в общем это справедливо и для серверных ОС. Таким образом, традиционное выполнение в фоновом режиме задач, подобных дефрагментации, может негативно сказаться на работе каких-то критичных приложений.

Поэтому в InvisiTasking реализован несколько иной подход. Специальный монитор отслеживает свободные системные ресурсы, прогнозирует их дальнейшую загрузку и позволяет обслуживаемому процессу использовать лишь малую их толику. Задача получается как бы «растянутой» во времени, тем не менее рано или поздно она будет выполнена и все произойдет практически незаметно для параллельно выполняющихся программ. Это подтверждают специальные исследования, проведенные разработчиками Diskeeper, более того, они показали, что некоторые операции завершались даже быстрее, если параллельно с ними работал InvisiTasking-процесс. Результат достаточно парадоксальный, но он, видимо, объясняется упомянутыми выше особенностями алгоритмов системного менеджера ресурсов.

Невидимость – в мирных целях

В Diskeeper 2007 технология InvisiTasking применяется для организации процесса полностью автоматической дефрагментации, что подразумевает перманентное фоновое (именно в указанном выше понимании этого термина) выполнение анализа файловой системы и переразмещения данных. Фактически этот режим теперь является основным, и хотя по-прежнему остается возможность запуска соответствующих процедур вручную, в большинстве случаев она вряд ли понадобится (разве что на начальном этапе). Характер эксплуатации традиционного настольного компьютера таков, что его диски практически постоянно будут поддерживаться в идеальном состоянии (спустя, конечно, некоторое время после установки и активизации ПО). Не столь однозначна, пожалуй, ситуация с серверами, но если они не работают круглосуточно в режиме полной загрузки, то Diskeeper 2007 автоматически выявит периоды простоя и выполнит положенное обслуживание.

Так или иначе, но подобный подход и в самом деле представляет собой некий «сдвиг парадигмы» и многие косвенные признаки прекрасно демонстрируют, насколько он принципиален. Скажем, из Diskeeper 2007 напрочь исчез планировщик заданий (причем вместе с группой настроек под названием Set It and Forget It, которое является зарегистрированным девизом Diskeeper), в обзоре прошлой версии отмеченный нами за чрезвычайную гибкость. Действительно, зачем он теперь нужен, если программа самостоятельно «вычислит» наиболее подходящее время для своей работы? Аналогично отпала необходимость и в различных режимах дефрагментации.

Более того, все сколько-нибудь серьезные изменения Diskeeper 2007 так или иначе связаны с InvisiTasking. Например, технологии I-FAAST (Intelligent File Access Acceleration Sequencing Technology) и TVE (Terabyte Volume Engine) обновились до версии 2.0 именно ради поддержки функционирования в «невидимом» режиме. Первая из них, правда, дополнительно предоставляет возможность пользователю самостоятельно указывать «приоритетные» файлы, подлежащие размещению в наиболее быстродействующих областях накопителя, но сами же разработчики не рекомендуют ее использовать.

Конечно, программисты уделили внимание и другим аспектам своего детища. Так, у Diskeeper 2007 есть полный комплект 64-разрядных версий (и настольных, и серверных), он уже совместим с Windows Vista и т. д. Однако именно автоматический режим работы, основанный на технологии InvisiTasking, является той отличительной особенностью, которая сегодня выделяет Diskeeper 2007 среди конкурентов и, по-видимому, заслуживает подражания.