Читайте также:
|
|
Разберем структуру диска подробно. Будем пользоваться методом адресации CHS, т.е. будем рассматривать физический диск как набор секторов, каждый из которых адресуется при помощи трех координат: цилиндр, головка, сектор. Отметим, что для цилиндров и головок нумерация начинается с 0, а секторов начиная от 1, то есть первый сектор физического диска имеет адрес 0-0-1.
Так как расположение первого сектора не зависит от конкретной геометрии диска (контроллер находит первый сектор сразу), именно его удобно использовать для записи информации о разделах находящихся на диске.
Итак, первый сектор жёсткого диска (сектор 1, головка 0, дорожка 0) содержит так называемую главную загрузочную запись (Master Boot Record = MBR). В начале этого сектора расположена программа начальной загрузки – IPL1 (Initial Program Loading 1), необходимая для распознавания логических разделов диска. Другое название IPL1– начальный загрузчик. За загрузчиком в этом же первом секторе записана Таблица Разделов (Partition Table, PT), описывающая схему разбиения логических дисков. Во время выполнения загрузки компьютера программа начальной загрузки сканирует и анализирует таблицу разделов диска. Именно эта таблица и содержит информацию, позволяющую системе представить физический диск как несколько логических.
Таблица разделов состоит из четырех записей – структур размером 16 байт, соответствующих частям диска, называемых разделами. Если на вашем компьютере имеется только один логический диск в таблице разделов будет присутствовать только одна первая запись, более сложные случае рассмотрим дальше. В каждой записи таблицы располагается информация о соответствующем разделе:
- типе раздела (NTFS, FAT16, FAT32...),
- активности раздела (т.е. можно ли загружать с него операционную систему),
- расположении раздела т.е. адресов его начала и конца (информация о расположении присутствует в двух системах: CHS (координаты начала и конца) и LBA (начало и длина)),
- количестве секторов в разделе.
Рассмотрим формат записи таблицы разделов более подробно (см. таблицу 2)
Таблица 2 Элементы таблицы разделов
Размер (байт) | Описание | ||
Признак активного раздела (Boot Indicator): | |||
адрес начала раздела (CHS) | Номер головки для первого сектора раздела | ||
Номер начального сектора раздела | |||
Номер начального цилиндра раздела | |||
Код, идентификатор системы (Boot ID) системы | |||
адрес конца раздела (CHS) | Номер головки для последнего сектора раздела | ||
Номер последнего сектора раздела | |||
Номер последнего цилиндра раздела | |||
Относительный номер первого сектора раздела, т.е. адрес начала раздела в LBA | |||
Размер раздела в секторах | |||
Прокомментируем части структуры таблицы разделов
1. Признак активного раздела (Boot Indicator) или маркер начальной загрузки – отмечает активный раздел т.е.логический диск, который может быть использован для загрузки операционной системы. Признак активного раздела занимает один байт, который может иметь два значения:
- 00h — раздел неактивный,
- 80h — раздел активен.
Программа IPL1 просматривает таблицу разделов и находит активный раздел. Если активных разделов несколько, на консоль выводится сообщение о необходимости выбора активного раздела для продолжения загрузки.
Физический диск может содержать одновременно несколько активных разделов, которые могут принадлежать различным операционным системам.
2. В поле начало раздела хранятся номера головки, сектора и цилиндра стартового сектора цилиндра (Starting Head, Starting Sector, Starting Cylinder). Обычно разделы начинаются с первого сектора дорожки.
3. Поле код или идентификатор системы (Boot ID) указывает тип раздела, т.е. код в этом поле указывает, какой именно операционной системе и файловой системе —FAT16, FAT32 или NTFS — принадлежит данный раздел, а также позволяет узнать некоторые характеристики файловой системы. Кроме того, данное поле показывает, существует ли на диске расширенный раздел (extended partition). Возможные значения поля System ID показаны в табл. 3.
Таблица 3. Коды типов файловых систем файловых систем (System ID)
Идентификатор системы | Вид раздела | Пояснения |
01h | основной | Первичный раздел или логический диск FAT12. |
03h | Раздел CP/M (в настояшее время не используется) | |
04h | Раздел Xenix | |
основной | Раздел или логический диск FAT16. (16–32 Мбайт) | |
05h | расширенный | Расширенный раздел |
06h | основной | Раздел или логический диск BIGDOS FAT16. |
07h | основной | Раздел или логический диск NTFS. Installable File System |
0Bh | основной | Раздел FAT32 или логический диск |
0Ch | расширенный | Раздел FAT32 или логический диск с использованием расширений BIOS INT 13h (512 Мбайт – 2 Тбайт) |
0Eh | основной | Раздел BIGDOS FAT16 или логический диск с использованием расширений BIOS INT 13h |
0Fh | расширенный | Расширенный раздел, использующий расширения BIOS INT 13h |
12h | основной | EISA-раздел |
42h | основной | Том динамического диска (Windows 2000 и старше) |
Если коду системы в элементе таблицы раздела соответствует вид раздела «основной», это означает, что раздел используется операционной системой в качестве первичного раздела (Primary Partition). Первичный раздел используется операционной системой как логический диск. Первый логический диск (первичный раздел) обычно является активным и из него выполняется загрузка операционной системы.
Если в элементе таблицы разделов байт кода системы имеет значение, соответствующее виду раздела «расширенный», то раздел, указанный в этом элементе будет раздел использоваться как расширенный раздел (Еxtended partition). В начале расширенного раздела располагается сектор, содержащий таблицу логических дисков. Фактически эта таблица является расширением таблицы разделов диска, расположенной в самом первом секторе физического диска. Таблица логических дисков имеет формат, аналогичный таблице разделов диска, но имеет только два элемента. Подробно это будет рассмотрено ниже.
Если в поле кода раздела записан 0, то описатель считается пустым, то есть он не определяет на диске никакого раздела.
4. В поле конец раздела – соответствующие номера (головки, сектора и цилиндра) для конечного сектора данного раздела (Ending Head, и Ending Sector, Ending Cylinder).
5. Относительный номер первого сектора раздела (Relative Sectors) – это число, которое показывает позицию раздела, т.е. адрес начала раздела в режиме LBA. Такой способ адресации используется современных версиях Windows с файловыми системами NTFS и FAT32.
6. Поле размер раздела в секторах (Total Sectors) указывает общее число секторов в томе. Используется в режиме адресации LBA.
При использовании стандартного размера сектора (512 байт) и 32-битового представления числа секторов максимальный объем раздела ограничивается числом 2 Тбайт (или 2 199 023 255 552 байт).
Дата добавления: 2015-08-09; просмотров: 96 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Логическая структура диска | | | Первичный и расширенный раздел |