| ||||||||||||||||||
Загрузочные секторы томов DOS. Загрузочный сектор тома (VBS — Volume Boot Sector) — это первый сектор в любой области накопителя, определяемой как отдельный том или логический диск DOS. В частности, на дискете он является первым физически, поскольку в DOS не предусмотрено разбиение гибкого диска на разделы. На жестком диске VBS (их может быть несколько) располагаются в самом начале любой зоны диска, обозначенной как простой (не расширенный) раздел, или в начале каждого тома DOS.
Этот сектор похож на MBS в том отношении, что в нем также записана вспомогательная программа и специальные таблицы данных. Содержимое VBS гибкого диска загружается с помощью системной BIOS, а для жесткого диска эту операцию выполняет программа, хранящаяся в MBS. После этого управление системой передается программе, записанной в VBS; она выполняет ряд тестов, а затем пытается загрузить первый системный файл DOS — IBMBIO.COM. Уже запущенная и работающая DOS загрузочный сектор тома "не замечает" — он расположен вне области данных диска, в которой хранятся файлы.Загрузочный сектор тома формируется с помощью команды FORMAT (при форматировании высокого уровня). VBS располагается в начале области каждого логического диска DOS, как в первичном, так и в расширенном разделах. Хотя в VBS всех логических дисков содержатся как программные коды, так и таблицы данных, выполняется только программа, записанная в загрузочном секторе DOS активного раздела. Остальные просто считываются в процессе запуска, и данные, содержащиеся в их таблицах, используются для определения параметров томов. Как только что было сказано, в загрузочном секторе тома содержится и программный код, и данные. Единственная таблица, имеющаяся в этом секторе, называется блоком параметров носителя (media parameter block) или блоком параметров диска (disk parameter block). Исходя из записанных в ней данных, DOS определяет объем тома и местоположение таких важных структур, как, например, FAT. Формат представления этих данных весьма критичен, и если они заданы некорректно, то все попытки загрузиться с диска или обратиться к нему могут оказаться безуспешными. В некоторых OEM-версиях DOS указанные данные представляются в другом формате, нежели тот, что принят фирмой IBM, поэтому диски (как гибкие, так и жесткие), отформатированные под управлением разных версий DOS, могут оказаться несовместимыми. В последних версиях DOS содержимое VBS или загрузочная запись DOS (DBR — DOS Boot Record) содержит больше подробностей. Поэтому, если вы подозреваете, что доступ к диску невозможен из-за неправильного формата DBR, то в этом случае вы можете с помощью программы типа DEBUG или Diskedit из Norton Utilities скопировать загрузочный сектор, сформированный более новой версией DOS, на диск, отформатированный под управлением более старой версии. Это позволит новой версии DOS прочесть старый диск и не помешает работе менее подробной старой версии. При работе под управлением различных версий DOS, разработанных одной и той же фирмой, таких проблем никогда не возникает — это иногда происходит лишь при использовании различных ОЕМ-версий.
В табл. 20.12 представлен формат загрузочной записи DOS (DBR).
Таблица 20.12. Формат загрузочной записи DOS (DBR)
В графе "Смещение" указаны как шестнадцатиричные (Hex), так и десятичные значения (Dec) смещений соответствующих полей относительно начала сектора. — Слово — это два байта, прочитанные в обратном порядке; двойное слово—два слова, прочитанные в обратном порядке.
Смещение Hex Dec
Длина поля
Описание
00h
0
3 байта
Инструкция перехода на программный код загрузки
03h
3
8 байт
Имя OEM и номер версии DOS (например, "IBM5.0")
OBh
11
1 слово
Количество байтов в секторе (обычно 512)
ODh
13
1 байт
Количество секторов в кластере (должно быть равно 2 в какой-либо степени)
OEh
14
1 слово
Зарезервированные секторы (загрузочные, обычно 1)
10h
16
1 байт
Количество копий FAT (обычно 2)
11h
17
1 слово
Максимальное количество элементов в корневом каталоге (обычно 512)
13h
19
1 слово
Общее количество секторов (если размер раздела < 32 М, в противном случае - 0)
15h
21
1 байт
Байт описания носителя (для жестких дисков - F8h)
16h
22
1 слово
Количество секторов в FAT
18h
24
1 слово
Количество секторов на дорожке
1Ah
26
1 слово
Количество головок (сторон)
1Ch
28
1 двойное
слово
Количество скрытых секторов (если размер раздела < 32 М, то 1 слово)
Для DOS 4.0 и
более версий,
противном случае 00п
20h
32
1 двойное слово
Общее количество секторов (если размер раздела > 32 М, в противном случае - 0)
24h
36
1 байт
Номер физического накопителя (00h - для гибких дисков, 80h - для жестких)
25h
37
1 байт
Зарезервирован (00h)
26h
38
1 байт
Сигнатура EBR (29h)
27h
39
1 двойное
слово
Серийный номер тома (32-разрядное случайное число)
28h
43
11 байт
Метка тома (если не задана, то "NO NAME")
36h
54
8 байт
Идентификатор файловой системы ("FAT12" или "FAT16")
Для всех
версий DOS
3Eh
62
450 байт
Программный код загрузки
1FEh
510
2 байта
Сигнатура (55AAh)
Cache (запас) в контексте терминов материнской платы обозначает быстродействующую буферную память между процессором и основной памятью. Кэш служит для частичной компенсации разницы в скорости процессора и основной памяти - там хранятся наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения в скором времени может быть с гораздо большей скоростью выбрано из малого, но очень быстродействующего кэша, чем из относительно медленной основной памяти.
| На главную |