На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 7 / О примере приложения Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

О примере приложения

Пример приложения состоит из двух программ: SNAPSHOT.C и PLAYBACK.C. SNAPSHOT.C - программа, остающаяся в памяти резидентно после завершения, которая сохраняет образы текстовых экранов в расширенной памяти путем перехвата прерывания печати экрана (int 5). Данное прерывание выдается всякий раз, когда нажимается клавиша PrtScr или Print Screen. SNAPSHOT также строит индексную структуру данных в расширенной памяти, которая содержит номер логической страницы и смещение в байтах для каждого образа экрана, сохраненного в расширенной памяти. PLAYBACK просто считывает индексную структуру данных, копируя каждый из текстовых экранов из расширенной памяти в стандартный выходной файл DOS. На рис. 7-4 показано использование расширенной памяти для установления связи между двумя независимыми программами.


Для того чтобы продемонстрировать некоторые из более сложных идей расширенной памяти, которые были представлены в данной главе, данное приложение с необходимостью является более сложным, чем мог бы ожидать программист среднего уровня от первого проекта приложения расширенной памяти. Разработчики, которые незнакомы с программами, остающимися резидентными по завершении, и программированием драйверов прерываний в среде DOS, могут ощущать особенно значительные трудности, воспринимая большую часть кода SNAPSHOT.C, которая требуется для установки, управления и завершения самой программы.


В то же время в программе SNAPSHOT - не только доля усложнений, связанных с DOS, использование переключения контекста и новых функций спецификации расширенной памяти LIM 4.0 предлагает ценный пример для изучения идей спецификации расширенной памяти, которые не всегда демонстрируются в руководствах по программированию спецификации расширенной памяти. Ключевые средства спецификации расширенной памяти, использованные в SNAPSHOT, включают в себя:


* Разделение расширенной памяти между программами с помощью средства "Именования обработчика" (функция 20 спецификации расширенной памяти).


* Переключение контекста с помощью "Получить/установить отображение страниц" (функция 15 спецификации расширенной памяти).


* Перемещения блоков данных между обычной и расширенной памятью с помощью функции "Передвинуть/обменять область памяти" (функция 18 спецификации расширенной памяти).


* Динамическое добавление логических страниц к ранее размещенным для обработчика спецификации расширенной памяти с помощью функции переразмещения страниц (функция 18 спецификации расширенной памяти).


Примечание: Для выполнения этих программ Ваш менеджер расширенной памяти должен поддерживать спецификацию расширенной памяти LIM 4.0.


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz