Материал: Лекции_ОС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сектор диска

На диске могут быть запасные сектора, которые могут быть использованы для замены секторов с дефектами (а они почти всегда есть).  За счет этого обеспечивается одинаковая емкость на выходе.

При низкоуровневом форматировании часть полезного объема уменьшается, примерно до 80%.

 

Перекос цилиндров

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

Перекос цилиндров

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

Перекос головок - приходится применять, т.к. на переключение с головки на головку тратится время..

 

Чередование секторов

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

Чтобы этого не случилось, применяют чередование секторов.

Чередование секторов

 

Если копирование очень медленное, может применяться двукратное чередование, или больше.

 

10.2.2 Разделы диска

После низкоуровневого форматирования диск разбивается на разделы, эти разделы воспринимаются ОС как отдельные диски.

Для чего можно использовать разделы:

Отделить системные файлы от пользовательских (например, своп-файлы)

Более эффективно использовать пространство (например, для администрирования).

На разные разделы можно установить разные ОС.

Основные разделы диска:

  • Первичный (Primary partition) - некоторые ОС могут загружаться только с первичного раздела.

  • Расширенный (Extended partition) - непосредственно данные не содержит, служит для создания логических дисков (создается, что бы обойти ограничение в 4-ре раздела).

  • Логический (Logical partition) - может быть любое количество.

Информация о разделах записывается в 0-м секторе 0-го цилиндра, головка 0. И называется таблицей разделов.

Таблица разделов (Partition Table) - содержит информацию о разделах, номер начальных секторов и размеры разделов. На  Pentium-компьютерах в таблице есть место только для четырех записей, т.е. может быть только 4 раздела (к логическим это не относится, их может быть не ограниченное количество).

Этот сектор называется главной загрузочной записью.

Главная загрузочная запись MBR (Master Boot Record) - содержит загрузочную программу и таблицу разделов.

Активный раздел - раздел, с которого загружается ОС, может быть и логическим. В одном сеансе загрузки может быть только один активный раздел.

Пример структуры разделов

 

В Windows разделы будут называться устройствами C:, D:, E: и т.д.

 

 

10.2.3 Высокоуровневое форматирование

 

Высокоуровневое форматирование (создание файловой системы) - проводится для каждого раздела в отдельности, и выполняет следующее:

  • Создает загрузочный сектор (Boot Sector)

  • Создает список свободных блоков (для UNIX) или таблицу (ы) размещения файлов (FAT - File Allocation Table) (для FAT или NTFS)

  • Создает корневой каталог

  • Создает, пустую файловую систему

  • Указывает, какая файловая система

  • Помечает дефектные кластеры

Кластеры и блоки - единица хранения информации в файловых системах, файлы записываются на диск, разбитыми на блоки ли кластеры.

При загрузке системы, происходит следующее:

  1. Запускается BIOS

  2. BIOS считывает главную загрузочную запись, и передает ей управление

  3. Загрузочная программа определяет, какой раздел активный

  4. Из этого раздела считывается и запускается загрузочный сектор

  5. Программа загрузочного сектора находит в корневом каталоге определенный файл (загрузочный файл)

  6. Этот файл загружается в память и запускается (ОС начинает загрузку)

 

 

10.3 Алгоритмы планирования перемещения головок

Факторы, влияющие на время считывания или записи на диск:

  • Время поиска (время перемещения головки на нужный цилиндр)

  • Время переключения головок

  • Задержка вращения (время, требуемое для поворота нужного сектора под головку)

  • Время передачи данных

Для большинства дисков самое большое, это время поиска. Поэтому, оптимизируя время поиска можно существенно повысить быстродействие.

Алгоритмы могут быть реализованы в контроллере, в драйверах, в самой ОС.

 

10.3.1 Алгоритм "первый пришел - первым обслужен" fcfs (First Come, First Served)

Рассмотрим пример. Пусть у нас на диске из 28 цилиндров (от 0 до 27) есть следующая очередь запросов:

 27, 2, 26, 3, 19, 0

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

 

Алгоритм FCFS  

Как видно алгоритм не очень эффективный, но простой в реализации.

 

10.3.2 Алгоритм короткое время поиска первым (или ближайший цилиндр первым) ssf (Shortest Seek First)

Для предыдущего примера алгоритм даст следующую последовательность положений головок:

 

Алгоритм SSF

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

 

10.3.3 Алгоритмы сканирования (scan, c-scan, look, c-look)

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

LOOK - если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное

C-SCAN - циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов перемещается на 0-й цилиндр, откуда вновь начинает свое движение.

C-LOOK - по аналогии с предыдущим.

 

10.4 Обработка ошибок

Т.к. создать диск без дефектов сложно, а вовремя использования появляются новые дефекты.

Поэтому системе приходится контролировать и исправлять ошибки.

Ошибки могут быть обнаружены на трех уровнях:

  • На уровне дефектного сектора ECC (используются запасные, делает сам производитель)

  • Дефектные блоки или кластеры могут обрабатываться контроллером или самой ОС.

Блоки и кластеры не должны содержать дефектные сектора, поэтому система должна уметь помечать дефектные сектора.

Способы замены дефектных кластеров

 

 

10.5 Стабильное запоминающее устройство

RAID могут защитить от выхода из строя сектора и даже целые диски, но они не могут защитить от сбоев во время записи (могут быть записаны не верные данные, или не туда).

Стабильное запоминающее устройство - система или корректно записывает данные, или не записывает ничего.

В рассматриваемой модели учитывается следующее:

  • Запись блока может быть проверена при последующем чтении и изучении ECC.

  • Правильно записанный сектор может стать дефектным и не читаться (но это происходит редко).

  • Допускается выход из строя центрального процесса.

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

Для достижения этой цели определены три операции:

  1. Стабильная операция записи состоит из следующих шагов: - запись блока на диск 1 - считывание этой записи для проверки, если обнаружена ошибка, то повторяется запись (и так несколько раз), если запись не удалась, то используется резервный блок. - все тоже повторяется для второго диска

  2. Стабильная операция чтения состоит из следующих шагов: - считывается блок с диска 1 - проверяется на ошибки, если обнаружены считывание повторяется, и так несколько раз. - если все попытки с 1-м диском не удачны, все повторяется для второго

  3. Восстановление от сбоев (например, по питанию) состоит из следующих шагов: - после сбоя программа восстановления сканирует оба диска и сравнивает соответствующие блоки - если у одного обнаружена ошибка, то на место дефектного записывается нормальный блок - если ошибок нет, но блоки не совпадают, то блок с диска 1 пишется поверх диска 2 (на диске 1 всегда более свежий блок)

 

Источник: https://files.student-it.ru/previewfile/284616

Смотрите также:

2014 biblioonline ru