Верхняя память (Upper Memory Area — UMB)
Верхняя память (Upper Memory Area — UMB) представляет собой 384 Кбайт, зарезервиро
ванных у верхней границы системной памяти для компьютеров класса PC/XT и у верхней
границы первого мегабайта памяти для компьютеров AT. Адреса этой области находятся
в пределах от A0000 до FFFFF.
Верхняя память разделена на несколько частей.
-
Первые 128 Кбайт, расположенные сразу после основной памяти, являются областью
видеопамяти и предназначены для использования видеоадаптерами. Когда на экран
выводится текст или графика, в этой области хранятся образы изображений. Видеопа
мять занимает адреса A0000–BFFFF.
-
Следующие 128 Кбайт отведены для программ BIOS адаптеров, которые записаны
в микросхемах ROM на соответствующих платах, установленных в разъемы расшире
ния. Большинство видеоадаптеров VGA и совместимых с ними адаптеров используют
для своих программ BIOS первые 32 Кбайт из этой области, а оставшаяся ее часть дос
тупна для других устройств. Некоторые сетевые адаптеры используют эту область
в качестве памяти специального назначения. Для ROM адаптеров и специальной
памяти отведены адреса C0000–DFFFF.
- Оставшиеся 128 Кбайт зарезервированы для системной BIOS, которая записана в микросхемах ROM или RAM. В этой же области хранятся программа POST и на чальный системный загрузчик, который управляет компьютером до запуска операци онной системы. В большинстве компьютеров используются только последние 64 Кбайт этого пространства (или меньше), а первые 64 Кбайт с помощью программ — диспетчеров памяти могут быть перераспределены для нужд операционной системы. В некоторых системах в этой области также размещена программа Setup CMOS. Для системной BIOS отведены адреса E0000–FFFFF.
В большинстве компьютеров класса AT использовались не все зарезервированные
384 Кбайт. Например, в соответствии со стандартом IBM зарезервированная видеопамять начи
нается с адреса A0000, т.е. сразу за границей основной памяти. Эта область используется стан
дартными режимами VGA, в то время как монохромные и цветные текстовые режимы исполь
зуют соответственно диапазоны адресов B0000–B7FFF и B8000–BFFFF. В старых адаптерах (не
VGA) используется только сегмент B000. Объем памяти зависит от типа и режима работы ви
деоадаптера. Однако процессор определяет видеопамять как одну область размером 128 Кбайт.
При этом неважно, какой объем памяти установлен собственно видеоадаптером.
Хотя верхние 384 Кбайт первого мегабайта вначале были названы резервной памятью,
в незанятые участки этой области можно загрузить 16разрядные драйверы (например,
Ansi.sys) или резидентные программы (например, Mouse.com), что позволяет освободить
часть основной памяти для других нужд. Объем свободного пространства верхней памяти
может быть различным для разных компьютеров; все зависит от того, какие платы адаптеров
установлены. Например, большинство сетевых адаптеров и адаптеров стандарта SCSI исполь
зуют часть этой памяти в своих целях.