- •Алгоритмические языки программирования.
- •ОВЕРЛЕЙ
- •КАК СОЗДАТЬ ПРОГРАММУ БОЛЬШОГО РАЗМЕРА?
- •Оверлей - это такой способ использования оперативной памяти, при котором в один и
- •ГДЕ ХРАНЯТСЯ ОВЕРЛЕЙНЫЕ МОДУЛИ?
- •При выполнении программы, построенной по оверлейному принципу, в памяти находятся только те из
- •Программа
- •Оверлейный
- •Последовательность выполнения оверлейной программы
- •Загрузка нужных модулей в оверлейный буфер осуществляется автоматически и программисту не нужно об
- •Главное преимущество оверлейной структуры:
- •Главный недостаток оверлейной структуры:
- •ОБРАТИТЕ ВНИМАНИЕ!
- •Новые термины и понятия:
- •По умолчанию для оверлейн
- •Турбо Паскаль управляет оверлеями на уровне модулей
- •Файл с оверлейной частью программы должен размещаться в том же каталоге, что и
- •Оптимизация методов управления оверлейным буфером
- •АДМИНИСТРАТОР ОВЕРЛЕЕВ.
- •Подсистема управления оверлеями сохраняет в оверлейном буфере с
- •ОБРАТИТЕ ВНИМАНИЕ!
- •Оформление
- ••Поскольку оверлеи оформляются в виде модулей, то все правила построения модулей применимы и
- •ОФОРМЛЕНИЕ ОВЕРЛЕЕВ.
- •Директива компилятора
- •Пример:
- •ОБРАТИТЕ ВНИМАНИЕ!
- ••Если в оверлейном модуле есть раздел инициализации, то в нем, с одной стороны,
- •Последовательность создания оверлейных программ.
- •Процедуры и функции модуля Overlay
- •Инициализация
- •Процедура OvrInit(OvrFileName : STRING);
- •Условие:
- •Хотя использование кода инициализации и
- •Рациональный подход:
- •В модуле Overlay объявлена переменная
- •Возможные значения переменной OvrResult, а также список соответствующих им констант:
- •Для размещения оверлеев в расширенной памяти
- •Рекомендуется всегда использовать процедуру OvrInitEMS.
- •Управление
- •УПРАВЛЕНИЕ ОВЕРЛЕЙНЫМ БУФЕРОМ
- •Для управления оверлейным буфером применяется функция OvrGetBuf,
- ••Доступный объем памяти определяется разницей значений переменных MaxAvail, содержащей размер максимального непрерывного
- •УПРАВЛЕНИЕ ОВЕРЛЕЙНЫМ БУФЕРОМ
- •Оверлейный буфер Турбо Паскаля лучше всего представить в виде кольцевого буфера.
- •ПРОБЛЕМА В УПРАВЛЕНИИ ОВЕРЛЕЯМИ.
- •В Турбо Паскале найдено компромиссное решение этой
- •Оптимизация алгоритма управления оверлеями 57
- •Использование механизма испытаний (проб/отказов) приводит к тому, что часто используемые оверлеи будут сохраняться
- •УПРАВЛЕНИЕ МЕХАНИЗМОМ ИСПЫТАНИЙ.
- •По умолчанию механизм испытаний не используется.
Загрузка нужных модулей в оверлейный буфер осуществляется автоматически и программисту не нужно об этом заботиться.
11
Главное преимущество оверлейной структуры: |
12
Главный недостаток оверлейной структуры: |
Н
13
ОБРАТИТЕ ВНИМАНИЕ!
Оверлеи полезны только в программах DOS, работающих в реальном режиме.
Работа оверлейных программ обеспечивается с помощью процедур, и функций модуля OVERLAY.
В программах для Windows и программах, работающих в защищенном режиме, необходимость в использовании оверлеев отпадает
для программ Windows памятью управляет сама оболочка Windows, а для программ, работающих в защищенном режиме, — администратор выполнения
(RTM.EXE)
эти средства включают в себя полный механизм обслуживания оверлеев
14
Новые термины и понятия: |
оверлейный буфер |
Оверлейная программа. |
15 |
|
По умолчанию для оверлейн
Размер оверлейного буфера |
16 |
Турбо Паскаль управляет оверлеями на уровне модулей |
17
Файл с оверлейной частью программы должен размещаться в том же каталоге, что и файл с главной частью.
18
Оптимизация методов управления оверлейным буфером
19
АДМИНИСТРАТОР ОВЕРЛЕЕВ.
Администратор оверлеев Турбо Паскаля (подсистема управления оверлеями) реализован с помощью стандартного модуля OVERLAY.
Администратор оверлеев использует усовершенствованные методы управления буферами.
что обеспечивает оптимальное выполнение программы в имеющейся области памяти
20