Смекни!
smekni.com

Организационно-методические указания по проведению занятия (стр. 2 из 7)

Формат загрузочной записи для DOS версий до 4.0

Смещение

Размер

Содержимое

(+0)

(+3)

(+11)

(+24)

(+26)

(+28)

3

8

13

2

2

2

Команда JMP xxxx - переход типа NEAR на программу начальной загрузки Название фирмы-производителя операционной системы и версия, например: «IBM 4.0» ВРВ - блок параметров BIOS Количество секторов на дорожке Количество головок (поверхностей диска) Количество скрытых секторов, эти сектора могут использоваться для схемы разбиения физического диска на разделы

В самом начале BOOT-сектора располагается команда внутрисегментного перехода JMP. Она нужна для обхода форматированной зоны сектора и передачи управления загрузочной программе, располагающейся со смещением (+30).

Название фирмы-производителя не используется операционной системой.

Со смещением (+11) располагается ВРВ - блок параметров BIOS. Этот блок содержит некоторые характеристики логического диска и используется дисковыми драйверами. Поля ВООТ-сектора со смещениями 24 и 26 содержат соответственно количество секторов на дорожке и количество головок в дисководе. Поле со смещением 28 содержит количество «скрытых» секторов, которые не принадлежат ни одному логическому диску. Эти сектора могут содержать основную или вторичные таблицы разделов диска.

Для MS-DOS версии 4.0 и выше ВООТ-сектор имеет следующий формат (см. табл.6.7).

Первые два поля в ВООТ-секторе для DOS 4.0 и выше аналогичны описанным ранее.

Поле со смещением (+38) всегда содержит символ ‘)’. Этот символ означает, что используется формат расширенной загрузочной записи операционной системы MS-DOS.

Серийный номер диска формируется во время форматирования диска на основе даты и времени форматирования. Это поле может быть использовано для определения факта замены диска в дисководе.

Таблица 6.7.

Формат загрузочной записи для DOS версий 4.0 и выше

Смещение

Размер

Содержимое

(+0)

3

Команда JMP xxxx - переход типа NEAR на программу начальной загрузки

(+3)

8

Название фирмы-производителя операционной системы и версия, например: «IBM 4.0»

(+11)

25

Extended BPB - расширенный блок параметров BIOS

(+36)

1

Физический номер дисковода (0 - флоппи, 80h - жесткий диск)

(+37)

1

Зарезервировано

(+38)

1

Символ ‘)’ - признак расширенной загрузочной записи DOS 4.0

(+39)

4

Серийный номер диска (Volume Serial Number), создается во время форматирования диска

(+43)

11

Метка диска (Volume Label)

(+54)

8

Зарезервировано, обычно содержит запись типа ‘FAT12', которая идентифицирует формат таблицы размещения файлов FAT

Метка диска формируется при форматировании и может быть изменена командой операционной системы LABEL. Одновременно метка диска помещается в корневой каталог.

Поле со смещением 11 содержит расширенный блок параметров BIOS. Он состоит из обычного ВРВ и дополнительного расширения (см. табл.6.8).

Как обычный, так и расширенный блок параметров BIOS содержит байт-описатель среды media. Этот байт может служить для идентификации носителя данных и может содержать следующие величины, характеризующие носитель данных по количеству сторон диска и количеству секторов на дорожке:

FFh - 2 стороны, 8 секторов на дорожке; FEh - 1 стороны, 8 секторов на дорожке;

FDh - 2 стороны, 9 секторов на дорожке; FCh - 1 стороны, 9 секторов на дорожке;

F9h - 2 стороны, 15 секторов на дорожке; F8h - жесткий диск.

DOS предоставляет программе возможность работы с так называемыми логическим номерами секторов. Это номера секторов внутри логического диска. Для адресации сектора при помощи функций BIOS необходимо указывать номер дорожки, номер головки и номер сектора на дорожке. DOS организует «сквозную» нумерацию секторов, при которой каждому сектору логического диска присваивается свой уникальный номер. Порядок нумерации выбран таким, что при последовательном увеличении номера сектора вначале увеличивается номер головки, затем номер дорожки.

Таблица 6.8.

Формат расширенного блока параметров BIOS

Смещение

Размер

Обозначение

Содержимое

(0)

2

sect_siz

Количество байтов в одном секторе диска

(+2)

1

Clustsiz

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

(+3)

2

res_sect

Количество зарезервированных секторов

(+5)

1

fat_cnt

Количество таблиц FAT

(+6)

2

room_siz

Максимальное количество дескрипторов файлов, содержащихся в корневом каталоге диска

(+8)

2

tot_sect

Общее количество секторов на носителе данных (в разделе DOS)

(+10)

1

Media

Байт-описатель среды носителя данных

(+11)

2

fat_size

Количество секторов, занимаемых одной копией FAT

--------------------Расширение стандартного ВРВ--------------------

(+13)

2

Sector

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

(+15)

2

Heads

Количество магнитных головок

(+17)

2

hidden_l

Количество скрытых секторов для раздела, который по размеру меньше 32 Мбайт

(+19)

2

hidden_h

Количество скрытых секторов для раздела, превышающего по размеру 32 Мбайт (только для DOS 4.0)

(+21)

4

tot_secs

Общее количество секторов на логическом диске для раздела, превышающего по размеру 32 Мбайт
1.6.2.1.3. Таблица размещения файлов

Сразу после загрузочного сектора на логическом диске находятся сектора, содержащие таблицу размещения файлов FAT (File Allocation Table). В отечественной литературе иногда можно встретить аббревиатуру ТРФ, однако мы будем пользоваться общепринятым сокращением - FAT.

Для того, чтобы назначение этой таблицы стало более понятным, вспомним ,как организовано хранение информации на различных носителях данных.

Магнитные ленты. Этот вид носителей информации использовался еще в самых первых ЭВМ. В современных компьютерах магнитные ленты используются для разгрузки магнитных дисков. При использовании магнитных лент информация записывается в виде файлов с последовательным доступом.

Доступ к информации, записанной на магнитном диске, может выполняться либо последовательным, либо прямым методом доступа. Использование прямого метода доступа позволяет позиционировать головки сразу на тот файл, который Вам нужен (или на нужную запись файла). Например, Вы можете задать номер сектора на определенной дорожке и номер головки.

В операционных системах DOS, UNIX, OS/2 при создании файла для него не задается начальное распределение памяти в дорожках или секторах. По мере того как файл увеличивается в размерах, операционная система распределяет этому файлу сектора из числа свободных, не используемых другими файлами. При этом файл располагается не обязательно в смежных областях диска, он может быть разбросан по разным дорожкам и секторам. В этом случае операционная система должна вести учет используемых участков диска. Для каждого файла она должна хранить где-то информацию о том, какому файлу какие участки диска распределены.

В операционной система MS-DOS для хранения этой информации используется таблица размещения файлов.

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

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

Утилиты операционной системы и некоторые специальные утилиты проверяют диск на предмет наличия дефектных областей. Кластеры, которые находятся в этих дефектных областях, отмечаются в FAT как плохие и не используются операционной системой.