Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1222.doc
Скачиваний:
50
Добавлен:
17.04.2015
Размер:
944.13 Кб
Скачать
      1. Управление блочными устройствами

        1. Структура диска

Основным видом блочных устройств являются магнитные и другие диски, поэтому начнем с рассмотрения структуры диска (рис. 2‑7).

Рис. 2‑7

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

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

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

Структура сектора показана на рис. 2‑8.

Рис. 2‑8

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

Заголовок сектора содержит физический адрессектора и его размер. Физический адрес состоит из трех чисел: номер цилиндра, номер поверхности и номер сектора на дорожке. Самый первый сектор диска имеет адрес (0, 0, 1). Размер сектора наIBM-совместимых компьютерах всегда равен 512 байт.

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

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

Нумерация секторов не обязательно ведется в порядке их размещения на дорожке. Если скорость имеющейся аппаратуры недостаточна для того, чтобы успеть прочесть и передать в память данные со всей дорожки за время одного оборота диска, то система при форматировании нумерует секторы «через один» или даже «через два». Например, при 9 секторах на дорожке они могут быть пронумерованы «через один» в таком порядке: 1, 6, 2, 7, 3, 8, 4, 9, 5. После чтения сектора 1 у контроллера диска есть время передать прочитанные данные, пока к головке чтения не подойдет сектор 2. В результате вся дорожка может быть прочитана за два оборота диска.

        1. Разделы и логические тома

Общая структура дискет и жестких дисков различаются между собой. Эти структуры показаны на рис. 2‑9.

Рис. 2‑9

Начальный сектор дискеты (рис. 2‑9, а) принято называть BOOT-сектором. Он содержит количественные данные о дискете (размер секторов, количество секторов на каждой дорожке и на всей дискете, число поверхностей и т.п.), метку (название) и серийный номер дискеты, а также данные о файловой системе. Кроме того, если дискета содержит системные файлы ОС, то вBOOT-секторе находится также небольшая программа начальной загрузки, которая считывает один сектор ОС и передает ему управление для продолжения загрузки. Все остальные секторы дискеты могут использоваться ОС для хранения ее файлов и других данных. Общее количество секторов на дискете не может превышать 216(на самом деле, их значительно меньше).

Скажите быстро, сколько примерно секторов содержит стандартная трехдюймовая дискета?

Для жесткого диска (рис. 2‑9, б) начальный сектор называется MBR(MasterBootRecord, главная загрузочная запись). Он тоже может содержать программу начальной загрузки, но, кроме того, содержиттаблицу разделов(partitiontable), которая описывает разбиение жесткого диска наразделы.

Таблица может содержать от 1 до 4 записей о разделах. Каждая запись содержит тип раздела, число секторов в нем, физические адреса начала и конца раздела.

Возможны следующие типы разделов.

  • Обычныйраздел. Его структура точно такая же, как у дискеты, т.е. такой раздел начинается сBOOT-сектора, а общее число секторов не превышает 216. Таким образом, общий размер раздела не может превышать 32 Мб.

  • Большойраздел. Он отличается от обычного тем, что число секторов может достигать 232. Это позволяет описывать большие разделы размером до 2048 Гб.

  • Расширенныйраздел. Его структура аналогична структуре всего жесткого диска, т.е. начальный сектор раздела – неBOOT, аMBR-сектор. Аналогия не совсем полная, поскольку таблица разделов вMBRрасширенного раздела может содержать не более двух записей, причем первая из них должна описывать либо обычный, либо большой раздел, а вторая запись, если она имеется, описывает еще один расширенный раздел.

  • Разделы других ОС (например, UNIX).

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

Изначально MS-DOSподдерживала только обычные разделы на жестком диске. В 80-е годы казалось, что 32 Мб – это очень большой объем диска. Когда появились диски объемом в несколько сотен мегабайт, была придумана матрешечная структура расширенных разделов, что позволило на одном физическом томе разместить сколько угодно логических томов по 32 Мб. Затем были реализованы большие разделы, что потребовало от разработчиковMS-DOSвнести существенные изменения в программный интерфейс и реализацию средств работы с дисками. После этого использование расширенных разделов стало необязательным, если пользователю достаточно иметь не более четырех логических томов на одном физическом диске.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]