Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
14.11.2011 СП (Лекция).docx
Скачиваний:
10
Добавлен:
02.12.2018
Размер:
27.58 Кб
Скачать

Процесс загрузки ос

Процедура начальной загрузки (bootstrap loader) вызывается как программное прерывание (BIOS INT 19h). Эта процедура определяет первое готовое устройство из списка разрешенных и доступных (гибкий или жесткий диск и т.д.) и пытается загрузить с него программу начальной загрузки (non-system bootstrap) из MBR и передает ему управление. Главный загрузчик определяет на диске активный раздел, загружает его собственный загрузчик (system bootstrap) и передает ему управление. И, наконец, этот загрузчик загружает необходимые файлы ОС и передает ей управление. Далее ОС выполняет инициализацию подведомственных ей программных и аппаратных средств.

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

Структура логического дискового пространства с системой fat

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

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

  1. Загрузочная запись (boot record, BR)

  2. Основная копия FAT (FAT 1)

  3. Резервная копия FAT (FAT 2)

  4. Корневой каталог (root directory, RDir)

Загрузочная запись состоит из двух частей:

а) Блока параметров диска

б) Системного загрузчика

Блок параметров служит для идентификации физического и логического форматов логического диска, а загрузчик для управления загрузкой ОС. Первые два байта BR занимает команда JMP. Третий байт содержит код отсутствия операции. Далее располагается восьмибайтный системный идентификатор, включающий информацию о фирме-разработчике и версии ОС.

Таблица размещения файлов (FAT1) представляет собой «карту» области данных, в которой описывается состояние каждого участка этой области.

Область данных разбивается на блоки, называемыми кластерами. Кластер – это один или несколько смежных секторов, кластеры занимающиеся 1 файлом связываюца в цепочку. Файл или каталог занимает целое число число кластеров. 1 допустимый кластер имеет номер 2.

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

– 00 (кластер свободный)

– F7 (дефектный кластер)

– FF (последний кластер в цепочке кластеров принадлежащих одному файлу)

– номер следующего в цепочке кластера.

При размещении файла ОС просматривает FAT, начиная с первого элемента, и отыскивает первый свободный элемент. В кластер с этим номером записываются данные файла. Если размер файла не превышает размер кластера, то в элемент FAT записаться значение FFh. Если же размер файла больше размера кластера, то ОС продолжает просмотр FAT и ищет следующий свободный кластер. После его обнаружения в предыдущий элемент заносится номер найденного кластера, который становится следующим кластером файла. Этот процесс повторяется, пока не будет размещены все данные файла.

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

Эффективность использования дискового пространства зависит от размера кластера. Малый размер кластера приводит к увеличению размера самой FAT, фрагментации файлов и увеличению времени доступа к ним. Слишком большой размер кластера ведет к неэффективному использованию области данных, т.е. заполнению кластера на 50% и менее. Поэтому в современных файловых системах размер кластера выбирается обычно от 512б до 4Кб.

Очевидно, что разрядность элемента FAT должна быть такой, чтобы в ней можно было задать max номер кластера для диска определенного объема. Существует несколько разновидностей FAT: FAT12, FAT16, FAT32, где FAT12 использует 12–разрядный элемент (до 4096 кластеров), FAT16 – 16–разрядный элемент (до 65536 кластеров) и FAT32 – 32–разрядный элемент (до 4 млрд.).

Форматирование FAT12 характерно для дисков небольших объемов (не более 1Мб), чтобы не использовать кластеры размером более 4Кб, соответственно FAT16 – для дисков объемом не более 512Мб. Для дисков большого объема лучше использовать FAT32, которая способна использовать кластеры размером по 4Кб при объеме до 8Гб, и только для дисков большого объема по 8Кб, 16Кб или 32Кб. Max размер раздела с FAT16 ограничен 4Гб (это 65536 кластеров по 64Кб каждый), а максимальный объем раздела с FAT32 практически не ограничен 232 кластеров по 32Кб.

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

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

Атрибут может принимать следующие значения:

  • архивный (обычный, файл может изменять свое содержимое, 20h);

  • каталог (определяет этот элемент как подкаталог, 10h;

  • том (для одного элемента корневого каталога, который хранит имя дискового тома, 08h);

  • системный (файл является частью ОС, 04h);

  • скрытый (не отображается в обычном списке файлов, 02h);

  • только для чтения (не подлежит изменению, 01h).