Диски, разделы, секторы, кластеры

Основным типом устройства, которое используется в современных вычислитель­ных системах для хранения файлов, являются дисковые накопители. Эти уст­ройства предназначены для считывания и записи данных на жесткие и гибкие магнитные диски. Жесткий диск состоит из одной или нескольких стеклянных или металлических пластин, каждая из которых покрыта с одной или двух сто­рон магнитным материалом. Таким образом, диск в общем случае состоит из па­кета пластин (рис. 23).

Рис. 23. Схема устройства жесткого диска

На каждой стороне каждой пластины размечены тонкие концентрические коль­ца – дорожки (traks), на которых хранятся данные. Количество дорожек зависит от типа диска. Нумерация дорожек начинается с 0 от внешнего края к центру диска. Когда диск вращается, элемент, называемый головкой, считывает двоич­ные данные с магнитной дорожки или записывает их на магнитную дорожку.

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

Совокупность дорожек одного радиуса на всех поверхностях всех пластин паке­та называется цилиндром (cylinder). Каждая дорожка разбивается на фрагменты, называемые секторами (sectors), или блоками (blocks), так что все дорожки име­ют равное число секторов, в которые можно максимально записать одно и то же число байт. Сектор имеет фиксированный для конкретной системы размер, вы­ражающийся степенью двойки. Чаще всего размер сектора составляет 512 байт. Учитывая, что дорожки разного радиуса имеют одинаковое число секторов, плот­ность записи становится тем выше, чем ближе дорожка к центру.

Сектор – наименьшая адресуемая единица обмена данными дискового устройст­ва с оперативной памятью. Для того чтобы контроллер мог найти на диске нуж­ный сектор, необходимо задать ему все составляющие адреса сектора: номер ци­линдра, номер поверхности и номер сектора. Так как прикладной программе в общем случае нужен не сектор, а некоторое количество байт, не обязательно кратное размеру сектора, то типичный запрос включает чтение нескольких сек­торов, содержащих требуемую информацию, и одного или двух секторов, содер­жащих наряду с требуемыми избыточные данные (рис. 24).

Операционная система при работе с диском использует, как правило, собствен­ную единицу дискового пространства, называемую кластером (cluster). При соз­дании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске 3 кластера.

Рис. 24. Считывание избыточных данных при обмене с диском

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

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

Прежде чем форматировать диск под определенную файловую систему, он мо­жет быть разбит на разделы. Раздел– это непрерывная часть физического диска, которую операционная система представляет пользователю как логическое уст­ройство (используются также названия логический диск и логический раздел). Логическое устройство функционирует так, как если бы это был отдельный фи­зический диск. Именно с логическими устройствами работает пользователь, об­ращаясь к ним по символьным именам, используя, например, обозначения А, В, С, SYS и т. п. Операционные системы разного типа используют единое для всех них представление о разделах, но создают на его основе логические устройства, специфические для каждого типа ОС. Так же как файловая система, с которой работает одна ОС, в общем случае не может интерпретироваться ОС другого типа, логические устройства не могут быть использованы операционными систе­мами разного типа. На каждом логическом устройстве может создаваться только одна файловая система.

В частном случае, когда все дисковое пространство охватывается одним разде­лом, логическое устройство представляет физическое устройство в целом. Если диск разбит на несколько разделов, то для каждого из этих разделов может быть создано отдельное логическое устройство. Логическое устройство может быть соз­дано и на базе нескольких разделов, причем эти разделы не обязательно должны принадлежать одному физическому устройству. Объединение нескольких разде­лов в единое логическое устройство может выполняться разными способами и преследовать разные цели, основные из которых: увеличение общего объема ло­гического раздела, повышение производительности и отказоустойчивости.

На разных логических устройствах одного и того же физического диска могут располагаться файловые системы разного типа. На рис. 25 показан пример дис­ка, разбитого на три раздела, в которых установлены две файловых системы NTFS (разделы С и Е) и одна файловая система FAT (раздел D).

Рис. 25. Разбиение диска на разделы

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

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

Наши рекомендации