Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №3
Шрифт:

Рис. 8.9. Не правда ли, странно? Как будто капли дождя на стекле.

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

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

В идеале в конце концов после дефрагментации все файлы на диске должны располагаться в идущих друг за другом кластерах. Однако некоторые системные и служебные файлы операционной системы, в частности, файл виртуальной памяти[21], располагаются в кластерах, которые не могут быть перемещены. В результате в массив дефрагментированных данных оказываются вкраплены фрагменты таких файлов. Поэтому перед дефрагментацией рекомендуется отключить использование виртуальной памяти, а после нее — установить постоянный размер файла подкачки (Панель управления — Система — Быстродействие — Виртуальная память), чтобы он впоследствии не подвергался фрагментации.

Это — множество мелких файлов, размером меньше кластера, записанных на диск. А получилось так потому, что при записи каждого файла Windows ищет первый блок из 500 кб свободных кластеров и записывает файл в его конец. Именно в конец — чтобы дать возможность расти без фрагментации тому файлу, который находится перед этим блоком.

Проблема выбора

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

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

Также имеется вопрос — а какая файловая система лучше, FAT16 или FAT32? Тут необходимо оценить, что важнее. FAT32 позволяет установить меньший размер кластера и разбивать винчестер на логические диски больших размеров — больше 2 гигабайт. Но при этом сама 32-разрядная таблица FAT занимает больше места на диске, труднее кэшируется, а файлы,

записанные на диске с малым размером кластера, сильнее фрагментируются, что может привести к меньшему быстродействию FAT32 по сравнению с FAT16. Кроме того, с FAT32 не могут работать ни MS DOS, ни Windows NT. Что Здесь выбрать — решать вам.

* * *

Стоит запомнить:

При установке размера кластера приходится делать выбор между быстротой с надежностью и экономичностью. Большой размер кластера — не так плохо, как кажется. Чем больше размер кластера, тем больше потери дискового пространства из-за того, что в кластерах остается незанятое место — но и тем меньше фрагментация файлов, ведь количество фрагментов-кластеров, на которые может быть разбит файл, меньше, чем при меньшем размере кластера! Так что тут стоит выбирать — либо согласиться с потерями свободного места (и бороться с ними путем использования ZipFolders и других программ — архиваторов "на лету"), либо терпеть неизбежную фрагментацию файлов (и регулярно запускать программу дефрагментации).

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

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

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

Путаница

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

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

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

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

Поделиться:
Популярные книги

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9

Системный Нуб

Тактарин Ринат
1. Ловец душ
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Системный Нуб

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Генерал Империи

Ланцов Михаил Алексеевич
4. Безумный Макс
Фантастика:
альтернативная история
5.62
рейтинг книги
Генерал Империи

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Неудержимый. Книга IX

Боярский Андрей
9. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IX

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Провинциал. Книга 1

Лопарев Игорь Викторович
1. Провинциал
Фантастика:
космическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Провинциал. Книга 1

Инферно

Кретов Владимир Владимирович
2. Легенда
Фантастика:
фэнтези
8.57
рейтинг книги
Инферно

Болотник 2

Панченко Андрей Алексеевич
2. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 2