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

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

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

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

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

Оверлеи в 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. Спорный метод для тяжёлых СУБД , требующий дополнительных инвестиций. Как финансовых, так и интеллектуальных.

Выход был найден. Часть кода оставалась в оперативной памяти (основная программа, часто используемые библиотеки, оверлейная часть), а остальное перегружалось оверлейной частью — блоки обработки и загрузки процедур и функций в оперативную память, по мере надобности, чем и занималась программа обработки оверлеев. Логистика компоновки оверлеев требовала понимания — что, куда и где можно оставить, так-как применение процедуры из другого оверлея приводило к смене оверлея, потере переменных и прочим багам, особенно учитывая ограничение оперативной памяти.

Таким образом, для больших программ приходилось использовать оверлеи. В DOS двоичные файлы, содержащие оверлеи, часто имели расширение .OVL

Примечания

  1. (3 июня 2008). 12 августа 2012 года.
  2. . www.cryer.co.uk. Дата обращения: 27 июня 2016. 2 октября 2009 года.

См. также

Источник —

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