Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Множественные прикладные среды и совместимость




Архитектурные особенности ОС непосредственно касаются программистов. С другой стороны, концепция множественных прикладных средств непосредственно сопряжены с нуждами конечного пользователя системы: возможность ОС выполнять приложения, написанные для других ОС. Такое свойство ОС называется совместимостью.

Современное приложение может храниться в виде двоичных кодов или в виде исходных текстов. Приложения обычно хранятся в ОС в виде исполняемых файлов, содержащих двоичные образы кодов и данных. Двоичная совместимость достигается в том случае, если можно взять исполнимую программу и запустить её на выполнение в среде чужеродной ОС.

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

Самый главный фактор совместимости — архитектура процессора.

Необходимое и достаточное условия двоичной совместимости. Достаточно чтобы различные процессоры используют один и тот же набор базовых команд и один и тот же диапазон адресов. В этом случае для достижения двоичной совместимости необходимо соблюдение условий:

· API, которые использует приложение, должны поддерживаться данной ОС;

· Внутренняя структура исполняемого файла приложения должна соответствовать структуре исполняемых файлов данной ОС, по крайней мере, не противоречить ей.

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

Эмуляция не представляет принципиальной трудности, но ведёт к большим затратам времени, поскольку одна команда исходного процессора выполняется существенно быстрее, чем эмулирующий набор команд конечного. Выходом в таком случае является использование прикладных программных сред или операционных сред. Одной из составляющих такой среды является набор функций интерфейса прикладного программирования API, который ОС предоставляет своим приложениям. Для сокращения времени выполнения чужих программ прикладные среды имитируют обращение к библиотечным функциям.

Эффективность этого подхода связана с тем, что большинство программ работают с использованием GUI (графический интерфейс пользователя), при этом приложения тратят 50…80% времени на выполнение функций GUI (отрисовка элементов интерфейса, реакция на интерфейсные события). Это свойство приложений помогает прикладным средам компенсировать большие затраты времени на эмуляцию.

Описанный выше подход называется кроссплатформенной трансляцией.

Замечание. При осуществлении трансляции необходимо учитывать особенности исходной и конечной ОС. Некоторые разрешенные в исходной ОС операции могут быть запрещены в конечной ОС.


 


Поделиться:

Дата добавления: 2015-09-13; просмотров: 53; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты