Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Прямой доступ к dpmi-серверу

Прямой доступ к DPMI-серверу вы можете получить через преры-

вание $31, которое непосредственно вызывает DPMI-сервер в обход

администратора этапа выполнения. Однако это опасный прием. DPMI

не поддерживает очистку ресурсов, таких как векторы прерываний

памяти; корректно с этими проблемами работает администратор этапа

выполнения. Вы должны глубоко понимать концепции защищенного ре-

жима и знать о существенном риске, с которым связано использова-

ние данного метода доступа защищенного режима.

Компиляция прикладной программы защищенного режима

В большинстве случаев для получения прикладной программы за-

щищенного режима вам не нужно делать ничего особенного. Просто

скомпилируйте свою программу, задав в качестве целевой работы за-

щищенный режим одним из следующих способов:

* В IDE выберите команду Compile¦Target и в диалоговом окне

Target Platform (Целевая платформа) выберите

Protected-mode Application.

* При использовании компилятора, работающего в режиме ко-

мандной строки, укажите для выбора в качестве целевой

платформы защищенного режима параметр /CP.

Выполнение программы защищенного режима dos

Когда вы выполняете программу DOS защищенного режима, нужно

обеспечить наличие в текущем каталоге или по маршруту DOS файлов

DPMI16BI.OVL (сервер DPMI), RTM.EXE (администратор этапа выполне-

ния) и всех DLL, с которыми работает ваша программа.

Примечание: Лицензионное соглашение позволяет вам

распространять файлы DPMI16BI.OVL и RTM.EXE вместе с вашей

программой.

В выполняемом файле .EXE защищенного режима DOS используется

тот же формат файла, что и в Windows 3.x и OS/2 1.x. Этот формат

файла является надмножеством обычного формата .EXE DOS и состоит

из обычного образа файла .EXE, называемого фиктивным модулем, за

которым следует расширенный заголовок и код, данные и ресурсы за-

щищенного режима. Ниже показана последовательность событий при

выполнении программы защищенного режима DOS.

1. DOS загружает фиктивный модуль реального режима и переда-

ет ему управление.

2. Если средства DPMI отсутствуют, то фиктивный модуль заг-

ружает DPMI-сервер из файла DPMI16BI.OVL. Некоторые новые

администраторы памяти поддерживают средства DPMI (как,

например, это делается в окне DOS улучшенного режима

Windows 3.х). В таких конфигурациях фиктивный модуль не

загружает DPMI-сервер, но использует уже имеющийся.

3. Далее, если администратор этапа выполнения еще не загру-

жен в память, фиктивный модуль загружает его из файла

RTM.EXE. Если прикладная программа защищенного режима вы-

полняет другую программу защищенного режима, обе исполь-

зуют одну копию администратора этапа выполнения.

4. Если средства DPMI и администратор этапа выполнения при-

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

защищенный режим и передает управление расширенному заг-

рузчику .EXE в администратора этапа выполнения.

5. Загрузчик сначала загружает используемую прикладной прог-

раммой DLL (если она имеется), затем загружает сегменты

кода и данных прикладной программы. Наконец, загрузчик

передает управление на точку входа прикладной программы.

При выполнении вашей прикладной программы защищенного режима

DOS всегда возможно ситуация, когда уже присутствует DMPI-сервер,

отличный от сервера Borland. Поскольку между серверами могут быть

небольшие различия, особенно в плане обработки прерываний DOS, вы

должны проверить программу и убедиться, что она работает со всеми

возможными серверами, которые могут ей встретиться.

Когда прикладная программа защищенного режима DOS выполняет-

ся в окне DOS улучшенного режима Windows, вы можете управлять

объемом расширенной памяти, которую выделяет администратор этапа

выполнения, задав в файле .PIF прикладной программы предельное

значение памяти XMS.

Соседние файлы в предмете Программирование на Pascal