Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен Павлов.docx
Скачиваний:
71
Добавлен:
17.08.2022
Размер:
786.12 Кб
Скачать

Форматирование диска

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

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

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

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

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

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

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

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

Если драйвер диска принимает запросы по одному и выполняет их в порядке поступления по принципу «первым пришел — первым обслужен» (First-Come, First-Served (FCFS)), то для оптимизации времени позиционирования практически ничего нельзя сделать

  1. Аппаратная составляющая и программное обеспечение часов, таймеры

Часы (также таймер) — средство в системах с разделением времени, необходимые для отслеживания хода времени ядром и обеспечения работы механизма управления прерывания.

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

Программируемые часы имеют несколько режимов работы. В режиме одиночного импульса (one-shot mode) при старте таймер копирует значение регистра хранения в счетчик и уменьшает значение при каждом импульсе с кварцевого генератора. Когда значение счетчика опустится до нуля, генерируется прерывание и работа часов останавливается до тех пор, пока не будут опять запущены системой. В режиме прямоугольного импульса (squard-wave mode) после достижения счетчиком нуля и генерации прерывания, регистр хранения автоматически копируется в счетчик и весь процесс бесконечно повторяется. Эти периоды прерывания называются “тактом”.

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

  • Ведение показания времени суток

  • Предотвращение работы процессора дольше позволенного

Когда значение счетчика кванта времени (запускается при запуске процесса) достигает нуля, драйвер вызывает планировщик для возобновления работы другого процесса.

  • Ведение учета использования ЦП

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

  • Обработка системного вызова alarm, выданного процессами пользователей

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

  • Предоставление сторожевых программируемых таймеров для компонентов ОС

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

  • Ведение аналитического, мониторингового и статистического сбора информации

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