скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Дефрагментатор файловой системы

1.3.5 Программа O&O Defrag

Мощный программный пакет для дефрагментации диска. O&O Defrag выделяется благодаря уникальным технологиям. ActivityGuard следит за работой компьютера и незаметно проводит дефрагментацию, самостоятельно изменяю свою активность в зависимости от основных задач, выполняемых на данный момент. Технология OneButtonDefrag позволяет проводить дефрагментацию в соответствии с заданными установками, при определенном уровне фрагментации.

Дефрагментация может проводиться во время простоя системы, по расписанию, в ручном режиме. Для начала работы необходимо более 5% свободного пространства на диске. Программа позволяет дефрагментировать отдельный диск или все, отдельный файл, конкретную папку. Однако иногда возникают проблемы с дефрагментацией отдельных файлов. Если программе не удается найти достаточного свободного объема, она отмечает процент выполненной работы и переходит в недоступный режим (программа не отвечает), в таких ситуациях приходиться завершать процесс. После такого использовать программу удастся только после запуска соответствующей службы.

Пользоваться программой достаточно просто. Все возможности программы сгруппированы в четыре вкладки: Дефрагментация, Отчеты, Вид, Справка. Интерфейс удобный и интуитивно понятен (Рис. 1.5.).

Рис. 1.5. Интерфейс O&O Defrag.

После окончания анализа и выполнения дефрагментации можно просмотреть удобный детальный отчет.

Организовано несколько различных алгоритмов дефрагментации. Это самые распространенные алгоритмы: Скрытая (быстрая) дефрагментация (Stealth), Дефрагментация свободного места (Space), Имя (Complete/Name), Изменен(Complete/Modified), Доступ (Complete/Access). Более детально работу этих методов будет рассмотрено в следующем разделе.


РАЗДЕЛ 2. ОПИСАНИЕ АЛГОРИТМОВ ДЕФРАГМЕНТАЦИИ

2.1    Алгоритмы

Процесс дефрагментации файла можно разделить на два основных этапа: анализ файла, поиск кластеров этого файла, их расположение, поиск области диска для перемещения фрагментированных данных; непосредственно сама дефрагментация–перемещение кластеров файла в отведенное место, удовлетворяющее его объему.

2.1.1 Простая дефрагментация

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

На первом этапе задается файл, который необходимо дефрагментировать. Далее проводится поиск всех кластеров занимаемым файлом. Если кластеры не образуют нераздельную цепочку – это означает, что файл фрагментирован. На следующем этапе проводится поиск подходящего места для перемещения файла. После успешного выполнения предыдущего шага выполняется перемещение кластеров файла в новое место на диске. Если же место для файла не найдено (особо актуально для больших по объему файлов), то он пропускается и остается фрагментированным.

На рисунках 2.1. и 2.2. представлен, в графическом виде, принцип работы алгоритма. На рисунке 2.3. изображены условные обозначения.


Рис. 2.1. Область диска до дефрагментации.

Рис. 2.2. Использован «простой» метод.

операционный файловый дефрагментация программа

Рис. 2.3. «Легенда».

Преимущества: быстрая и эффективная работа. Небольшое потребление системных ресурсов. Максимальный размер файла, который может быть дефрагментиранным, определяется свободным неразделенным участком дискового пространства.

Недостатки: не способен дефрагментировать свободное пространство, что приводит к сильной фрагментации не занятых кластеров. Если общее свободное место позволяет дефрагментировать файл, но неразделенного свободного объема нет (фрагментировано свободное место). Не выполняется никакой сортировки данных.

2.1.2 Дефрагментация свободного места или полная дефрагментация

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

В настоящее время такой способ дефрагментации используется крайне редко, как основной метод, так как он занимает длительное время и требует относительно много свободного дискового пространства.

На первом этапе проводится поиск фрагментированных файлов с последующей дефрагментацией, но, в отличие от пред идущего метода, перемещение фалов осуществляется не в любое подходящее место на диске, а в конец раздела, таким образом, образуется область данных без свободных кластеров. После того как все необходимые файлы были дефрагментированны выполняется перемещение этих данных в свободные кластера в начале тома. Если свободного места между двумя блоками данных не достаточно для помещения очередного файла, то последующий блок переносится в конец раздела, тем самым высвобождает пространство для размещения файла. Таким образом, проводится реорганизация файловой структуры, благодаря которой в начале дискового раздела создается область данных, а в конце – все доступное свободное дисковое пространство.

На рисунках 2.4. и 2.5. представлен, в графическом виде, принцип работы алгоритма. На рисунке 2.6. изображены условные обозначения.

Рис. 2.4. Область диска до дефрагментации.


Рис. 2.5. Дефрагментация свободного места.

Рис. 2.6. «Легенда».

Преимущества: метод эффективен для сильно фрагментированных дисков. Дефрагментация свободного места предотвращает дальнейшую фрагментацию данных. При проведении дефрагментации пропущенными фрагментированными остается намного меньше файлов, нежели при «простой дефрагментации».

Недостатки: процесс занимает длительное время. Требуется много свободного места на диске. Из-за частого перемещения данных увеличивается нагрузка на компьютер, особенно, но жесткий диск. Данный метод не является оптимальным для проведения плановой дефрагментации, или дефрагментации в фоновом режиме.

2.1.3 Дефрагментация часто используемых данных

Такой метод размешает файлы на жестком диске согласно с частотой их использования. Такой метод занимает длительный промежуток времени и требует больших ресурсов. Зачастую данный метод применяется на серверных машинах.

Для минимальной фрагментации и поддержания высокой производительности следует использовать данный метод регулярно.

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

На рисунках 2.7. и 2.8. представлен, в графическом виде, принцип работы алгоритма. На рисунке 2.9. изображены условные обозначения.

Рис. 2.7. Область диска до дефрагментации.

Рис. 2.8. Дефрагментация часто используемых данных.

Рис. 2.9. «Легенда».

Преимущества: реорганизация данных повышает производительность на серверных станциях. Полная дефрагментация позволяет объединить большинство свободного места на жестком диске.

Недостатки: требуется много свободного дискового пространства для начала процесса дефрагментации. Высокое потребление системных ресурсов. Не универсальность данного типа сортировки.

2.1.4 По дате последнего изменения

Данный метод сортирует и размещает данные на диске согласно времени их последнего изменения. Он проводит полную реорганизации структуру размещения файлов на диске. На выполнение полной дефрагментации требуется много времени. Данный метод редко используют на домашних компьютерах или ноутбуках. Его эффективней использовать на серверных машинах.

Метод совмещает в себе несколько алгоритмов: быстрой и полной дефрагментации. Первым выполняется обычная дефрагментация файлов. Затем проводится чтение атрибутов файлов и определение их места по завершению работы. Файлы, которые не изменялись длительное время, размещаются в начале раздела. Часто изменяемые файлы записываются в конец раздела, что позволит, в дальнейшем, произвести их быструю дефрагментацию не затрагивая остальных данных. Такой метод будет оптимальным при использовании на файловых серверах, при хранении баз данных.

На рисунках 2.10. и 2.11. представлен, в графическом виде, принцип работы алгоритма. На рисунке 2.12. изображены условные обозначения.

Рис. 2.10. Область диска до дефрагментации.


Рис. 2.11 По дате последнего изменения.

Рис. 2.12. «Легенда».

Для сохранения высокой производительности и малой фрагментации необходимо производить регулярную дефрагментацию, или настроить автоматический режим, используя данный метод.

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

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

2.1.5 Сортировка по имени

Алгоритм полной дефрагментации с возможностью сортировки файлов. Метод реорганизует файловую структуру таким образом, что файлы будут располагаться на диске согласно алфавиту. Такой метод обычно используют на системных дисках. Сортировка по имени позволяет сократить время доступа к файлу в каталогах.

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

Использование такого метода дефрагментации позволит ускорить процесс работы компьютера, в частности загрузки операционной системы. Это объясняется тем, что при загрузке большинство требуемых библиотек загружаются из нескольких каталогов «C:\Windows\System32\», «C:\Windows\System32\drivers»).

Данный алгоритм рекомендуется использовать на системных дисках, на которых файлы редко изменяются.

На рисунках 2.13. и 2.14. представлен, в графическом виде, принцип работы алгоритма. На рисунке 2.15. изображены условные обозначения.

Рис. 2.13. Область диска до дефрагментации.

Рис. 2.14. Область диска до дефрагментации.

Рис. 2.15. «Легенда».

Преимущества: алгоритм полной дефрагментации сортирует все файлы на жестком диске. Повышает скорость работы операционной системы.

Недостатки: долгое время дефрагментации. Файлы на диске не должны изменяться часто или создаваться новые, так как это потребует новой сортировки и может привести к перемещению не фрагментированных данных, что будет соответствовать полной реструктуризации файловой системы.

2.2    Выбранный алгоритм

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

Оптимальным был выбран «простой» метод. Так как он выполняет дефрагментацию без сортировок и изменения файловой структуры, эффективен для большинства файлов, легок в реализации - это делает его лидером среди остальных алгоритмов. Для пользователя дефрагментация с помощью такого алгоритма позволит быстро соединить все фрагменты файла, не затрачивая большого количество системных ресурсов.

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

2.3    Среда разработки

2.3.1 С++ Bilder

Пятая версия продукта Borland C++ Builder , вышедшая в начале 2000 года, является достаточно популярной визуальной средой разработки на С++ для Windows. В состав среды входит множество различных компонентов и библиотек. Среда разработки имеет удобный редактор форм. Это позволяет создавать визуальные приложения с интерфейсами любой сложности. Редактор кода достаточно прост, но при написании большого кода программы навигация становится более трудной. К сожалению компилятор и отладчик в Bilder на выполнены на достаточном уровне. Откомпилированная программа занимает, относительно, много пространства на диске, и скорость работы приложения не максимальна. Язык программирования для данной среды является Object Pascal, но так же допускается использование в коде языка С. Такая мультиязычность кода приводит к потеряв быстродействия программы и усложнением работы над проектом.

2.3.2 Microsoft Visual Studio

Является универсальной средой разработки. Включает в себя Visual Basic .NET (Visual Basic), Visual C++,Visual C#. Имеет различные редакции, одна из которых бесплатна, в некоторые входят также Microsoft SQL Server либо Microsoft SQL Server Express. Среда разработки имеет хороший и удобный редактор кода. Для облегчения работы программиста код подсвечен разными цветами, на каждую стандартную функцию можно получить справку. Однако количество доступных компонентов намного меньше чем для С++ Bilder 5.0. Существует большая библиотека справочной информации Microsoft Developer Network (MSDN), что значительно помогает при изучении языка и создании приложений. Компилятор в Visual Studio создает приложения достаточно малого размера и скорость выполнения в связке с языком С++ предельно высокая.

2.3.3 Выбранная среда

Для написания программы был выбран язык программирования высокого уровня C++. Язык является C подобным, имеет небольшие отличия, которые значительно улучшают качество кода. Этот язык имеет множество библиотек, большое количество готовых функций, имеет множество возможностей, написание кода занимает значительно меньше времени, в сравнении с другими языками. Однако разработка приложения может занять более длительное время, нежели при использовании других языков. В виду сложности языка на его изучение требуется, относительно, много времени.

В качестве среды разработки была выбрана Microsoft Visual Studio 2005. Данная среда разработки является универсальной, так, как она поддерживает несколько языков программирования. В VS2005 встроен достаточно хороший компилятор, имеет удобный редактор кода и редактор графического интерфейса, обладает хорошим отладчиком.


РАЗДЕЛ 3. РУКОВОДСТВО ПРОГРАММИСТА

3.1    Стандартные функции

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

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

Две из операций, используемых в процессе дефрагментации требуют дескриптора тома. Только администраторы могут получить дескриптор тома, так что только администраторы могут дефрагментировать том.

3.1.1 Управляющий код FSCTL_GET_VOLUME_BITMAP

Данный код используется для нахождения необходимого пространства, в которое будет перемещен файл. В этой области должно быть достаточно свободных кластеров для перемещения заданного файла, в случае нехватки объема – эта область не используется и происходит поиск подходящей.

Для использования этой операции необходимо вызвать функцию DeviceIoControl

Возвращаемые значения. Если операция завершена успешно, DeviceIoControl возвращает ненулевое значение.

Если операция не может выполниться или еще выполняется, DeviceIoControl возвращает ноль (0). Для получения расширенной информации об ошибке, вызовите GetLastError.

Возвращенное значения от GetLastError из ERROR_MORE_DATA указывает для вызывающей функции о том, что буфер не был достаточно большим, чтобы разместить полный битовую карту с запрашиваемого начала LCN (logical cluster number – номер логического кластера) до последнего кластера на томе.

Возвращенное значения от GetLastError ERROR_NOT_READY указывает на то, что раздел является разделом с NTFS файловой системой и он не смонтирован.

3.1.2 Управляющий код FSCTL_GET_RETRIEVAL_POINTERS

Данный код используется для получения расположения кластеров файла на диске. При вызове DeviceIoControl с этим кодом, InputBuffer должен содержать структуру STARTING_VCN_INPUT_BUFFER описывающую начальный элемент цепочки кластеров с которого мы хотим получить карту размещения файла, а после успешного выполнения функции OutputBuffer будет содержать структуру RETRIEVAL_POINTERS_BUFFER которая описывает карту размещения.

Для использования этой операции необходимо вызвать функцию DeviceIoControl.

3.1.3 Структура RETRIEVAL_POINTERS_BUFFER

Необходимо пройти по структуре возвращаемой FSCTL_GET_RETRIEVAL_POINTERS

Далее рассмотрим параметры входящие в структуру:

ExtentCount. Число элементов в массив.

StartingVcn. Начальный VCN возвращенный вызываемой функцией.

Это не обязательно VCN возвращенный вызываемой функцией, так как драйвер файловой системы может округлить первый VCN до области, которую запрашивал начальный VCN.

NextVcn. VCN на котором начинается следующая область. Это значение отнять либо StartingVcn, либо NextVcn предыдущего члена массива равно длине, в кластерах, текущей экстенте. Длинна является входным параметром для функции FSCTL_MOVE_FILE.

Lcn. VCN на котором начинается текущая экстента на томе. Эта переменная является входным параметров для FSCTL_MOVE_FILE. Для NTFS значение (LONGLONG) -1 указывает либо сжатие, либо нераспределенный регион рассеянных файлов.

3.1.4 Управляющий код FSCTL_MOVE_FILE

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

3.1.5 Функция CreateFile

Функция CreateFile создает или открывает каталог, физический диск, том, буфер консоли (CONIN$ или CONOUT$), устройство на магнитной ленте, коммуникационный ресурс, почтовый слот или именованный канал. Функция возвращает дескриптор, который может быть использован для доступа к объекту.

Если функция завершается успешно, возвращаемое значение - открытый дескриптор заданного файла. Если заданный файл существовал до вызова функции, а параметр dwCreationDisposition установлен в CREATE_ALWAYS или OPEN_ALWAYS, вызов GetLastError возвращает значение ERROR_ALREADY_EXISTS (даже при том, что функция завершилась успешно). Если файл не существовал перед вызовом функции, функция GetLastError возвращает нуль.

Если функция завершается с ошибкой, возвращаемое значение - INVALID_HANDLE_VALUE. Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError.

3.1.6 Функция CheckTokenMembership

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

Функция IsUserAdmin выполняет проверку прав пользователя. Для этого необходимо получить идентификатор безопасности (SID) с помощью функции AllocateAndInitializeSid, с параметрами SECURITY_BUILTIN_DOMAIN_RID и DOMAIN_ALIAS_RID_ADMINS (отвечают за принадлежность к группе администраторов), которая инициализирует идентификатор. Далее, используя CheckTokenMembership, определяется права пользователя.

3.2    Функции, выполняющие дефрагментацию

Далее описана работа функций, которые реализованы в разработанной программе. Эти функции обеспечивают процесс дефрагментации.

3.2.1 Функция «file_map»

Функция получает битовую карту файла. Путь к файлу является входящим параметром FileName. В этой функции задействована стандартная функция DeviceIoControl с управляющим кодом FSCTL_GET_RETRIEVAL_POINTERS.

Для работы с файлом на начала следует его открыть используя функцию «CreateFile», с флагами чтения, записи, удаления, это необходимо для обеспечения полных прав на данный файл. Далее требуется определить размер кластера, что становится возможно после использования функции «GetDiskFreeSpace», входящим параметром является бува дска, выходными – количество секторов на кластер и количество байт на сектор, остальные параметры нам не потребуются. Следующим шагом является заполнения структуры. Для этого используется «DeviceIoControl». OutBuf описывает битовую карту файла, который следует дефрагментировать. Битовая карта используется в функции volume_map. Структура содержит количество фрагментов файла, значения VCN, LCN, порядок кластеров. Вся необходимая информация о файле, расположении его клавстеров на простраснтве диска, их порядок хранится в OutBuf. Результатом функции «file_map» является заполненный буфер.

3.2.2 Функция «volume_map»

Функция просматривает весь диск в поисках свободного пространства для размещения дефрагментируемого файла. Функция вычисляет количество кластеров на диске, рассчитывает и выделяет объем памяти для буфера.

В функции «DeviceIoControl» выделим некоторые параметры. «InBUFFER» представляет указатель на входящий буфер, и несет в себе стартовый LCN (logical cluster number – номер логического кластера). «OutBUFFER» указатель на выходной буфер. Результат выполнения операции хранится в переменной «ret». Если возвращаемое значение равно нуль, то функция выполнилась с «DeviceIoControl» ошибкой.

Для дальнейшей работы с диском следует создать хендел и задать права на чтение, запись диска. Функция «DeviceIoControl» с кодом FSCTL_GET_VOLUME_BITMAP заполняет необходимые переменные для нахождения свободного пространства. Затем следует определить количество кластеров на разделе, начиная с стартового логического кластера. Следует определить количество байт для буфера. Затем вновь следует вызвать «DeviceIoControl», с обновленными параметрами, следующим шагом будет поиск удовлетворяющего пространства на диске. После завершения обхода пространства на диске, в структуру заносятся значения стартового кластера на диске, после которого будет записываться дефрагментируемый файл.

3.2.3 Функция «simply_defrag»

Данная функция вызывается по нажатию кнопки «Go» и использует описанные выше функции. «simply_defrag» выполняет перемещение кластеров файла в новое место на диске. Это положение обуславливается положениями начального значения LCN, для выбранного файла, и значением VCN файла. Поиск подходящего стартового значение LCN для файла находитс в функции «volume_map».

Чтобы осуществить перемещение кластеров файла в новую область, следует создать хендлы для файла и для диска, и с помощью «CreateFile», разрешить чтение, запись и удаление. Используя функцию «DeviceIoControl» с управляющим кодом «FSCTL_MOVE_FILE» осуществляется перемещение файла покластерно. Количество раз выполнения цикл перемещения равно количеству фрагментов, которое содержит файл. Адрес кластера задается значениями LCN, отвечающее за физическое положение кластера на диске, и значением VCN, которое обозначает положение кластера в цепочке файла.

После завершения перемещения файла процесс дефрагментации завершен.


РАЗДЕЛ 4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

4.1    Интерфейс программы

Программа имеет удобный и интуитивно понятный интерфейс(Рис. 4.1.). На форме расположено три кнопки: «Drive info», «GO», «File info». Выпадающее меню выбора диска, расположена под кнопкой «Drive info», служит для получения информации о диске. Большую часть окна занимает поле для вывода информации.

Описание: C:\Users\Володимир\Desktop\1.gif

Рис. 4.1. Вид главного окна программы.

4.2    Кнопка «Drive info»

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

Описание: C:\Users\Володимир\Desktop\2.gif

Рис. 4.2. Информация о диске.

4.3    Кнопка «GO»

Нажатие кнопки осуществляет дефрагментацию выбранных файлов. При нажатии на кнопку открывается окно выбора файла. После выбора файла осуществляется дефрагментация файла. Также пользователю доступна возможность осуществить выбор нескольких файлов, которые необходимо дефрагментировать. Когда процесс дефрагментации завершится, программа выводит информацию о выполненной работе. Представленная информация состоит из строк: путь к файлу, количество фрагментов файла, сообщение о завершении дефрагментации и затраченное время (Рис. 4.3.).


Описание: C:\Users\Володимир\Desktop\3.gif

Рис. 4.3. Информация представленная после дефрагметации.

4.4    Кнопка «File info»

Данная кнопка позволит пользователю просмотреть информацию о интересующем файле или группе файлов. После выбора объекта будет выведена информация о расположении файла на диске, размер файла в килобайтах, количество фрагментов файла, количество занимаемых кластеров на диске (Рис. 4.4.). Эта информация позволит оценить степень фрагментации файла и необходимость его дефрагментации. Если количество фрагментов будет больше одного, то следует произвести дефрагментацию данного файла.


Описание: C:\Users\Володимир\Desktop\4.gif

Рис. 4.4. Информация представленная после дефрагметации.


ВЫВОДЫ

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

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


Страницы: 1, 2


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.