Оперативная память


Спецификация расширенной памяти



Спецификация расширенной памяти

Спецификация расширенной памяти (Expanded Memory Specification ИЛИ
EMS) содержит перечень требований к оборудованию, предназначенному для работы с дополнительным пространством адресов ОЗУ, и совокупность правил, которых надо придерживаться при работе с этим оборудованием. Если в ПК используется микропроцессор Intel 386 и выше, то необходимое оборудование заведомо существует и нет необходимости в приобретении и установке каких-либо дополнительных устройств. В данном разделе нас будет интересовать возможность его использования.
Основная концепция EMS. Дополнительная память занимает физические адреса от дооооь и далее вплоть до верхнего предела. Если на ПК установлено 16 Мбайт ОЗУ, то последнему байту соответствует физический адрес OFFFFFFh. Напомним, что для DOS и BIOS последний физический адрес ОЗУ равен 9FFFFh, а адреса от одооооь до OFFFFFh к оперативной памяти не относятся. Таким образом, при работе в DOS прямой доступ к расширенной памяти невозможен и применяется косвенный доступ.

В доступном для DOS пространстве адресов выделяется окно (сегмент), на которое отображается фрагмент расширенной памяти. Отображение окна на пространство физических адресов и его перемещение выполняет специальная программная компонента (менеджер). Ее присутствие является необходимым условием для работы с расширенной памятью.

Системные и прикладные задачи получают доступ к расширенной памяти, издавая специальные команды, которые исполняет менеджер. В соответствии с идеологией DOS и BIOS они оформляются в виде программных запросов.

Впервые EMS была опубликована сразу в виде версии 3.0 в 1985 году, в ее подготовке приняли участие только Lotus и Intel. Примерно в это же время Microsoft в связи с разработкой Windows заинтересовалась EMS и принимала активное участие в разработке ее последующих версий. В 1987 году была опубликована версия 4.0, которая предусматривала возможность размещения и выполнения нескольких задач в расширенной памяти. Автору неизвестно существование более поздних версий EMS, но для изложения материала это не существенно, т. к. соблюдается строгая преемственность версий и то, что описано в данном разделе может использоваться в ваших программах.



Содержание раздела