Upper Memory Area

Upper Memory Area

Upper Memory Area (UMA), Upper Memory Blocks (UMB), неформально верхняя память — 384 килобайта памяти, расположенные после основной памяти по адресам от А000016 (640 Кб) до FFFFF16 (1024 Кбайт, 1 Мбайт). Особенность архитектуры IBM PC.

Содержание

Описание

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

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

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

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

Использование

В реальной системе не вся зарезервированная область памяти (UMA) оказывается распределена. Компьютеры с процессором 80386 и выше способны отображать дополнительную память на свободные участки UMA. Таким образом формируются блоки верхней памяти (Upper Memory Block, UMB), которые могут отдаваться под контроль ОС и распределяться между приложениям.

MS-DOS 5.0 и выше поддерживает управление UMB. Для этого в её состав входят драйверы HIMEM.SYS и EMM386.EXE (с помощью которых на UMA отображается дополнительная память) и команды dos=umb, devicehigh и loadhigh. Чтобы отобразить дополнительную память на UMA и активировать функции управления UMB, надо добавить в файл CONFIG.SYS следующие строки:

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

Резидентные программы могут загружаться в UMB с помощью loadhigh. Однако не все приложения корректно работают, будучи загруженными в UMB.

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

Поскольку во время загрузки приложение может занимать больше памяти, чем его резидентная часть, в DOS, как правило, выделяется блок максимального размера.[1] В результате UMA оказывается сильно фрагментированной и, даже если суммарный объём свободной памяти в блоках будет больше необходимого, приложение может не поместиться ни в один свободный блок. Для оптимального заполнения UMA должен подбираться порядок загрузки драйверов и резидентных программ и задействован расширенный синтаксис команд devicehigh и loadhigh (с помощью которого можно указывать, в какой блок загружать программу).

Путаница названий

Слово англ. upper обычно переводят на русский как «верхний» («расположенный наверху»[2]), но и слово high может переводиться как «верхний» (или «высокий» — «находящийся вверху»[3]). С этим связано множество коллизий при переводе названий Upper Memory Area (Upper Memory Block) и High Memory Area.

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

Примечания

  1. В заголовке .EXE-файлов имеются поля для указания минимальной и максимальной запрашиваемой памяти; при загрузке программы DOS подбирает для неё наибольший блок, чей размер находится между этим двумя значениями. Но, как правило, в поле максимальной памяти находится значение, говорящее о выделении всей доступной памяти, а в этом случае DOS не ограничивает размер выделяемых блоков. У .COM-файлов нет заголовка, поэтому требование на максимальный блок памяти программы в таком формате подразумевается.
  2. upper в Яндекс.словарях
  3. high в Яндекс.словарях

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Upper Memory Area" в других словарях:

  • Upper Memory Area —   [Abk. UMA, dt. oberer Speicherbereich] die, der Adressbereich zwischen den Speicheradressen 640 KByte und 1023 KByte (0xA000 0xFFFF) im Arbeitsspeicher bei DOS bzw. älteren Windows PCs. Unter DOS konnte ein Rechner maximal ein Megabyte… …   Universal-Lexikon

  • Upper Memory Area — The Upper Memory Area (UMA) is a design feature of IBM PC compatible x86 computers that was responsible for the 640 KB barrier.Reserved memory spaceIBM reserved the uppermost region of the PC memory map for ROM, RAM on peripherals and memory… …   Wikipedia

  • Upper Memory Area — UMB (Upper Memory Block, englisch für „oberer Speicherblock“) ist ein Begriff aus der Speicherverwaltung von DOS und bezeichnet die frei nutzbaren Bereiche im UMA (Upper Memory Area, englisch für „oberer Speicherbereich“) oberhalb des… …   Deutsch Wikipedia

  • upper memory area — area in the memory between 640K and one megabyte …   English contemporary dictionary

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

  • Upper Memory Block —   [Abk. UMB, dt. »Block im oberen Speicher«] der, Upper Memory Area …   Universal-Lexikon

  • Upper Memory Block — UMB (Upper Memory Block, englisch für „oberer Speicherblock“) ist ein Begriff aus der Speicherverwaltung von DOS und bezeichnet die frei nutzbaren Bereiche im UMA (Upper Memory Area, englisch für „oberer Speicherbereich“) oberhalb des… …   Deutsch Wikipedia

  • High Memory Area — High Memory Area, HMA  начальный участок дополнительной памяти объёмом 65520 байт (64 килобайта минус 16 байт) с адресами от 10000016 до 10FFEF16 (сразу после Upper Memory Area), доступный в реальном режиме через верхние сегменты адресного… …   Википедия

  • High Memory Area — The High Memory Area (HMA) is the RAM area consisting of the first 64 kibibytes (KiB), minus 16 bytes, of the extended memory on an IBM PC or compatible microcomputer.In real mode, the segmentation architecture of the Intel 80286 and subsequent… …   Wikipedia

  • High Memory Area — Der Begriff High Memory Area bezeichnet bei einem x86 kompatiblen Prozessor die ersten 65520 Byte oberhalb der 1 MB Grenze. Die deutsche Übersetzung hoher Speicherbereich ist gebräuchlich, aber auch im deutschen Sprachraum wird zumeist… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»