stringtranslate.com

Расширенная память

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

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

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

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

Обзор

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

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

Расширенная память недоступна в реальном режиме (за исключением небольшой части, называемой областью верхней памяти ). Только приложения, работающие в защищенном режиме , могут напрямую использовать расширенную память. Контролирующая операционная система защищенного режима , такая как Microsoft Windows, управляет доступом прикладных программ к памяти. Процессор делает эту память доступной через глобальную таблицу дескрипторов (GDT) и одну или несколько таблиц локальных дескрипторов (LDT). Память «защищена» в том смысле, что к сегментам памяти, которым присвоен локальный дескриптор, не может быть доступна другая программа, поскольку эта программа использует другой 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 попытается выделить их все и управлять ими самостоятельно.

Смотрите также

Рекомендации

Технические характеристики
База знаний Майкрософт

Внешние ссылки