- •Алгоритмические языки программирования.
- •ОВЕРЛЕЙ
- •КАК СОЗДАТЬ ПРОГРАММУ БОЛЬШОГО РАЗМЕРА?
- •Оверлей - это такой способ использования оперативной памяти, при котором в один и
- •ГДЕ ХРАНЯТСЯ ОВЕРЛЕЙНЫЕ МОДУЛИ?
- •При выполнении программы, построенной по оверлейному принципу, в памяти находятся только те из
- •Программа
- •Оверлейный
- •Последовательность выполнения оверлейной программы
- •Загрузка нужных модулей в оверлейный буфер осуществляется автоматически и программисту не нужно об
- •Главное преимущество оверлейной структуры:
- •Главный недостаток оверлейной структуры:
- •ОБРАТИТЕ ВНИМАНИЕ!
- •Новые термины и понятия:
- •По умолчанию для оверлейн
- •Турбо Паскаль управляет оверлеями на уровне модулей
- •Файл с оверлейной частью программы должен размещаться в том же каталоге, что и
- •Оптимизация методов управления оверлейным буфером
- •АДМИНИСТРАТОР ОВЕРЛЕЕВ.
- •Подсистема управления оверлеями сохраняет в оверлейном буфере с
- •ОБРАТИТЕ ВНИМАНИЕ!
- •Оформление
- ••Поскольку оверлеи оформляются в виде модулей, то все правила построения модулей применимы и
- •ОФОРМЛЕНИЕ ОВЕРЛЕЕВ.
- •Директива компилятора
- •Пример:
- •ОБРАТИТЕ ВНИМАНИЕ!
- ••Если в оверлейном модуле есть раздел инициализации, то в нем, с одной стороны,
- •Последовательность создания оверлейных программ.
- •Процедуры и функции модуля Overlay
- •Инициализация
- •Процедура OvrInit(OvrFileName : STRING);
- •Условие:
- •Хотя использование кода инициализации и
- •Рациональный подход:
- •В модуле Overlay объявлена переменная
- •Возможные значения переменной OvrResult, а также список соответствующих им констант:
- •Для размещения оверлеев в расширенной памяти
- •Рекомендуется всегда использовать процедуру OvrInitEMS.
- •Управление
- •УПРАВЛЕНИЕ ОВЕРЛЕЙНЫМ БУФЕРОМ
- •Для управления оверлейным буфером применяется функция OvrGetBuf,
- ••Доступный объем памяти определяется разницей значений переменных MaxAvail, содержащей размер максимального непрерывного
- •УПРАВЛЕНИЕ ОВЕРЛЕЙНЫМ БУФЕРОМ
- •Оверлейный буфер Турбо Паскаля лучше всего представить в виде кольцевого буфера.
- •ПРОБЛЕМА В УПРАВЛЕНИИ ОВЕРЛЕЯМИ.
- •В Турбо Паскале найдено компромиссное решение этой
- •Оптимизация алгоритма управления оверлеями 57
- •Использование механизма испытаний (проб/отказов) приводит к тому, что часто используемые оверлеи будут сохраняться
- •УПРАВЛЕНИЕ МЕХАНИЗМОМ ИСПЫТАНИЙ.
- •По умолчанию механизм испытаний не используется.
Алгоритмические языки программирования.
Лектор:
доцент КФТТ И.В.Климов
ОВЕРЛЕЙ
2
КАК СОЗДАТЬ ПРОГРАММУ БОЛЬШОГО РАЗМЕРА?
Максимальный размер модуля не может превышать 64 Кбайт.
Однако количество модулей не ограничено, что дает возможность разрабатывать весьма крупные программы.
Если программа запускается из интегрированной среды Турбо Паскаля, то часть памяти занимает сама среда(около 230 Кбайт).
Эту память можно использовать, если компилировать программу с помощью автономного компилятора
(ТРС.ЕХЕ).
А если и этого окажется недостаточно?
Нужно использовать механизм оверлеев!
3
Оверлей - это такой способ использования оперативной памяти, при котором в один и тот же участок памяти, называемый оверлейным буфером, попеременно, по мере надобности, загружаются различные оверлейные модули.
4
ГДЕ ХРАНЯТСЯ ОВЕРЛЕЙНЫЕ МОДУЛИ?
Все оверлейные модули в
готовом к работе виде хранятся на диске.
В оперативной памяти в
каждый момент находится лишь один активный модуль и, возможно, небольшое число других неактивных модулей.
5
При выполнении программы, построенной по оверлейному принципу, в памяти находятся только те из оверлейных процедур и функций, которые необходимы в данный момент.
6
Программа
Схема работы оверлейной программы 7
8
Неоверлейная (обычная) программа
Оверлейный
буфер
Оверлейная программа. |
9 |
Последовательность выполнения оверлейной программы |
Оверлейная программа. |
10 |
|