Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_OS.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

Перемещение в настраивающих загрузчиках

Принятые в настраивающих загрузчиках методы позволяют легко реализовывать настройку реальных адресов заданных относительно начала программы. Сущность метода перемещения состоит в том, что с каждым словом кода программы связывается один бит перемещения. Значение этого бита 0 или 1 является признаком неперемещаемого, перемещаемого слова. Если слово является неперемещаемым, оно оставляется загрузчиком без имени. Если слово перемещаемое, то к значению слова прибавляется стартовый адрес модуля в оперативной памяти. Биты перемещения могут упаковываться, например, 8 слов в один байт.

Непосредственно связывающие загрузчики

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

Формат объектного модуля

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

  1. Размер модуля.

  2. Машинные коды.

  3. Входные точки (те адреса модуля, к которым возможно обращение извне).

  4. Внешние точки (те имена во внешних модулях, в котором есть обращение в данном модуле).

  5. Информация о размещении модуля перемещаемых данных

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

Наиболее простой алгоритм — двухпроходной. На вход загрузчика дается список объектных модулей, из которых составляется программа. Этот список может быть параметром программы загрузчика или находится в отдельном файле. На первом проходе загрузчик рассматривает все объектные модули по списку и решает две задачи.

Первая — определяет общий объем области памяти, необходимой для программы и размещение объектных модулей в этой области.

Вторая — составляет глобальную таблицу внешних имен программы. В глобальную таблицу заносятся только входные точки всех модулей. В конце первого прохода загрузчик выделяет память и уже зная фактический начальный адрес программы в памяти корректирует все адреса глобальной таблицы внешних символов. Во втором проходе загрузчик снова читает все объектные модули по списку, при этом он уже размещает коды модуля в памяти и формирует для каждого модуля таблицу внешних символов и таблицу перемещений. Адресные поля в этих таблицах он заполняет или корректирует с учетом фактического адреса модуля в памяти и содержимого глобальной таблицы внешних символов. За тем он выполняет обработку таблицы перемещений, используя для коррекции адресных кодов, в программе значения, из локальных таблиц внешних символов.

Этапы загрузки операционной системы

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

  2. Программа-загрузчик в свою очередь ищет на диске базовый модуль ОС, переписывает его в память и передает ему управление.

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

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

Драйверы устройств и утилиты могут подгружаться в оперативную память по мере необходимости, что позволяет уменьшить обязательный объем оперативной памяти, отводимый под системной программное обеспечение.

17.02.2014

Лекция ОС №5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]