Распределение памяти


Обычно базовая емкость ОЗУ – 1 МВ, но DOS может обращаться только к 640 КВ, поэтому эту память называют стандартной. Вся базовая память может быть разбита на 16 областей по 64 КВ каждая, их называют страницами и они могут быть пронумерованы от 0 до F: 0,1,……9, A, B,…F. Тогда стандартная память занимает от 0 до 9. Следующие 384 КВ зарезервированы для системного использования и называются верхними блоками памяти (UMB, Upper Memory Blocks). Эта область памяти резервируется:

· под видеопамять;

· под модули ROM BIOS;

· под ROM VGA/SVGA, HD BIOS.

Существует область памяти, называемая областью верхней памяти HMA (High Memory Area), расположенная за 1 МВ (за системным ROM BIOS) и имеющая размер 64 КВ (без 16 байт), которая доступна в реальном режиме работы процессоров, начиная с 286, и образовалась она в результате не совсем корректно спроектированной эмуляции процессора 8088 при отмене циклического перехода от старших адресов к младшим. Эта память может использоваться для размещения ядра ОС (начиная с версии DOS 5.0 и выше) и драйверов устройств.

Оставшаяся память носит название расширенной памяти (EMA) и используется она обычно для создания виртуального диска, кэширования винчестера, для создания теневых ROM BIOS, в режиме эмуляции как отображаемая, а также пользовательскими программами через прерывания ВIOS.

Как использовать память в адресах старше 1 МВ:

· EMA используется как отображаемая через окно в область UMB, где всегда есть неиспользуемые адреса. В этой области формируется окно в 64 КВ, которое отображается по EMS-спецификации за счет смещения в EMA память. Может поддерживать до 32 МВ и используется обычно для хранения данных. Используется под управлением драйвера EMM###.SYS в защищенном режиме работы процессора.

· HMA/UMB: Эта память доступна в реальном режиме работы МП. Программную поддержку обеспечивает драйвер HIMMEM.SYS в соответствии со спецификацией XMS (eXtended Memory Specification) фирмы Microsoft. С областями этой памяти драйвер может работать, если этим адресам соответствует оперативная память.

При установлении дополнительных периферийных устройств про эту область памяти необходимо помнить, чтобы не было конфликтов. Поскольку речь идет об интеллектуальных устройствах, то они, как правило, "сами разбираются”, как использовать UMB. Но при конфликтах приходится выяснять, почему происходят сбои в работе с помощью специальных утилит, анализирующих распределение памяти.

Загрузка...