Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

6.4.3. Логическая структура магнитного диска

Каждая дискета обычно рассматривается операционной системой как единственный логический диск.

Жесткий диск организуется иначе. Он может быть подразделен на несколько разделов, используемых различными операционными системами. Максимальное число разделов равно четырем. Так DOS может использовать один или два раздела. Первый из них должен быть первичным разделом DOS, второй - может быть только расширенным разделом DOS. В первичном разделе может быть сформирован только один логический диск, а в расширенном - любое их количество. Каждый логический диск «управляется» своим логическим приводом.

На логическом уровне считается, что секторы логического диска имеют непрерывную нумерацию от 0 до N1, где N = T x H x S - количество секторов на диске. Таким образом, сначала (начиная с нуля) нумеруются секторы на нулевой дорожке нулевой поверхности, затем - на нулевой дорожке первой поверхности и т.д. После нумерации секторов на нулевых дорожках всех поверхностей этот процесс повторяется для первой и всех последующих дорожек.

Каждому логическому диску на винчестере соответствует своя (относительная) логическая нумерация. Физическая же адресация жесткого диска - сквозная.

Логическое дисковое пространство любого логического диска делится на две области (рис. 6.7) : системную область и область данных.

Рис. 6.7. Логическая структура логического диска

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

Системная область состоит из следующих, расположенных в логическом адресном пространстве подряд, компонентов :

- загрузочной записи (BR - Boot Record);

- зарезервированных секторов (RSec - Reserved Sector);

- таблицы размещения файлов (FAT - File Allocation Table);

- корневого каталога (RDir - Root Directory).

Загрузочная запись находится в секторе с физическим адресом [0-0-1] (для дискеты) и содержит блок параметров диска (DPB - Disk Parameter Block), а также системный загрузчик (SB - System Bootstrap). Сектор, содержащий BR, называется стартовым.

За загрузочной записью могут располагаться несколько резервных секторов, используемых операционной системой. Стартовый сектор логического диска относится к числу резервных секторов, и обычно это - единственный резервный сектор на диске.

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

- уменьшается возможная фрагментация файлов;

- уменьшается размер FAT, а следовательно, и объем системной области логического диска;

- ускоряется доступ к файлу, так как в несколько раз сокращается длина цепочек фрагментов дискового пространства, выделенных для него.

Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов.

В связи с тем, что FAT используется при доступе к диску очень интенсивно, она обычно загружается в ОЗУ (в буфера ввода-вывода или кэш) и остается там настолько долго, насколько это возможно.

Ввиду чрезвычайной важности FAT она обычно хранится в двух идентичных экзе­мплярах (за исключением FAT виртуального диска), второй из которых непосредственно следует за первым. Обновляются копии FAT одновременно. Используется же только первый экземпляр. Если он по каким-либо причинам окажется разрушенным, то произойдет обращение ко второму экземпляру.

Корневой каталог является корнем древовидной файловой структуры логического диска и не может быть удален ни какими средствами. В связи с тем, что память под RDir выделяется статически, имеется ограничение количества содержащихся в нем файлов и подкаталогов.

Некорневые каталоги в области данных размещаются аналогично файлам (динамически), поэтому на их длину ограничение не накладывается.

В BR и FAT­ хранится дескриптор носителя, чтобы можно было быстро определить формат логического диска.

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

- увеличен размер кластера;

- увеличены размеры FAT­ и RDir ;

- элементы FAT­ могут быть 16-битными;

- максимальное число элементов корневого каталога обычно составляет 512;

- дескриптором носителя является F.

На жестком диске имеется односекторная главная загрузочная запись (MBR - Master Boot Record), содержащая внесистемньй загрузчик (NSB - Non-System Bootstrap), а также таблицу разделов (PT - Partition Table) и имеющая физический адрес [0-0-1]. Таким образом, в стартовом секторе физического жесткого диска находится не BR., а MBR.

Таблица разделов описывает размещение и характеристики имеющихся на винчестере разделов.

Внесистемный загрузчик служит для копирования в ОЗУ системного загрузчика из загрузочной записи логического диска в активном разделе и передачи на него управления, что осуществляется при загрузке операционной системы.

Вслед за главной загрузочной записью размещаются разделы.

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

Расширенный раздел можно рассматривать как жесткий диск в миниатюре: он содержит вторичную MBR (SMBR - Secondary MBR), в состав которой вместо PT входит таблица логического диска (LDT - Logical Disk Table), ей аналогичная. LDT описывает размещение и характеристики раздела, содержащего единственный логический диск, а также может специфицировать следующую SMBR. Следовательно, если в расширенном разделе создано m логических дисков, то он содержит m SMBR, связанных в список. Каждый элемент этого списка описывает соответствующий логический диск и ссылается (кроме последнего) на следующий элемент списка.