Верхняя область памяти


Верхняя область памяти

Upper Memory Area (UMA, неформально верхняя память) — это 384 килобайт памяти, расположенных между адресами А0000h (640 Кб) и до FFFFFh (1024 Кбайт, 1 Мбайт). Является особенностью архитектуры IBM PC-совместимого компьютера.

Содержание

Зарезервированная область памяти

IBM PC для ПЗУ материнской платы и дополнительных устройств и ОЗУ, а так же портов ввода-вывода, адресуемых как память (Memory-Mapped Input/Output). Эта область памяти называется UMA и находится между адресами A0000 (640 Кбайт) и FFFFF (1 Мбайт).

Например, в этой области памяти находятся ОЗУ и ПЗУ EGA-совместимого видеоадаптера и окно отображения расширенной памяти.

Верхняя память условно разделена на три области по 128 Кбайт. Стандартное распределение верхней памяти выглядит таким образом:

  • A0000h…BFFFFh — 128 Кбайт, отведено под видеопамять, чаще всего используется не полностью.
  • C0000h…DFFFFh — 128 Кбайт, загружаются программы BIOS адаптеров (Adapter ROM, Adapter RAM).
  • E0000h…FFFFFh — 128 Кбайт, отведено под использование системного

Использование свободной верхней памяти

В реальной системе не вся зарезервированная область памяти оказывается занятой. Компьютеры, оснащённые процессором Intel 80386 и выше, способны отображать дополнительную память на свободные участки зарезервированной памяти.

Таким образом, формируются блоки верхней памяти (Upper Memory Block, UMB).

Оставшаяся свободная верхняя память с помощью специального драйвера (например, EMM386.EXE) могла отдаваться для нужд ОС и называлась расширенная память.

devicehigh и loadhigh.

Чтобы активировать функцию управления UMB, надо включить в файл

device = HIMEM.SYS
device = EMM386.EXE
dos = UMB
devicehigh = ... (этот драйвер будет загружен в UMB)

Резидентные программы также могут загружаться в UMB. Для этого служит команда loadhigh.

Кроме того, любое приложение может самостоятельно перенести себя или часть своих данных в UMB, воспользовавшись функцией DOS 58xx.

Однако следует помнить, что не любое приложение способно корректно работать в UMB.

Также следует помнить, что во время загрузки приложение обычно занимает несколько больше памяти, чем его резидентная часть. резидентных программ, а так же воспользоваться расширенным синтаксисом команд devicehigh и loadhigh.

Трудности перевода

Слово англ. Upper обычно переводят на русский как верхний. Но и слово англ. High переводится как верхний. С этим связано множество ошибок перевода на раннем этапе внедрения понятий Upper Memory Area / Upper Memory Block и High Memory Area.

В результате в русскоязычной литературе по прежнему используются оригинальные англоязычные написания — UMB и HMA, а аббревиатура UMA вообще не прижилась.

См. также


Wikimedia Foundation. 2010.