Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Расширенная память расположена выше 1 МБ.

В управлении памятью DOS , расширенной памяти относится к памяти выше первого мегабайта (2 20 байт) из адресного пространства в качестве IBM PC или совместимых с 80286 или более поздней версии процессора . Этот термин в основном используется в операционных системах DOS и Windows . Программы DOS, работающие в реальном режиме или виртуальном режиме x86 , не могут напрямую обращаться к этой памяти, но могут делать это через интерфейс прикладного программирования, называемый спецификацией расширенной памяти.(XMS). Этот API реализуется драйвером (например, HIMEM.SYS ) или операционной системой, которая заботится об управлении памятью и копировании памяти между обычной и расширенной памятью путем временного переключения процессора в защищенный режим . В этом контексте термин «расширенная память» может относиться либо ко всей расширенной памяти, либо только к ее части, доступной через этот API.

К расширенной памяти также могут напрямую обращаться программы DOS, работающие в защищенном режиме с использованием VCPI или DPMI , двух (разных и несовместимых) методов использования защищенного режима под DOS.

Расширенную память не следует путать с расширенной памятью (EMS), более ранним методом расширения емкости памяти IBM PC за пределы 640 кБ (655360 байт) с помощью карты расширения с модулями памяти с переключением банков . Из-за доступной поддержки расширенной памяти в популярных приложениях были разработаны драйверы устройств, имитирующие расширенную память с использованием расширенной памяти. Позже были разработаны два дополнительных метода, позволяющих получить прямой доступ к небольшой части расширенной памяти из реального режима. Эти области памяти называются областью верхней памяти (HMA) и областью верхней памяти (UMA; также называются блоками верхней памяти или UMB).

Обзор [ править ]

На компьютерах на базе x86 расширенная память доступна только с процессором Intel 80286 или выше. Только эти чипы могут адресовать более 1 мегабайта оперативной памяти . Ранее 8086 / 8088 процессоров могут использовать более 1 МБ оперативной памяти , если один использует специальное оборудование , чтобы сделать выбираемые части из окажись по адресам ниже 1 МБ.

На ПК 286 или лучше, оборудованном более 640 КБ ОЗУ, дополнительная память обычно будет повторно отображена выше границы 1 МБ, поскольку архитектура IBM PC резервирует адреса от 640 КБ до 1 МБ для системного ПЗУ и периферийных устройств.

Расширенная память недоступна в реальном режиме (за исключением небольшой части, называемой областью верхней памяти ). Только приложения, выполняющиеся в защищенном режиме, могут напрямую использовать расширенную память. Операционная система контролирующего защищенного режима, такая как Microsoft Windows, управляет доступом прикладных программ к памяти. Процессор делает эту память доступной через глобальную таблицу дескрипторов (GDT) и одну или несколько таблиц локальных дескрипторов.(ЛДЦ). Память «защищена» в том смысле, что сегменты памяти, которым назначен локальный дескриптор, не могут быть доступны другой программе, поскольку эта программа использует другой LDT, а права доступа к сегментам памяти, которым назначен глобальный дескриптор, могут быть ограничены, вызывая исключение процессора (например , общая ошибка защиты или GPF) при нарушении. Это предотвращает взаимодействие программ, работающих в защищенном режиме, с памятью друг друга.

Операционная система защищенного режима, такая как Microsoft Windows, также может запускать программы в реальном режиме и предоставлять им расширенную память . Интерфейс защищенного режима DOS (DPMI) - это метод, предписанный Microsoft для программы DOS для доступа к расширенной памяти в многозадачной среде.

Спецификация расширенной памяти (XMS) [ править ]

Спецификация расширенной памяти ( XMS ) - это спецификация, описывающая использование расширенной памяти IBM PC в реальном режиме для хранения данных (но не для запуска в ней исполняемого кода). Память предоставляется программным обеспечением расширенного диспетчера памяти ( XMM ), таким как HIMEM.SYS . Функции XMM доступны через функцию программного прерывания 2Fh 4310h.

Версия XMS 2.0, выпущенная в июле 1988 г., позволяла использовать до 64 МБ памяти, в версии XMS 3.0 она увеличилась до 4 ГБ (2 32 байта). Чтобы различать, возможно, разный объем памяти, который может быть доступен приложениям, в зависимости от того, для какой версии спецификации они были разработаны, последняя может называться сверхрасширенной памятью ( SXMS ).

Диспетчер расширенной памяти также отвечает за управление выделениями в области верхней памяти (HMA) и области верхней памяти (UMA; также называемые блоками верхней памяти или UMB). На практике область верхней памяти будет предоставлена диспетчером расширенной памяти (EMM), после чего DOS попытается выделить их все и управлять ими самостоятельно.

См. Также [ править ]

  • Управление памятью DOS
  • Обычная память
  • Расширенная память (EMS)
  • Область верхней памяти (HMA)
  • Верхняя область памяти (UMA)
  • Глобальная спецификация импорта EMM (GEMMIS)
  • Нереальный режим

Ссылки [ править ]

Характеристики
  • Microsoft , Lotus , Intel и AST Research (19 июля 1988 г.). Спецификация расширенной памяти (XMS), версия 2.0 .
  • Microsoft, Lotus, Intel и AST Research (январь 1991 г.). Спецификация расширенной памяти (XMS), версия 3.0 .
База знаний Майкрософт
  • «Общее руководство по различным формам памяти» . Поддержка . Microsoft .[ мертвая ссылка ]
  • «Обзор функций управления памятью в MS-DOS» . Поддержка . Microsoft .[ мертвая ссылка ]
  • «Диагностическая программа Microsoft: определение SXMS» . Поддержка . Microsoft .[ мертвая ссылка ]

Внешние ссылки [ править ]

  • Спецификация расширенной памяти (XMS)