Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭК(вопросы и ответы).doc
Скачиваний:
13
Добавлен:
10.09.2019
Размер:
5.98 Mб
Скачать

3.23 Логічна організація дискових накопичувачів зовнішньої пам'яті. Основні області (boot, fat, root, data area).

П

е рвый сектор жесткого диска (сектор 1, дорожка 0, головка 0) содержит главную загрузочную запись (Master Boot Record). Эта запись занимает только начальную часть сектора. главная загрузочная запись является программой. Эта программа во время начальной загрузки операционной системы с жесткого диска помещается по адресу 7C00:0000, после чего ей передается управление. Загрузочная запись продолжает процесс загрузки операционной системы. В конце самого первого сектора жесткого диска располагается таблица разделов диска (Partition Table). Элемент таблицы разделов диска это структура размером 16 байтов, описывающая часть диска, называемую разделом. В структуре описаны границы раздела в терминах номеров сектора, дорожки и головки, там располагается информация о размере раздела в секторах и о назначении раздела. Разделы диска могут быть активными для загрузки операционной системы.

В самом первом секторе активного раздела расположена загрузочная запись (Boot Record). Загрузочная запись считывается в оперативную память главной загрузочной записью, после чего ей передается управление. Загрузочная запись и выполняет загрузку операционной системы. Таким образом, загрузка операционной системы с жесткого диска - двухступенчатый процесс. Вначале модули инициализации BIOS считывают главную загрузочную запись в память по адресу 7C00:0000 и ей передается управление. Главная загрузочная запись просматривает таблицу разделов и находит активный раздел. Если активных разделов несколько, на консоль выводится сообщение о необходимости выбора активного раздела для продолжения загрузки. Байт со смещением 4 - это код системы, использующей раздел диска. Для DOS зарезервированы значения 0, 1, 4, 5.

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

Существуют несколько форматов FAT - 12-битовый ,16-битовый и 32 битовый. Эти форматы используют, соответственно, 12,16 и 32 бита для хранения информации об одном кластере диска.

При использовании FAT 16-битового формата операционная система может работать с диском, который имеет размер более 32 мегабайт.

Первый байт FAT называется "Описатель среды" (Media Descriptor) или байт ID идентификации FAT. Он имеет такое же значение, как и байт-описатель среды, находящийся в BOOT-секторе логического диска.

Остальная часть FAT состоит из ячеек, каждая ячейка соответствует одному кластеру диска. Эти ячейки могут содержать следующие значения:

FAT12

FAT16

Что означает

000h

0000h

Свободный кластер

ff0h - ff6h

Fff0h - fff6h

Зарезервированный кластер

ff7h

Fff7h

Плохой кластер

ff8h - fffh

Fff8h - ffffh

Последний кластер в списке

002h - fefh

0002h - ffefh

Номер следующего кластера в списке

Адрес области FAT вычисляется следующим образом:

Адрес FAT = начало раздела + корневой сектор + число резерв-

ных секторов.

Адрес корневого каталого вычисляется следующим образом:

Адрес каталога = начало раздела + корневой сектор + число резервных секторов + число FAT x число секторов в одной FAT.

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

Смещение

Размер

Содержимое

(+0)

8

Имя файла или каталога, выравненное на левую границу и дополненное пробелами.

(+8)

3

Расширение имени файла, выравненное на левую границу и дополненное пробелами.

(+11)

1

Атрибуты файла.

(+12)

10

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

(+22)

2

Время создания файла или время его последней модификации.

(+24)

2

Дата создания файла или дата его последней модификации.

(+26)

2

Номер первого кластера, распределенного файлу.

(+28)

4

Размер файла в байтах.

Байт атрибутов является принадлежностью каждого файла. Биты этого байта имеют следующие значения:

0

Файл предназначен только для чтения, в этот файл нельзя писать и его нельзя стирать.

1

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

2

Системный файл. Этот бит обычно установлен в файлах, являющихся составной частью операционной системы.

3

Данный дескриптор описывает метку диска. Для этого дескриптора поля имени файла и расширения имени файла должны рассматриваться как одно поле длиной 11 байтов. Это поле содержит метку диска.

4

Дескриптор описывает файл, являющийся подкаталогом данного каталога.

5

Флаг архивации. Если этот бит установлен в 1, то это означает, что данный файл не был выгружен утилитой архивации (например, программой BACKUP).

6-7

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

Обычно файлы имеют следующие комбинации битов в байте атрибутов:

0

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

7

Только читаемые, скрытые, системные файлы. Такая комбинация битов байта атрибутов используется для файлов операционной системы IO.SYS, MSDOS.SYS.

8

Метка тома. Дескриптор метки тома может находиться только в корневом каталоге логического диска.

10h

Дескриптор, описывающий каталог.

20h

Обычный файл, который не был выгружен утилитами BACKUP или XCOPY.

В любом каталоге, кроме корневого, два первых дескриптора имеют специальное назначение. Первый дескриптор содержит в поле имени строку:

"."Этот дескриптор указывает на содержащий его каталог. Т.е. каталог имеет ссылку сам на себя. Второй специальный дескриптор содержит в поле имени строку: ".."Этот дескриптор указывает на каталог более высокого уровня. Если в поле номера первого занимаемого кластера дескриптора с именем ".. " находится нулевое значение, это означает, что данный каталог содержится в корневом каталоге.