Создание полноценной прикладной среды, полностью совместимой со средой другой операционной системы, является задачей, тесно связанной со структурой операционной системы. Существуют различные варианты построения множественных прикладных сред, отличающиеся как особенностями архитектурных решений, так и функциональными возможностями, обеспечивающими различную степень переносимости приложений.
Один из наиболее очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС и обеспечивает трансляцию системных вызовов.
На рисунке 6 операционная система OS1 поддерживает кроме своих приложений приложения операционных систем OS2 и OS3.
Для этого в ее составе имеются специальные приложения - прикладные программные среды.
В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных программных интерфейсов (рисунок 7). В приведенном примере операционная система поддерживает приложения для OS1, OS2 и OS3.
Для этого непосредственно в пространстве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.
Рисунок 7 - Реализация совместимости на основе нескольких равноправных API
Еще один способ построения множественных прикладных сред основан на микроядерном подходе. В соответствии с микроядерной архитектурой все функции ОС реализуются микроядром и серверами пользовательского режима. Каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рисунок 8).
Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:
- очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;
- надежность и стабильность выражаются в том, что при отказе одной из прикладных сред все остальные сохраняют работоспособность;
- низкая производительность микроядерных ОС сказывается на скорости работы прикладных сред, а значит, и на скорости выполнения приложений.
Рисунок 8 - Микроядерный подход к реализации множественных прикладных сред
Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС - путь, который позволяет иметь единственную версию программы и переносить ее между ОС.