Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Настраивающий загрузчик

Методы управления свободной памятью | Дисциплины выделения памяти | Разделы с подвижными границами | Своппинг | Виртуальная память | Сегментная организация памяти | Страничная организация памяти | Сегментно-страничная организация | Стратегии свопинга страниц | Особенности сегментно-страничной организации в ПЭВМ |


Читайте также:
  1. Абсолютный загрузчик

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

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

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

К абсолютным полям относятся:

- код операции;

- адреса регистров;

- непосредственно заданные данные (в команде);

- константы сдвига;

- константы, не относящиеся к адресным.

К относительным полям относятся:

- поля операндов, заданные через их адреса;

- адресные константы (адреса ячейки памяти, где находятся необходимые данные).

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

Функции настраивающего загрузчика:

- загрузить программу по адресу, заданную монитором работ;

- настроить все относительные поля на физические адреса с учетом начала сегмента;

- передать управление по адресу точки входа.

Реализация загрузчиков зависит от используемых в ЭВМ способов адресации. Три способа являются наиболее общими.

1. Явная адресация, встречающаяся в малых 8-разрядных ЭВМ (СМ 1800 и др.). Все операнды, связанные с памятью, должны быть пересчитаны на физические адреса.

2. Неявная сегментная адресация. Используется во многих ЭВМ: в ПЭВМ 16-разрядных и выше типа IBM, мини ЭВМ типа СМ-3, СМ-4, PDP-10 и др. В командах операнды в памяти задаются в виде смещения относительно значения базового регистра. Адрес (номер) базового регистра чаще всего не указывается. Он известен ЦП. Поэтому способ и называется "неявным". При загрузке программы ОС засылает в базовый регистр (CS в ПЭВМ) адрес начала очередного сегмента, так называемый базовый адрес. Во время исполнения ЦП автоматически формирует исполнительный (физический) адрес, прибавляя к базовому адресу смещение операнда из команды. Такие операнды не надо пересчитывать загрузчику. Для него остаются, в основном, только адресные константы, если они не абсолютные.

3. Явная сегментная адресация. Используется в ЭВМ, где адресное поле операнда содержит пару чисел: номер базового регистра и смещение (ЕС ЭВМ, IBM 360/370 и др.). В этом случае загрузка начала сегмента в соответствующий базовый регистр выполняется программистом (на Ассемблере) или транслятором.


Дата добавления: 2015-10-02; просмотров: 45 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Абсолютный загрузчик| Загрузка программ для ЭВМ с явной адресацией

mybiblioteka.su - 2015-2024 год. (0.006 сек.)