русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Размещение оверлейного файла в EMS-памяти


Дата добавления: 2015-06-12; просмотров: 495; Нарушение авторских прав


Процедура OvrInitEMS не имеет параметров. Она просто определяет, есть ли в ПЭВМ расширяемая память (EMS-память). Если есть, то далее процедура проверяет, установлена ли программа-драйвер этой памяти, работающая по стандарту LIM (EMS 4.0 и выше). Если и это условие выполняется, то оверлейный файл целиком загрузится в EMS и все операции по работе с оверлейными процедурами и функциями будут происходить в памяти. При этом программа начинает работать более быстро, так как операции чтения из памяти в память производятся гораздо быстрее, чем с диска в память (особенно при работе с дискетами). Вызов OvrInitEMS не является обязательным, и ни в коей мере не отменяет необходимости обычной предварительной инициализации администратора оверлеев. Неудача при попытке разместить OVR-файл в EMS-памяти не будет иметь никаких фатальных последствий, и программа будет работать так, как будто вызова OvrInitEMS не было. Переменная OvrResult при этом получит значения OvrNoEMSDriver или OvrNoEMSMemory. Последняя может возникнуть из-за того, что в EMS-памяти уже размещены кэш (cache) жесткого диска, виртуальный диск или что-нибудь иное.

При запуске процедуры OvrInitEMS в переменную OvrResult могут передаваться и другие ошибки: OvrError — если не было предварительного вызова OvrInit, и OvrIOError — если произошел сбой при переносе оверлейного файла с диска в EMS-память.

Приведенный на рис. 18.2 фрагмент основной программы показывает запуск администратора оверлеев и попытку использовать EMS-память с полной проверкой ошибок. {397}

VAR ovr_name : PathStr; { полное имя оверлея на диске } d : DirStr; { Типы объявлены в модуле DOS.} n : NameStr; е : ExtStr; BEGIN FSplit(ParamStr(0), d, n, e); { анализ имени ЕХЕ-файла } ovr_name := d + n + '.OVR'; { построение имени .OVR } REPEAT OvrInit( ovr_name ); { запуск администратора } if OvrResult = OvrNotFound { OVR-файл не найден } then begin WriteLn('Оверлейный файл не найден:',ovr_name); Write ('Введите правильное имя файла: '); ReadLn ( ovr_name ) end; {if} UNTIL OvrResult <> OvrNotFound; if OvrResult <> OvrOk { анализ прочих ошибок } then begin WriteLn('Ошибка администратора оверлеев ', OvrResult); RunError { останов программы } end; {if} OvrInitEMS; { попытка загрузки в EMS } if OvrResult <> OvrOk then { анализ этой попытки } then begin case OvrResult of OvrNoEMSDriver:Write('Драйвер EMS не установлен'); OvrNoEMSMemory:Write('Мало свободной EMS-памяти'); OvrIOError :Write('Ошибка чтения файла' ); end; {case} Write( ' - EMS память не используется.' ) { итог } end; {if} { Администратор инициализирован. Можно работать дальше } ... END.

Рис. 18.2





<== предыдущая лекция | следующая лекция ==>
Анализ результата инициализации | Установка размера буфера


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.672 сек.