Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Система Разделов дисковой подсистемы.

Система Разделов дисковой подсистемы.

      Система разделов - одна из наиболее важных элементов в дисковой подсистеме. Ее стандарт не зависит от Файловых и Операционных систем.

Структура разделов выглядит очень похоже на структуру каталога DOS.
Корневому каталогу (ROOT) в структуре разделов соответствует первый (корневой) сектор диска. Это сектор загрузочной области (BA - boot area ). Когда компьютер загружается, BIOS загружает этот сектор в адрес 7C00:0000, и передает туда управление. В начале этого сектора записан код начальной загрузки. Этот код просматривает таблицу первичных разделов (PT - Partition Table ), определяет раздел, который является активным (самозагружаемым), затем загружает его первый сектор (загрузочный сектор) в тот же самый адрес (7C00:0000), и вновь передает туда управление. После этого дальнейшее управление загрузкой берет на себя операционная система (ОС).

Жесткий диск может содержать до четырех первичных разделов.

Таблица разделов, расположена так же в самом первом секторе (MBR) жесткого диска. Она описывает тип, активность (самозагружаемость) разделов и начальный / конечный номер цилиндра раздела.

В активных (самозагружаемых) разделах, первый сектор - всегда так называемый “загрузочный сектор”, который содержит небольшой ОС загрузчик. Теоретически в эти разделы Вы можете установить любую операционную систему.

Рассмотрим подробнее. Ниже приведена детальная таблица корневого сектора диска (цилиндр 0, головка 0, сектор 1). Очень часто эту область загрузки BA (boot area), обозначают как блок начальной загрузки (Master Boot Record):


Смещение

Описание

 

0000h-01BDh

Код начальной загрузки

MBR

01BEh-01CDh

Описатель 1-го основного раздела

Partition

Table

01CEh-01DDh

Описатель 2-го основного раздела

01DEh-01EDh

Описатель 3-го основного раздела

01EEh-01FDh

Описатель 4-го основного раздела

01FEh-01FFh

Сигнатура системного байта (0xAA55)

 


Код начальной загрузки (Boot Code) - исполняемый код, который был описан выше.

Описатели разделов имеют следующую форму:


Смещение

Описание

 

0000h

Маркер начальной загрузки

 

0001h

Головка

Начало размещения

0002h

Сектор и Цилиндр (биты 8-9)

0003h

Цилиндр (биты 0-7)

0004h

Системное Описание

 

0005h

Головка

Конец размещения

0006h

Сектор и Цилиндр (биты 8-9)

0007h

Цилиндр (биты 0-7)

0008h-000Bh

Смещение секторов

 

000Ch-000Fh

Количество секторов в разделе

 


Маркер начальной загрузки – байт, значение которого может быть или 0 или номер диска (80h). Если 80h, тогда раздел является активным разделом диска (разделом начальной загрузки), с которого будет осуществляться загрузка операционной системы.

Следующие 3 байта содержат информацию о начале размещения раздела (номера головки, цилиндра и сектора). Номера сектора и цилиндра хранятся в двух байтах. Биты 0-7 номера цилиндра сохранены во втором байте, в то время как биты 8-9 сохранены в старших разрядах первого байта. Значение сектора сохранено в битах 0-5 первого байта. Бинарную карту байтов можно представить в виде таблицы:


2-й байт

1-й байт

F

E

D

C

B

A

9

8

7

6

5

4

3

2

1

0

C

C

C

C

C

C

C

C

C

C

S

S

S

S

S

S

7

6

5

4

3

2

1

0

9

8

5

4

3

2

1

0


Далее расположен системный байт, который является идентифицирующим байтом раздела. Значение 0, для разделов не используется, в то время как другие значения зависят от файловой системы. DOS использует значения 1,4 и 6 соответственно для FAT12, FAT16 и раздела BigDOS. Значение 5 обозначает Расширенный раздел, которое объясняется позже.

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

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

В последнем элементе описателя, находиться информация о длине раздела (в секторах).

Когда диск работает в режиме LBA (логической адресации блоков), значения CHS (цилиндр – головка – сектор) для начала и конца размещения игнорируются. Отображение диска выполняется с абсолютным номером сектора, а не в терминах CHS (cylinder-head-sector). Таким образом, относительное значение сектора и длина раздела используются для идентификации объема раздела на диске. CHS значения вообще недопустимы для дисков объемом более чем 8.4GB.

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

Теперь, относительно дополнительных разделов. Они описаны, как и любой другой раздел в корневом секторе, но их обработка Операционными системами несколько иная. Они указывают на сектор, который содержит описатели разделов для других разделов и дополнительные разделы, и так далее. Именно поэтому мы можем иметь более чем 4 раздела на диске. Рассмотрим как пример небольшую таблицу:


MBR

1st Ext

2nd Ext

3rd Ext

1 : P

1 : L

1 : L

1 : L

2 : P

2 : E -----

2 : E -----

2 : -

3 : E -----

3 : -

3 : -

3 : -

4 : P

4 : -

4 : -

4 : -


 В этом примере, показана карта структуры разделов. MBR обозначает блок начальной загрузки (корневой сектор) и 1st, 2nd и 3rd Ext - позиции 1-го, 2-го и 3-го описателей дополнительных разделов. 'P' обозначает основной (Primary) раздел, 'E' обозначает дополнительный (Extended) раздел, и 'L' обозначает (Logical) логический диск. Раздел 'E' в MBR, называется главным (корневым или основным) дополнительным разделом. Это – потому, что он включает в себя все остальные дополнительные разделы. Начало расположения основного дополнительного раздела указывает на 1-й дополнительный раздел. Объем, который занимает основной дополнительный раздел, зарезервирован для логических дисков. Все дополнительные разделы содержат информацию относительно соответствующих им логических дисков, аналогично MBR (описанному выше), но без части кода начальной загрузки. Каждый дополнительный раздел также имеет 4 описателя (но используются только первые два). Первый описатель идентифицирует соответствующий логический диск, а второй является описателем, указывающим на следующий логический диск в цепочке разделов. Т.о. структура разделов - структура списка связей, которая может быть такой длины, какой необходимо. (Каждый дополнительный сектор описания раздела имеет в конце сигнатуру 0xAA55, идентифицирующую его как системный сектор).

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

Начало должно всегда быть - Цилиндр: XXXX Головка: 0 (или 1) Сектор: 1

Окончание должно быть - Цилиндр: YYYY Головка: m-1 Сектор n

, где m  - число головок физического диска, и n  - число секторов на дорожку физического диска.

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




  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте