Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSumk.doc
Скачиваний:
37
Добавлен:
13.03.2015
Размер:
1.01 Mб
Скачать

4.2 Способы реализации совместимости

В настоящее время дополнительное программное обеспечение позволяет пользователям некоторых ОС запускать "чужие" программы (например, Mac OS и UNIX позволяют выполнять программы для DOS и Windows). Но в современном поколении ОС средства для выполнения "чужих" программ становятся стандартной частью системы. Выбор ОС не слишком сильно ограничивает выбор прикладных программ. Хотя столкновение пользовательских интерфейсов программ для Mac OS, Windows и UNIX на одном и том же экране заставит пользователя немного потрудиться, но все же множественные прикладные среды ОС скоро станут такими же стандартными, как мыши и меню.

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

Стандартная многоуровневая структура ОС является основой наиболее очевидного варианта реализации множественных прикладных сред ( см. рис 4.1) . Операционная система ОС1 поддерживает кроме свои "родных" приложений приложения операционных систем ОС2 и ОСЗ Для этого в ее составе имеются специальные приложения - прикладные программные среды, которые транслируют интерфейсы "чужих" операционных систем API OC2 и API ОСЗ в интерфейс своей "родной" операционной системы API OC1. Так, например, в случае, если бы качестве ОС2 выступала операционная система UNIX, а в качестве О - OS/2, для выполнения системного вызова создания процесса fork() в UNIX-приложении программная среда должна была обратиться к яд операционной системы OS/2 с системным вызовом DosExecPgm().

API ОС3

Рисунок 4.1. Трансляция системных вызовов с помощью прикладных программных сред

Трудности при такой реализации возникают вследствие того, что поведение почти всех функций, составляющих API одной ОС, как правило, существенно отличается от поведения соответствующих (если они вообще есть) функций другой ОС.

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

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

Такому подходу к конструированию множественных прикладных средств присущи все достоинства и недостатки микроядерной архитектуры.

Рекомендуемая литература: 2 осн. [45-67], 12 доп. [34-44]

Контрольные вопросы к теме: «Совместимость операционных систем»:

1. Понятие совместимости. Способы реализации совместимости.

2. Как достичь двоичной совместимости операционных систем, предназначенных для выполнения на процессорах, имеющих различающиеся архитектуры?

3. Что происходит ,если концепции, положенные в основу разных ОС, входят в противоречие друг с другом?

4. Основным средство, скрепляющая все подсистемы Windows NT в единое целое

5. Как влияет архитектура процессора, на котором работает ОС на совместимость?

6. От каких факторов зависит совместимость операционных систем?

7. Зачем устанавливается специальное программное обеспечение -эмулятор?

8. Что необходимо сделать, чтобы можно было активно использовать ресурсы компьютера

9. Совместимость на двоичном уровне.

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

11. Совместимость на уровне исходных текстов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]