Upper Memory Area
Upper Memory Area (UMA), Upper Memory Blocks (UMB), неформально верхняя память — 384 Кб памяти, расположенных между адресами А0000h (640 Кб) и FFFFFh (1024 Кбайт, 1 Мбайт). Особенность архитектуры IBM PC.
Зарезервированная область памяти
IBM зарезервировала верхнюю область памяти своего компьютера 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 Кбайт, отведено под использование системного BIOS, но в большинстве случаев используется не полностью (чаще всего заняты последние 64 Кбайт).
Использование свободной верхней памяти
В реальной системе не вся зарезервированная область памяти оказывается занятой. Компьютеры, оснащённые процессором Intel 80386 и выше, способны отображать дополнительную память на свободные участки зарезервированной памяти.
Таким образом, формируются блоки верхней памяти (Upper Memory Block, UMB).
Оставшаяся свободная верхняя память с помощью специального драйвера (например, EMM386.EXE) могла отдаваться для нужд ОС и называлась расширенная память.
MS-DOS, начиная с версии 5.0, поддерживает управление UMB. Для этого в её состав включены драйверы HIMEM.SYS и EMM386.EXE и команды devicehigh и loadhigh.
Чтобы активировать функцию управления UMB, надо включить в файл CONFIG.SYS строки:
device = HIMEM.SYS
device = EMM386.EXE
dos = UMB
devicehigh = ... (этот драйвер будет загружен в UMB)
Резидентные программы также могут загружаться в UMB. Для этого служит команда loadhigh.
Кроме того, любое приложение может самостоятельно перенести себя или часть своих данных в UMB, воспользовавшись функцией DOS 58xx.
Однако следует помнить, что не любое приложение способно корректно работать в UMB.
Также следует помнить, что во время загрузки приложение обычно занимает несколько больше памяти, чем его резидентная часть. MS-DOS как правило выделяет блок максимального размера. В результате UMA оказывается сильно фрагментированной и, несмотря на то, что общий объём свободной UMA больше необходимого, приложение может не поместиться ни в один свободный UMB. Для оптимального заполнения UMA опытный администратор может подобрать правильный порядок загрузки драйверов и резидентных программ, а так же воспользоваться расширенным синтаксисом команд devicehigh и loadhigh.
Трудности перевода
Слово англ. Upper обычно переводят на русский как верхний. Но и слово англ. High переводится как верхний. С этим связано множество ошибок перевода на раннем этапе внедрения понятий Upper Memory Area / Upper Memory Block и High Memory Area.
В результате в русскоязычной литературе по прежнему используются оригинальные англоязычные написания — UMB и HMA, а аббревиатура UMA вообще не прижилась.
См. также
- Оперативная память
- Основная область памяти
- Расширенная память (EMS)
- Дополнительная память (XMS)
- High Memory Area (HMA)
ca:Àrea de memòria superior de:Upper Memory Block en:Upper memory area es:Área de memoria superior it:Upper Memory Area ja:Upper Memory Area ko:상위 메모리 영역
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....