Дополнительная память
С появлением MS DOS были разработаны более мощные процессоры, которые позволяли адресовать адресное пространство, большее 1М. Но пользы от этого на компьютерах с ОС DOS для пользователя и программ никакой не было. Начиная с версии 3.3 были разработаны ряд спецификаций, расширяющих предел основной предел DOS. Наиболее известны из них две.
Отображаемая память
Принцип действия EMS основан на техническом приеме, известном как замещение страниц: внутри UMA, используемой не полностью, выделяется 64-Кбайт окно, в котором отображаются четыре произвольных 16-Кбайт страницы дополнительной памяти, необходимые в данный момент. Тем самым, микропроцессор с помощью виртуальной адресации обращается к хранимым в окне данным. Отображение страниц дополнительной памяти в окне можно интерпретировать как отображение логических адресов в физические.
Спецификация EMS допускает страницы нестандартного размера (большие или меньшие 16К), но такие, чтобы в одной нестандартной странице содержалось целое число стандартных.
EMS может поддерживаться на любых IBM-совместимых компьютерах. Для этого необходимо иметь расширенную память и программный драйвер, который управляет отображаемой памятью – администратор отображаемой памяти (EMM – .Expanded Memory Manager), входящий в комплект DOS в виде программы Emm386.exe.
Отображаемая память весьма медлительна, поскольку требуется частое переключение страниц и используется редко.
Расширенная память
Способ использования дополнительной памяти, принятый в XMS, отличается как от EMS, так и от подхода, воплощенного в концепцию виртуального диска. Технически доступ к расширенной памяти осуществляется путем переключения МП из реального в защищенный режим работы, где вся память может адресоваться без каких-либо трудностей.
Выделение расширенной памяти, аналогично отображаемой памяти, осуществляется блоками (EMB – Extended Memory Block) и по специальному запросу от программ. программа, запросившая блок расширенной памяти, получает в свое распоряжение обработчик и пользуется им при доступе к блоку памяти.
