Практическое занятие № 21
Диски и файловая система
1. Дефрагментация жестких дисков и загрузочных файлов
Для получения доступа к просмотру состояния и управлению дисками нужно щелкнуть правой клавишей мыши на значке Мой компьютер, выбрать и щелкнуть на строке Управление. В открывшемся окне щелкнуть на строке Управление дисками (рис. 1). В правой части окна будут отображены все дисковые устройства компьютера и основные параметры их состояния.
При работе с жестким диском всегда имеет место фрагментация. С течением времени после установки программ диск заполняется. А после их удаления файлы фрагментируются, и операционной системе приходится искать свободные фрагменты на диске для размещения файлов. Часто файл оказывается разрезанным на сотни и тысячи маленьких фрагментов, разбросанных по всему жесткому диску. Это может привести к заметному снижению быстродействия компьютера. Негативный эффект фрагментации устраняется с помощью встроенной в Windows программы дефрагментации, запустить которую можно, указав предварительно имя диска, в левой панели оснастки Управление компьютером (рис. 2).

Рис. 1

Рис. 2
Результаты дефрагментации можно просмотреть, нажав на кнопке Вывести отчет, которая становится доступной после завершения дефрагментации (рис. 3).

Рис. 3
2. Дефрагментация загрузочных файлов
Скорость чтения файлов зависит от их местоположения на диске. Кроме того, если файл фрагментирован, то для доступа к нему требуется больше времени, чем если бы части файла были расположены друг за другом. С помощью стандартных утилит Windows и программ сторонних производителей можно дефрагментировать загрузочные файлы Windows и расположить их на диске так, чтобы ускорить обращение к ним.
В операционной системе Windows XP поддерживается новый режим, в котором определяются файлы, участвующие в процессе загрузки, и затем эти файлы располагаются на жестком диске так, чтобы обеспечить оптимальную скорость загрузки. Кроме того, в Windows XP имеется программа дефрагментации загрузочных файлов, однако пользователь напрямую запустить ее не может. По умолчанию она работает только в фоновом режиме. После бездействия компьютера в течение определенного промежутка времени (5 – 30 минут) система считывает загрузочные данные и начинает дефрагментацию незаметно для пользователя.
Невозможно ввести команду, которая начала бы дефрагментацию загрузочных файлов. Однако можно заставить компьютер начать выполнение заданий, запускаемых при простое, даже если в это время система не простаивает. В результате начнется и дефрагментация загрузочных файлов. При этом будут запускаться и другие процессы, поэтому компьютеру потребуется выполнить большой объем работ. Пока не закончится выполнение всех заданий, предназначенных для запуска при простое, компьютер нельзя будет использовать для других ресурсоемких задач.
Для выполнения заданий, предназначенных для запуска при простое, нужно выполнить следующие действия:
· нажать кнопку Пуск, затем выбрать команду Выполнить;
· в поле ввода открывшегося окна набрать строку
Rundll32.exe advapi32.dll. ProcessIdleTasks и щелкнуть на кнопке ОК.
После этого компьютер начнет выполнять задания, запускаемые при простое, в частности, приведенная команда позволит системе выполнить дефрагментацию загрузочных файлов.
Встроенная в Windows XP программа дефрагментации загрузочных файлов работает довольно хорошо, но не обрабатывает файлы реестра, записи таблицы размещения файлов и некоторые другие системные файлы. В то же время файлы реестра, как и любые другие системные файлы с данными, при каждодневном использовании могут фрагментироваться. Поэтому их тоже надо иногда дефрагментировать. Имеются программы сторонних производителей, обладающие дополнительными возможностями.
Одна из программ, позволяющая получить полный доступ ко всем файлам в процессе дефрагментации, – Diskeeper. Условно-бесплатную копию этой программы можно получить на сайте фирмы-разработчика (www. /downloads/menu. asp).
Загрузив, установив и запустив эту программу, нужно выполнить следующие действия для выполнения дефрагментации во время загрузки:
1. Выполнить обычную дефрагментацию с помощью утилиты Diskeeper, чтобы подготовить непрерывное свободное пространство на диске (рис. 4).
2. После завершения дефрагментации, результат которой показан на рис. 5, раскрыть список Properties, выбрать строку Boot-Time Defragmentation и в новом окне выбрать загрузочный диск и задать нужные параметры дефрагментации. Как показано на рис. 6, нужно установить следующие флажки: Enable boot-time defragmentation to run on the selected volumes (Разрешить запуск дефрагментации на выбранном томе), Defragment the paging file (Дефрагментировать файл подкачки), Defragment the Master File Table (MFT) (Дефрагментировать главную таблицу размещения файлов), Pause to view screen after defragmentation (Пауза для просмотра результатов дефрагментации) и Produce the summary log file (Создать итоговый файл журнала).
3. Переключатель момента времени дефрагментации в процессе загрузки установить в положение Run boot-time defragmentation the next time this computer is manually rebooted (Запустить дефрагментацию во время загрузки при следующей перезагрузке компьютера вручную).
После выполнения этих действий можно перезагрузить компьютер. В течение времени перезагрузки (несколько минут) утилита Diskeeper выдает на экран информацию о ходе выполнения дефрагментации. Итоговая информация фиксируется в файле, который был задан в поле флажка Produce the summary log file.

Рис. 4

Рис. 5

Рис. 6
Еще одна известная утилита дефрагментации O&O Defrag разработана компанией O&O Software. Утилита позволяет выполнять дефрагментацию во время загрузки, но алгоритм ее работы отличается от алгоритмов программы Diskeeper. Что лучше, нужно определить на практике, многое зависит от конкретной системы и компьютера. Условно-бесплатную копию программы O&O Defrag можно загрузить с сайта компании O&O Software (www. /en/download/).
Дефрагментация с помощью утилиты O&O Defrag включает следующую последовательность действий:
1. Запустить программу O&O Defrag и выбрать в меню Lobs and Report команду Add job (рис. 7).
2. В окне Edit Job перейти на вкладку Drives.
3. Щелкнуть мышью на диске, предназначенном для дефрагментации, а также на диске (удерживая нажатой клавишу Shift), на котором распложены загрузочные файлы (как правило, диск C:).
4. Выбрать метод дефрагментации (рекомендуется COMPLETE/Access).
5. Выбрать действие, когда будет выполняться дефрагментация из раскрывающегося внизу окна списка (рис. 8).
6. Перейти на вкладку Schedule и задать планируемое время дефрагментации (рис. 9).
7. Щелкнуть на кнопке ОК (созданное задание появляется последним в списке заданий). На этом подготовка к дефрагментации закончена. Она будет выполнена в запланированное время.

Рис. 7

Рис. 8

Рис. 9
Задание на домашнюю лабораторную работу № 3
1. С помощью штатной программы Windows проведите дефрагментацию жесткого диска компьютера.
2. Загрузите и установите утилиты Diskeeper и O&O Defrag.
3. Проведите дефрагментацию во время загрузки системных и других файлов например главной таблицы размещения файлов), поочередно обеими утилитами.
4. Сравните полученные результаты. Можно ли сделать заключение о качестве работы той или иной утилиты?
5. Подготовьте отчет о выполненной работе и сдайте его преподавателю.
3. Дисковые квоты
При совместном использовании дисковой памяти несколькими пользователями, работающими на одном компьютере, необходим контроль расходования дискового пространства. В Windows NT/2000/2003 эта проблема решается квотированием дискового пространства по каждому тому (независимо от количества физических дисков) и для каждого пользователя.
После установки квот дискового пространства пользователь сможет хранить на томе ограниченный объем данных, в то время как на этом томе может оставаться свободное пространство. Если пользователь превышает выданную ему квоту, в журнал событий вносится соответствующая запись. Затем, в зависимости от конфигурации системы, пользователь либо сможет записать информацию на том (более мягкий режим), либо ему будет отказано в записи.
Устанавливать и просматривать квоты на диске можно только в разделе NTFS 5.0 и при наличии необходимых полномочий (задаваемых с помощью локальных или доменных групповых политик) у пользователя, устанавливающего квоты.
Чтобы установить квоты нужно выполнить следующие действия:
1. Щелкнуть правой кнопкой мыши на конфигурируемом томе и выбрать в контекстном меню команду Свойства. В появившемся окне перейти на вкладку Квота (рис. 10).
2. Установить флажок Включить управление квотами. В этом случае будет установлен мягкий режим контроля используемого дискового пространства. Для задания жесткого режима контроля нужно установить флажок Не выделять место на диске при превышении квоты. На этой же вкладке устанавливается размер выделяемой квоты и порог, превышение которого вызовет запись предупреждений в журнале событий.

Рис. 10
Чтобы узнать, какие пользователи превысили выделенную им квоту (в мягком режиме), нужно нажать кнопку Записи квот (рис. 11), где будет отражен список пользователей с параметрами квот и объемом используемого ими пространства диска.

Рис. 11
В окне Записей квот можно изменить параметры квоты, задаваемой для конкретного пользователя. Для этого нужно выделить конфигурируемую строку и дважды щелкнуть на ней. Появится окно диалога Параметры квоты (рис. 12), в котором можно изменить ранее установленные параметры.

Рис. 12
4. Исследование алгоритмов дискового планирования
Время записи или чтения блока данных на диск определяется тремя факторами:
· временем поиска (временем перемещения головки на нужный цилиндр;
· задержкой вращения (временем для поворота нужного сектора под головку);
· временем передачи данных.
Для большинства дисков первая составляющая существенно превосходит две остальные, поэтому значительного увеличения производительности системы можно добиться, снижая время поиска. Многие дисковые драйверы содержат таблицу, индексированную по номерам цилиндров, в которой в единый связный список собираются все поступившие и ждущие обработки обращения к цилиндрам диска. С помощью такой структуры данных можно создать более совершенный алгоритм планирования, чем простое обслуживание в порядке поступления запросов.
Программа HDD позволяет моделировать различные алгоритмы обслуживания запросов к магнитному диску (рис. 13):
· FCFS (First Come – First Served, первым пришел – первым обслужен);
· SSTF (Shortest Service Time First – выбор наименьшего времени обслуживания, т. е. запроса, требующего наименьшего перемещения головок из текущей позиции);
· SCAN (сканирование) – перемещение головки только в одном направлении с удовлетворением запросов, которые соответствуют выбранному направлению до крайних цилиндров, если их даже нет в запросах. После достижения последней дорожки, направление изменяется на противоположное;
· LOOK – аналог SCAN, но движение до крайних цилиндров, имеющихся в запросах);
· C-SCAN (циклическое сканирование) – сканирование только в одном направлении. Когда обнаруживается последняя дорожка в заданном направлении, головка возвращается в противоположный конец диска, и сканирование начинается снова;
· C-LOOK – аналог LOOK, но циклическое сканирование.
В качестве исходных данных программа использует количество цилиндров диска, номера цилиндров запросов генерируются случайным образом. Результатом моделирования является общее число цилиндров, по которым перемещались головки.

Рис. 13
Программа DiskPlan также позволяет провести сравнительный анализ алгоритмов дискового планирования (рис. 14).

Рис. 14
Задание для самостоятельной работы
1. В оснастке Управление компьютером просмотреть папку Управление дисками. Выбрать диск C: и просмотреть его свойства, раскрыв поочередно все вкладки окна Свойства. Рассмотреть все возможности, предоставляемые вкладками окна Свойства. Проверить установлены ли квоты на использование диска. Установить квоты для части пользователей. Проверить наличие записи о нарушении квоты в журнале событий.
2. Запустить программу HDD или DiskPlan и провести исследование эффективности алгоритмов дискового планирования для значений количества цилиндров диска от 500 до 4000 (с шагом = 500). Сделать выводы о лучшем алгоритме для дисков с малым и большим количеством цилиндров.


