Скачиваний:
70
Добавлен:
09.05.2014
Размер:
812.54 Кб
Скачать

1.4. Структура программ.

1. Программы простой структуры

Это загрузочный модуль, отредактированный статически. Для выполнения ее достаточно загрузить в ОП и передать управление. Структура программы должна размещаться в физической памяти.

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

2. Структуры с перекрытиями12

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

Рассмотрим программу на модульном уровне.

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

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

Характеристики оверлейной организации программ:

  1. Этот способ позволяет выполнять программы, размер которых больше основной памяи.

  2. Это сложный процесс, который требует дополнительных затрат процессорного времени (оверлейные программы медленнее, чем программы простой структуры). Эффективность зависит от того, как программист сделал эту структуру.

  3. Оверлейный модуль строится редактором как загрузочный (все необходимое включается в его состав до выполнения – статическое подключение)

Выполнение программы простой структуры

Д

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

Выполнение оверлейной программы

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

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

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

Редактирование обеспечивает искусственное прерывание в результате подключения перекрывающихся модулей.

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

Перекрытие – это затраты процессорного времени на помещение перекрываемых частей в память. Если перекрытие попадет в цикл, то снижение быстродействия может быть значительным.