У ПК архитектуры Intel/IBM PC распределение оперативной в реальном режиме работы процессора имеет следующую структуру.
Максимальный объем при реальном режиме работы процессоров составляет величину равную 1 Мб. При этом 640 Кб выделяется рабочим программам (рабочая память), а остальные 384 Кб – системная область для BIOS, видеопамяти и других компонентов.
Рис.3.1. Распределение памяти в реальном режиме работы.
Для использования прикладными программами оперативной памяти свыше 640Кб служат различные технологи.
Дополнительная память (Expanded Memory Specification – EMS). Обеспечивает доступ к оперативной памяти свыше 1Мб. Доступ предоставляется через дополнительное «окно» размером 64Кб, разделенное на 4 страницы по 16Кб. Создается «окно» в области 384 Кб.
В системной памяти (участок 384Кб) есть свободные блоки. Общий размер блоков составляет значение около 100 Кб. Такие блоки – UMB (Upper Memory Block) – блоки верхней памяти. Их можно использовать для загрузки резидентных программ и подключаемых драйверов устройств.
Рис.3.2. Структура памяти компьютера IBM PC. EMS и XMS память.
За пределами 1Мб находится область расширенной памяти (XMS память). Эта оперативная память доступна только в защищенном режиме работы процессора. Непосредственно к 1Мб оперативной памяти примыкает сегмент старшей памяти (HMA – High Memory Area). Он, адресуется в реальном режиме работы процессора Intel с помощью специальной адресной линии А20. Это сегмент можно использовать для переноса в него ядра ОС из области рабочей памяти.
Для управления памятью используются:
Драйвер Himem.sys
Драйвер Emm386.exe
Первый драйвер позволяет использовать XMS и XMA память.
Второй драйвер обеспечивает использование UMB и EMS памяти. При запуске драйвера могут указываться параметры:
RAM, создавать EMS память и использовать UMB блоки.
Допускается указывать размер EMS памяти в килобайтах.
NOEMS, использовать UMB блоки.
В конфигурационном файле используют команды:
DOS = HIGH, перенос ядра в HMA.
DOS = UMB, использовать UMB блоки.
DEVICEHIGH – загружать драйвер в UMB.
Пример файла конфигурации:
DOS=HIGH,UMB
FILES=40
BUFFERS=20
DEVICE=C:WINDOWShimem.sys
DEVICE=C:WINDOWSemm386.exe 2048 RAM
NUMLOCK=off
Примечание.
Файл конфигурации предоставляет прикладным программам 2Мб EMS памяти.
Оперативную память персонального компьютера можно использовать для создания дополнительного диска с данными. Работа с таким диском происходит к с обычным диском ЭВМ, но операции ввода – вывода выполняются значительно быстрее. Такие диски называют виртуальными. Для организации такого диска в состав MSDOS включают специальный драйвер RAMDRIVE.SYS.
Для загрузки драйвера используется команда конфигурации:
DEVICE=PATHRAMDRIVE.SYS Объем Сектор Файлы
/A | /E
Где:
Объем – объем оперативной памяти в килобайтах, выделяемый для диска. Допустимые значения: от 4 32767. Если значение не указано, то объем равен 64Кб.
Сектор – задает размер сектора. Допустимые значения 128, 256, 512байт. По умолчанию используется последнее значение.
Файлы – число файлов, которые можно включать в корневой каталог диска. Допустимые значения лежат в пределах от 2 до 1024. По умолчанию используется значение равное 64.
/A – виртуальный диск создается в дополнительной памяти.
/E – виртуальный диск создается в расширенной памяти.
Пример создания диска в расширенной памяти размером 2Мб:
DEVICE=A:DOSHIMEM.SYS
DEVICE=A:DOSRAMDRIVE 2048 /E