Расширенная память
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( июнь 2016 г. ) |

В управлении памятью DOS расширенная память относится к памяти выше первого мегабайта (2 мегабайта). 20 байт) адресного пространства IBM PC или совместимого с 80286 или более поздней версии процессором . Этот термин в основном используется в DOS и Windows операционных системах . Программы DOS, работающие в реальном режиме или виртуальном режиме x86 , не могут напрямую обращаться к этой памяти, но могут делать это через интерфейс прикладного программирования (API), называемый спецификацией расширенной памяти (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 попытается выделить их все и управлять ими самостоятельно.
См. также
[ редактировать ]- Управление памятью 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 .
- База знаний Майкрософт
- Общее руководство по различным формам памяти
- Обзор функций управления памятью в MS-DOS
- Утилита диагностики Microsoft: определение SXMS