АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Связывание в настраивающем загрузчике

Читайте также:
  1. А)простое лигатурное связывание.
  2. В) лигатурное связывание по Айви.
  3. Внедрение и связывание объектов
  4. Использование множества таблиц в одном запросе. Связывание таблиц.оператора SELECT, в предложении FROM допускается указание нескольких таблиц.
  5. Ограничение свободы движений (связывание, стягивание)
  6. Полиморфизм и виртуальные функции. Раннее и позднее связывание. Виртуальные и невиртуальные функции.
  7. Связывание объекта
  8. Связывание таблиц на схеме данных.

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

Вектор перехода заполняется при обработке директив типа exst (перечисление внешних имен). В команду программы, обращающеюся к внешним именам вставляется обращение к адресному полю соответствующего элемента вектора перехода с признаком косвенного обращения. При загрузки в оперативную память вектор перехода загружается вместе с кодами программы и остается в памяти все время выполнения программы. Когда загрузчик компонует программу из нескольких объектных модулей, он узнает все фактические адреса всех входных точек вектора переходов, тех модулей, которые обращаются к данной входной точке и вставляет эти адреса. Обращение к внешней точке, таким образом, производится косвенно через вектор перехода.

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

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

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

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

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

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

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

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

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

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

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

 


1 | 2 | 3 | 4 | 5 | 6 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)