Логическое распределение оперативной памяти


XMS EMS  

64 K

10000:0000

HMA
UMA (384 K) ROM-BIOS

         64 K

A000:0000

PAGE FRAME

 

Сегмент адаптера

128 K

Conventional

Memory

(640 K)

Основная память
(область прерываний)

        600 K

0000:0000

Драйверы устройств

 

Область данных MS-DOS

        768 B

Таблица векторов прерываний

1 K

Upper Memory Area (UMA)
High Memory Area (HMA)
Expanded Memory Specification (EMS)
Extended Memory Specification (XMS)

Для организации системы необходимо знание строения RAM (ОЗУ), которое зависит от применяемой операционной системы и особенностей аппаратной реализации.

Выделяют 5 важнейших областей оперативной памяти:

Стандартная оперативная память (Conventional memory)
EMS
UMA
HMA
XMS

Адресация памяти происходит по 16-ричным адресам, состоящим из сегмента и смещения.

Сегмент - это номер 16-байтного блока памяти.

Смещение - смещение от начала сегмента.

Пример:

0040h:0010h

Стандартная оперативная память начинается с адреса 0000:0000 и заканчивается адресом А000:0000

Первые 1024 байта оперативной памяти занимает таблица векторов прерываний (256 элемента по 4 байта).

Векторы прерываний - адреса сервисных программ, входящих в состав оперативной системы и BIOS.

Область данных BIOS занимает 768 байтов (буфер клавиатуры, счётчик таймера и др.). Далее следует ядро BIOS (драйверы устройств). Далее в основной области памяти (600 K) могут располагаться резидентные программы и др., программы пользователя и файлы данных, используемые ими.

В UMA размещаются видеопамять ROM-BIOS и некоторые свободные блоки (UMS). Сегмент адаптера - 128Kb (А000:0000 - С000:0000)

ROM-BIOS - последние 64 Kb.

Программы, которым требуются больше, чем 640 K, используют EMS. Для этого используется стандарт, основанный на переключении блоков (страниц) памяти. Он использует окно PAGE FRAME размером 64 Кb (4 страницы по 16 K). Для отображения физических страниц, располагающихся в дополнительной памяти (ЕMS).

Для того, чтобы использовать ЕМS-память необходимо:

  1. Чтобы прикладные программы умели обращаться к драйверу EMS - памяти.
  2. Необходим менеджер памяти EMM, который организует страници и управляет ими.

DEVICE = c:\dos\EMM.exe : 1024

HMA занимает 64 Кb, непосредственно выше границы. С помощью HIMEM.SYS в HMA можно загрузить резидентную часть DOS.

Резидентная программа - программа, которая остаётся в памяти после реализации.

XMS - память свыше границы 1М (включая HMA). Чтобы иметь доступ к этой памяти, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной память в расширенную и обратно.

DEVICE = с:\dos\HIMEM.sys : 1024

Категория: