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

Загрузка программ для ЭВМ с явной адресацией

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


Читайте также:
  1. I. Общая характеристика программы
  2. II. Организационно-педагогические условия реализации программы (материально-техническое обеспечение образовательного процесса)
  3. II. Основные цели и задачи Программы с указанием сроков и этапов ее реализации, а также целевых индикаторов и показателей
  4. II. Учебная программа
  5. III. Мероприятия Программы
  6. III. Рабочая программа
  7. III. Формы аттестации по программе

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

Количество полей
Биты настройки
Двоичный код в заданном количестве полей
Рис. 6.4

Загрузочный и машинный код некоторой программы в приведенном формате представлены на рис. 6.5. Нетрудно заметить, что поля с нулевыми битами настройки определяют константы, поля со смешанными битами - команду и ее операнды, а поля с полностью единичным битом - адресную константу (последняя строка на рисунке).

Загрузочный код   Машинный код
Кол. полей Биты настройки Двоичный код Адрес Код
    12 17    
    12 17 15    
    12 17    
    13 17 13    
    03 18    
    07 99    
    00 99    
         
         
         
Рис. 6.5

Настраивающий загрузчик, получив от монитора работ адрес, где располагать программу, начинает считывание записей загрузочного кода. Адрес начала программы в ОП считается за константу смещения. Эта константа смещения прибавляется к значению каждого поля, бит настройки который равен 1. Для нашей загрузочной программы получена машинная программа, расположенная с адреса 40 (значения 57, 55, 53 представляют адреса операндов).

 
 

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

Карта настройки включает такое количество битов, сколько всего полей имеется в настраиваемой части текста. Для поля в 1 байт, что часто бывает, карта настройки в 8 раз меньше. Это упрощенный вариант, так как поля могут быть разной длины. В реальных ОС карта настройки содержит кроме бита настройки и код длины поля, например, 00 - 1 байт, 01 - 2 байта, 10 - 3 байта, 11 - 4 байта. Тогда на каждое поле как минимум приходится по 3 бита: код длины и бит настройки (характерно в ОС ЕС).

Рассмотрим алгоритм настраивающего загрузчика для явной адресации. Для упрощения возьмем случай, когда поля имеют одинаковую длину. Загрузчик, получив от монитора адрес для размещения программы, читает первую запись загрузочного кода и настраивает ее текст. Адрес для размещения следующего сегмента загрузчик вычисляет сам, зная адрес окончания предыдущего настраиваемого текста. Это будет адрес размещения карты настройки предыдущей записи, т.е. карты будут перекрыты следующими записями (рис. 6.7).

 
 

Алгоритм настраивающего загрузчика при простой адресации представлен на рис. 6.8.


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


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

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