Overlay (программирование)

Overlay (программирование)

Overlay (оверлей) — метод программирования, позволяющий создавать программы, занимающие больше памяти, чем установлено в системе. Встроенные компьютеры часто используют оверлеи, так как обычно Система на кристалле содержит мало памяти и не поддерживает виртуальную память.

Содержание

Использование

Метод предполагает разделение программы на фрагменты, называемые оверлеями (overlays). Размер каждого оверлея ограничен, согласно размеру доступной памяти. Место в памяти, куда будет загружен оверлей называется регионом (region, destination region). Хотя часто программы используют только один блок памяти для загрузки различных оверлеев, возможно определение нескольких регионов различного размера. Менеджер оверлеев, иногда являющийся частью ОС, подгружает запрашиваемый оверлей из внешней памяти (НЖМД, флеш-память, ППЗУ) в регион. Некоторые редакторы связей (линкеры) поддерживают работу с оверлеями.[1]

Программирование с применением оверлеев требует от программиста внимательного отношения к размеру каждой части программы. Из-за этого часто используются низкоуровневые языки и ассемблер, которые позволяют ограничивать размеры программы и оверлеев. Программирование при помощи оверлеев является более сложным, чем при использовании виртуальной памяти.

Оверлеи в PC/MS DOS

Во времена DOS, оверлеи были популярны, так как операционные системы и большинство компьютеров не обеспечивали работу с виртуальной памятью. Изначально, IBM PC даже не использовал НЖМД, таким образом единственным вторичным устройством хранения являлся НГМД 5-1/4".

Ранние IBM PC имели очень мало ОЗУ по современным меркам. Тогда как дискеты 5-1/4" могли хранить 360 килобайт, ОЗУ компьютеров 1981—1985 годов было, в основном, еще меньше (64, 128 или 256 килобайт, иногда 384 кб). Первые модели IBM PC имели от 16 до 64 кб. Наибольший объем памяти, который можно было установить в систему без специальных технологий, был ограничен 640K. Для больших объемов требовалось использовать стандарты EMS (expanded memory) и XMS (extended memory) и устанавливать дополнительную память на картах ISA. Таким образом, для больших программ приходилось использовать оверлеи.[2] В DOS двоичные файлы, содержащие оверлеи часто имели расширение .OVL

Примечания

  1. The GNU Linker documentation: Overlay Description (June 3, 2008). Архивировано из первоисточника 13 августа 2012.
  2. ovl ext :: all about the .ovl file type

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Overlay (программирование)" в других словарях:

  • I/O request packet — IRP пакет (англ. I/O request packet)  структура данных ядра Windows, обеспечивающая обмен данными между приложениями и драйвером, а также между драйвером и драйвером. Содержание 1 Общий обзор механизма IRP 2 Структ …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»