Читайте также: |
|
Оверлей — буквально «лежащий сверху» или просто «перекрытие». Это способ загрузки и выполнения программ, при котором в ОП загружается не вся программа, а только та её часть, которая необходима для выполнения какого-либо этапа её работы. По завершении этого этапа на её место загружается другая часть программы (перекрывает первую часть), и работа программы продолжается.
Несмотря на определённое сходство между задачами, решаемыми механизмом перекрытий и виртуальной адресацией, одно не является разновидностью другого. При виртуальной адресации решается задача отображения большого адресного пространства в ограниченную оперативную память. При использовании оверлея решается задача отображения большого количества объектов (модулей программы) в ограниченное адресное пространство.
Основная проблема при оверлейной загрузке состоит в следующем: прежде чем ссылаться на оверлейный адрес, надо понять, какой из оверлейных модулей в данный момент там находится. Эта проблема обычно решается построением дерева зависимостей оверлейных модулей и требованием, что каждый дочерний модуль может быть вызван только из своего родительского модуля. Передача управления из одного дочернего модуля другому может быть осуществлена только через родительский модуль (а если модули не являются дочерними модулями одного родительского, то через родительский модуль родительских модулей этих модулей).
Собственно передача управления и при необходимости загрузка оверлейных модулей может быть реализована как через вызов специальной службы ОС, так и без привлечения ОС с использованием специального программного модуля — менеджера оверлея, — включаемого в состав прикладной программы из специальной библиотеки на этапе редактирования связей.
Распределение кода программы по оверлейным модулям и определение дерева зависимости оверлейных модулей обычно возлагается на программиста. Преимущества применения программ с оверлейной структурой особенно заметны на системах с малой ОП. За счёт перекрытия разными модулями одного адресного пространства удаётся разрабатывать и выполнять программы, которые полностью в ОП не помещаются.
Недостатками оверлейного программирования являются:
- сложность программирования — построение структуры программы возлагается на программиста;
- не каждую программу можно эффективно закодировать с применением оверлея — в программе должны просматриваться независимо выполняющиеся части;
- на перезагрузку оверлеев (операция дискового ввода-вывода) тратится заметное время — программа выполняется медленнее, чем без применения оверлея.
Дата добавления: 2015-07-20; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Оптимизация работы вычислительной системы | | | Раскручивающиеся загрузчики. Назначение. Принцип многоступенчатой загрузки ОС |