Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Создание полноценной прикладной среды, полностью совместимой со средой другой операционной системы, является достаточно сложной задачей, тесно связанной со структурой операционной системы. Существуют различные варианты построения множественных прикладных сред, отличающиеся как особенностями архитектурных решений, так и функциональными возможностями, обеспечивающими различную степень переносимости приложений.
Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использованием микроядерной концепции, таких как, например, Windows NT, прикладные среды выполняются в виде серверов пользовательского режима. А в операционной системе OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в систему.
Один из наиболее очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС. На рис. 2.7 операционная система ОС1 поддерживает кроме своих «родных» приложений приложения операционной системы ОС2. Для этого в ее составе имеется специальное приложение – прикладная программная среда, которая транслирует интерфейс «чужой» операционной системы –API ОС2 в интерфейс своей «родной» операционной системы – API ОС1.
Приложение ОС2 |
API ОС2 |
Транслятор системных вызовов |
Пользовательский режим
Привилегированный режим
API ОС1 |
Менеджеры ресурсов |
Базовые механизмы |
Машино независимые модули |
Рис. 2.7. Прикладная программная среда,
транслирующая системные вызовы
В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных програм-мных интерфейсов. В приведенном на рис. 2.8 примере операционная си-стема поддерживает приложения, написанные для OС1, OС2 и OС3. Для этого непосредственно в пространстве ядра системы размещены приклад-
ные программные интерфейсы всех этих ОС: API OС1, API OС2 и
API OС3.
Пользовательский режим
API ОС1 | API ОС2 | API ОС3 |
Менеджеры ресурсов | ||
Базовые механизмы | ||
Машино независимые модули |
Привилегированный
режим
Рис. 2.8. Реализация совместимости
на основе нескольких равноправных API
В этом варианте функции уровня API обращаются к функциям нижележащего уровня ОС, которые должны поддерживать все три в общем случае не совместимые прикладные среды. В разных ОС по-разному осуществляется управление системным временем, используется разный формат времени дня, на основании собственных алгоритмов разделяется процессорное время и т.д. Функции каждого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.
Еще один способ построения множественных прикладных сред основан на микроядерном подходе. При этом очень важно отделить базовые, общие для всех прикладных сред, механизмы операционной системы от специфических для каждой из прикладных сред высокоуровневых функций, решающих стратегические задачи.
В соответствии с микроядерной архитектурой все функции ОС реализуются микроядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовые механизмы (рис. 2.9). Приложения, используя API, обращаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходится, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микроядром и другими серверами ОС.
Приложения Серверы ОС
Пользовательский
режим
Привилегированный
режим
Рис. 2.9. Микроядерный подход
к реализации множественных прикладных сред
Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:
очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;
надежность и стабильность выражаются в том, что при отказе одной из прикладных сред все остальные сохраняют работоспособность;
низкая производительность микроядерных ОС сказывается на скорости работы прикладных сред, а значит, и на скорости выполнения приложений.
Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС представляет собой путь, который позволяет иметь единственную версию программы и перемещать ее между операционными системами. Множественные прикладные среды обеспечивают совместимость на двоичном уровне данной ОС с приложениями, написанными для других ОС. В результате пользователи получают большую свободу выбора операционных систем и более легкий доступ к качественному программному обеспечению.
Вопросы для самопроверки
50. В чем отличие микроядерной архитектуры от традиционной архитектуры ОС?
51. Почему микроядро хорошо подходит для поддержки распределенных вычислений?
52. Что подразумевается под концепцией множественных прикладных сред?
53. В чем суть метода трансляции библиотек?
Контрольные вопросы
54. Каким термином в микроядерной архитектуре принято называть менеджеры ресурсов, вынесенные в пользовательский режим?
55. Можно ли считать микроядерную архитектуру в высокой степени переносимой?
56. Почему микроядерная архитектура ОС в большей степени расширяема, чем классическая ОС?
57. Является ли микроядерная архитектура более надежной, чем традиционная?
58. Укажите причину, по которой производительность микроядерной архитектуры ниже, чем производительность традиционной ОС.
59. Можно ли считать ОС Windows NT 4.0 системой с микроядерной архитектурой?
60. Какие виды совместимости Вам известны?
61. За счет каких действий достигается двоичная совместимость для процессоров различных архитектур?
62. Укажите способ, который позволяет повысить производительность ПК при выполнении «чужого» исполняемого файла.
63. Достаточно ли одного метода трансляции библиотек для полной совместимости приложений?
Дата публикования: 2014-11-03; Прочитано: 987 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!