Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Первичный и расширенный раздел

Поиск

Как уже было отмечено, в первом секторе физического диска размещается главная загрузочная запись, содержащая таблицу разделов из четырех записей (элементов). Каждый элемент дает полную информацию о разделе диска. Если код системы в элементе таблицы раздела соответствует основному виду раздела, этот означает, что раздел используется операционной системой в качестве первичного раздела (Primary Partition) или, что тоже самое, как логический диск. Конкретное значение кода системы дает информацию о виде операционной системы и поддерживаемой файловой системы (FAT12, FAT16, FAT32 или NTFS).

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

Четыре элемента таблицы разделов в MBR описывают до четырех логических дисков. На большее в таблице просто нет места. Чтобы не ограничиваться четырьмя основными разделами логическая структура диска предусматривает использование расширенных разделов (Extended Partition). Расширенный раздел организован также как физический диск, т.е. первый сектор расширенного раздела занимает структура похожая на главную загрузочную запись, эта структура называется вторичной главной загр у зочной записью (Secondary Master Boot Record, SMBR). Вторичная главная загрузочная запись отличается от MBR, тем, что она не содержит программы IPL1, вместо «четырехместной» таблицы разделов SMBR содержит собственную таблицу разделов, называемую Таблицей Логического Диска (Logical Drive Table), которая содержит только два элемента. Также как и MBR вторичная главная загрузочная запись заканчивается сигнатурой (55h AAh).

Каждый из двух элементов таблицы логического диска указывает либо на логический диск, либо на новый расширенный раздел, который в свою очередь начинается с еще одной SMBR. Это значит, что таблицы логических дисков связаны в список, на начало которого указывает элемент таблицы разделов диска из MBR с кодом системы соответствующему расширенному разделу. Длина такой цепочки практически неограниченна. Так как в Windows используется механизм наименования логических дисков по буквам (начиная с «С:»), длина цепочки не должна превышать 24.

Пример логической организации диска

Поясним логическую структуру диска на конкретном примере. Хотя любые современные диски используют метод адресации LBA, мы будем разбирать организацию основанную на методе CSH, так этот метод дает намного более наглядную картину. В качестве примера для разбиения будем рассматривать физический диск со следующими параметрами: цилиндров– 38309, поверхностей (головок) – 16, секторов на дорожке - 255. Несложно подсчитать объем такого диска:

 

V = CYL*HDS*SPT*512 =

38309 * 16 * 255 * 512 = 80 025 968 640 байт.

 

Будем организовывать на нашем физическом диске три логических (C:, D:, E:) в пропорции по размеру примерно 10% – 10% – 10%. Пример разбиения этого диска представлен на рисунке …. Соответствующие этому разбиению таблицы разделов и логических дисков отображены в таблице …. Заметим, что таблицы показаны в упрощенном виде для большей наглядности (напоминаем, что полный формат элемента MBR или SMBR представлен в таблице 4).

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

В самом начале физического диска располагается главная загрузочная запись MBR, находящаяся в первом секторе диска — цилиндр 0, головка 0, сектор 1. Внутри MBR располагается таблица разделов. Из четырех элементов находящихся в таблице разделов мы будем использовать только – первичный (Primary) и расширенный (Extened).

Рисунок 4. Логическая организация жесткого диска

Первая запись таблицы разделов описывает первичный раздел. Этот первичный раздел содержит один логический диск – C:. Так как раздел должен начинаться с первого сектора на дорожке, наш логический диск начинается с 1-го сектора, 0-го цилиндра, первой (а не нулевой) поверхности. С первой поверхности этот диск начинается так как первый сектор на нулевой поверхности уже занят – там находится сам MBR. Если это представить наглядно, то MBR будет располагаться на верхней поверхности диска, а первый сектор логического диска буде располагаться на нижней поверхности прямо под ним. Сектора располагающиеся после MBR на нулевой дорожке (с номерами от 2 до 255) остаются не использованными. На рисунке 4 заштрихованная область соответствует всем неиспользуемым секторам.

 

Таблица 4 Заполнение таблиц разделов жесткого диска (пример)

Тип раздела Признак активного раздела Инф-я о разделе Размер раздела
Начало Конец
H C S H C S
Первичный (Primary) 80h             Около 40%
Расширенный (Extended) 00h            

SMBR 1

Первичный (Primary) 00h             Около 48%
Расширенный (Extended) 00h            

SMBR 2

Первичный (Primary) 00h             Около 12%

 

Заканчиваться разделы должны на границе цилиндра, поэтому последний сектор логического диска C: будет иметь адрес: цилиндр 15301 (что соответствует примерно 40% всех цилиндров), головка 15 (последняя поверхность диска), сектор 255 (последний сектор на дорожке).

Признак активного раздела в первой записи таблицы разделов отмечен как активный (код 80h), это означает, что операционная система будет загружаться с логического диска C:.

Вторая запись таблицы разделов из MBR описывает расширенный раздел для этого в поле «идентификатор системы» должен находиться код, которому соответствует расширенный вид раздела. Этот раздел начинается сразу же за последним сектором логического диска C:, т.е. адрес первого сектора расширенного раздела будет следующим: цилиндр - 15301, головка - 0, сектор - 1. Расширенный раздел будет занимать все свободные (оставшиеся после выделения логического диска C:) сектора. Это значит, что расширенный раздел заканчивается в самом последнем секторе физического диска: цилиндр - 38309, головка - 15, сектор - 255. Так как из расширенного раздела никакой загрузки быть не может, в поле признака активного раздела во втором элементе таблицы разделов будет записан ноль.

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

Первый элемент этой таблицы задает первичный (Primary) раздел, отведенный под очередной логический диск (D:). Логический диск опять начинается с первого сектора 1-й поверхности, таким образом, между SMBR и разделом опять остаются неиспользуемые сектора, также как между MBR и логическим диском C:. Таким образом, первый сектор второго логического диска будет располагаться по адресу: цилиндр - 15301, головка - 1, сектор - 1. Отведем на второй логический диск 18400 цилиндров (48% от общего объема физического диска). Последний сектор логического диска D: будет иметь адрес: цилиндр - 33700, головка - 15, сектор - 255.

Если логический диск занимает не весь объем расширенного раздела (как в нашем случае), то второй элемент таблицы разделов (находящийся в SMBR) указывает на положение следующего (в нашем случае второго) расширенного раздела. Первым сектором этого раздела будет сектор, следующий за логическим диском D:, его адрес: цилиндр - 33701, головка - 0, сектор - 1. Заканчивается второй расширенный раздел опять в самом последнем секторе физического диска: цилиндр - 38309, головка - 15, сектор - 255. Т.е. расширенные разделы являются вложенными друг в друга; все они располагаются в области, описанной в главной таблице разделов как расширенный раздел. В главной таблице описан лишь один расширенный раздел.

Для второго расширенного раздела применима та же логика, что и для первого. В первом секторе этого раздела находится еще одна вторичная главная загрузочная запись (SMBR2). В SMBR2 опять находится таблица разделов расширенного раздела. Поскольку в этом расширенном разделе должен присутствовать только один логический диск (Е:), в таблице разделов должен находиться только один элемент, описывающий этот диск. В поле «Идентификатор системы» этого элемента будет код для описания первичного раздела. Начальный сектор логического диска Е: будет располагаться в первом подходящем для этого секторе после SMBR2, т.е. адрес начального сектора этого диска определиться так: цилиндр - 33701, головка - 1, сектор - 1. (Между SMBR2 и началом диска опять остается свободное место на нулевой поверхности.)

Так как логический диск Е: занимает все свободное место во втором расширенном разделе, адрес конечного сектора логического диска совпадет с адресом последнего сектора второго расширенного раздела, который в свою очередь совпадает с адресом последнего сектора физического диска (цилиндр - 38309, головка - 15, сектор - 255).

Файловые системы

Файловая система (File System) - это способ организации хранения информации на каком-либо носителе (обычно магнитном, оптическом или флэш-диске) в виде набора файлов.

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

Каждый файл обязательно имеет имя, с помощью которого файлы отличаются друг от друга. Длина имени и символы, которые могут в него входить, равно как и максимальная длина файла зависят от того, какая файловая система применяется для хранения файлов (см. ниже). Файл имеет также набор атрибутов, дополнительно характеризующих его и оговаривающих возможные способы его использования. Информация обо всех файлах, хранящихся на данном носителе, собрана в специальные структуры данных, организация которых зависит от типа файловой системы. В большинстве современных файловых систем набор сведений о файлах называется каталогом (directory, иногда catalogue). В большинстве современных операционных систем каталоги могут образовывать древовидную иерархию.

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

В мире существовали и существуют сотни файловых систем, однако лишь сравнительно небольшое их количество широко используется в настоящее время. В настоящее время в персональных компьютерах под управлением системы Windows используются две системы: файловая система FAT и ее разновидности, а также файловая система NTFS, нацеленная на эффективную работу с большими дисками и на обеспечение целостности данных (защиту целостности данных при сбоях в системе). Для хранения информации на оптических носителях (лазерных дисках) применяются другие файловые системы: ISO 9660, ISO 9690, HFS, UDF и др. Системы жёстких дисков не годятся для оптических из-за серьёзных различий в принципах низкоуровневой организации хранения информации на этих носителях.

Так как файловая система FAT имеет сравнительно простую структуру, которая позволяет произвести ее детальный анализ, именно эту систему мы и будем изучать подробно. Это даст представление об общих принципах организации всех файловых систем. Файловая система NTFS имеет намного более сложное устройство и будет изучаться более поверхностно.

Файловая система FAT

Файловая система FAT (File Allocation Table) названа в соответствии с названием метода организации данных — таблицы распределения данных и создавалась в конце 1970 - начале 1980 годов. Изначально она была создана для гибких дисков размером меньше чем 500K, но со временем развивалась для поддержки дисков всё больших и больших размеров. Сейчас существуют три типа FAT: FAT12, FAT16 и FAT32.

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

Файловая система FAT состоит из четырёх основных областей на диске, порядок их расположения показан на рисунке 5.

 
3 – Область файлов и каталогов (File and Directory Data Region)
2 – Корневой каталог (Root Directory Region)
1 – Область FAT (FAT Region) 2 копии
0 – Загрузочная запись (Boot Record)
Программа начальной загрузки IPL2
 
Блок параметров BIOS (BIOS Parameter Block)
 
Переход по адресу IPL2

Рисунок 5 Структура файловой системы FAT

Все эти области создаются при логическом (высокоуровневом) форматировании диска.

Загрузочная запись

В первом секторе активного раздела (в логическом секторе 0) расположена первая важная структура - загрузочная запись (Boot RecordBR). Также для обозначения первого сектора используются термины «boot сектор» или «reserved sector». Рассмотрим содержимое этого сектора детально.

Первые три байта загрузочной записи содержат инструкция перехода (JMP) на программу начальной загрузки IPL2 (Initial Program Loading 2) – исполняемый код, запускающий операционную систему. Очевидно, что инструкция перехода содержит адрес программы IPL2.

Далее в загрузочной записи находятся структура данных, называемая блок параметров BIOS (BIOS Parameter Block, BPB) или таблица параметров BIOS. Это важнейшая структура данных, содержащая параметры, характеризующие формат диска. Называется эта структура так потому, что содержит информацию, которую BIOS использует при работе с логическим диском, в том числе указывает BIOS где надо искать основные структуры файловой системы.. В таблице 5 представлены некоторые поля блока параметров BIOS.

Таблица 5 Поля блока параметров BIOS

Поле Описание
Тип носителя (media descriptor) Указывает с каким типом носителя мы имеем дело: жесткий диск, флоппи-диск, Flash-диск.
Число байт в секторе Размер сектора. Допустимы следующие значения: 512, 1024, 2048 и 4096. Для большинства дисков значение этого поля равно 512
Число секторов в дорожке. Используется для низкоуровневого форматирования дисков
Число головок. Используется для низкоуровневого форматирования дисков
Общее количество секторов на логическом диске  
Число секторов в кластере Значение этого поля по умолчанию зависит от размера тома. Допустимы следующие значения: 1, 2, 4, 8, 16, 32, 64 и 128. (понятие кластера будет разобрано ниже)
Число копий таблиц FAT Значение этого поля всегда равно 2 (понятие таблицы будет разобрано ниже)
Тип файловой системы  
Версия файловой системы  

Последний элемент загрузочной записи – программа начальной загрузки IPL2 (Initial Program Loading 2), которая и осуществляет начальную загрузку операционной системы (если диск является загрузочным – содержит базовые файлы операционной системы). Если диск не является загрузочным, исполняемый код в загрузочном секторе выдает следующее сообщение:

Non-System disk or disk error Replace and press any key when ready

Что означает «Не системный диск или ошибка диска. Замените его и нажмите любую клавишу, когда будете готовы».

Заканчивается загрузочная запись определенной кодовой комбинацией – сигнатурой (AA55h).

Замечание: не следует путать загрузочную запись (Boot Record - BR) с главной загрузочной записью (Master Boot Record - MBR). MBR имеется на физическом диске в одном экземпляре и обеспечивает разбиение жесткого диска на разделы, а BR находится в начале каждого раздела и выполняет загрузку операционной системы и работу файловой системы в каждом из разделов. Процедура загрузки компьютера будет разобрана дальше.

Таблицы размещения файлов

Таблицы размещения файлов - FAT (File Allocation Table) - это таблица которая хранит информацию о месте нахождения частей файлов и каталогов.. От этой таблицы и получилось название всей файловой системы, в которой FAT является лишь одним из элементов. Учитывая крайнюю важность данной структуры, таблица FAT хранится в двух экземплярах, что повышает надежность системы. Конкретный способ организации этой таблицы будет рассмотрен ниже.

Корневой каталог

Директория (или каталог) это список 32-байтных элементов, каждый из которых описывает какой-либо файл или каталог. Есть лишь одна специальная директория, которая всегда должна присутствовать на диске, это корневая директория (Root Directory), которая располагается сразу после последней копии FAT. Файловая система имеет древовидную структуру – в корневом каталоге располагаются 32-байтовые элементы, которые содержат информацию о других (вложенных) каталогах, те в свою очередь содержат вложенные каталоги следующего уровня и так далее.

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



Поделиться:


Последнее изменение этой страницы: 2016-04-08; просмотров: 2553; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.28.79 (0.008 с.)