Студопедия  
Главная страница | Контакты | Случайная страница

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

Способы реализации прикладных программных сред

Читайте также:
  1. I. Абсолютные и средние показатели вариации и способы их расчета
  2. II Стат. наблюдение. Формы, виды и способы стат. наблюдения
  3. II. Речевая деятельность человека. Создание текста. Коммуникативные качества хорошей речи и способы их достижения
  4. II. СПОСОБЫ И СРЕДСТВА ДОКАЗЫВАНИЯ В
  5. III. Ожидаемый результат реализации программы
  6. III. Цели и задачи реализации государственной политики по снижению масштабов злоупотребления алкогольной продукцией и профилактике алкоголизма среди населения Российской Федерации
  7. IV. Приоритетные направления реализации государственной молодежной политики в Курганской области
  8. IV. ЦЕЛЬ И ПРИОРИТЕТНЫЕ НАПРАВЛЕНИЯ РЕАЛИЗАЦИИ ГОСУДАРСТВЕННОЙ МОЛОДЁЖНОЙ ПОЛИТИКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
  9. Que: Что означает бухгалтерская запись Дебет счета 7110 Расходы по реализации продукции и оказанию услуг Кредит счета 2420 Амортизация основных средств?
  10. V. Меры по реализации государственной политикипо снижению масштабов злоупотребления алкогольной продукцией ипрофилактике алкоголизма среди населения Российской Федерации

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

Один из наиболее очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре операционных сред. На рис. 3.11. операционная система ОС1 поддерживает приложения операционных систем ОС2 и ОС3. Для этого в ее составе имеются специальные приложения – прикладные программные среды, - которые транслируют интерфейсы операционных систем API ОС2 и API ОС3 в интерфейс своей операционной системы API ОС1.

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

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

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

Выводы

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

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

· Ядро, являясь структурным элементом ОС, в свою очередь, может быть логически разложено на следующие слои (начиная с самого нижнего):

ü машинно-зависимые компоненты ОС;

ü базовые механизмы ядра;

ü менеджеры ресурсов;

ü интерфейс системных вызовов.

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

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

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

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

· Микроядерные ОС удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За эти достоинства приходится платить снижением производительности, что является основным недостатком микроядерной архитектуры.

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

Вопросы для самоконтроля

1. Что понимают под архитектурой операционной системы?

2. Какие функции выполняют модули ядра операционной системы?

3. Какие функции выполняют модули операционной системы не входящие в ядро операционной системы?

4. Определите назначение программ утилит.

5. Определите назначение системных обрабатывающих программ.

6. Приведите примеры программ предоставления пользователю дополнительных услуг.

7. Определите назначение библиотек процедур (функций).

8. В чем заключается отличие между резидентными и транзитными программами?

9. В каком из двух режимов, пользовательском или привилегированном, работает операционная система?

10. В чем заключаются отличия между пользовательским и привилегированным режимах?

11. Какие из приведенных ниже терминов являются синонимами?

· Привилегированный режим;

· Защищенный режим;

· Режим супервизора;

· Пользовательский режим;

· Реальный режим;

· Режим ядра.

12. Выполнение каких команд доступа к памяти разрешается в пользовательском и привилегированном режимах?

· Доступ к памяти отведенной данному приложению;

· Доступ к памяти других приложений.

13. Чем вызвано замедление выполнения системных вызовов при переходе из пользовательского режима в привилегированный режим и обратно?

14. Приведите примеры операционных систем не поддерживающих работу в привилегированном режиме.

15. Чем отличаются реальный и защищенный режим работы процессора?

16. Объясните принцип организации многослойной структуры компьютера, работающего под управлением операционной системы на основе ядра.

17. Перечислите название и назначение основных слоев составляющих ядро операционной системы.

18. Перечислите и охарактеризуйте основные компоненты средств аппаратной поддержки операционной системы.

19. С помощью каких средств можно преодолеть несовпадение систем команд процессоров различных платформ?

20. Каким образом можно уменьшить объем машинно-зависимых модулей операционной системы?

21. Объясните роль BIOS?

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

23. Объясните принцип микроядерной архитектуры.

24. Каким образом происходит обращение к функциям операционной системы, оформленных в виде серверов, в системах с микроядерной архитектурой?

25. Какими преимуществами и недостатками обладает микроядерная архитектура?

26. Что понимается под термином «совместимость»?

27. Что представляет собой двоичная совместимость?

28. Что представляет собой совместимость исходных текстов?

29. Каково назначение программы эмулятора?

30. Каково назначение прикладных программных сред?

31. Какие способы реализации прикладных программных сред Вы знаете?




Дата добавления: 2015-01-30; просмотров: 67 | Поможем написать вашу работу | Нарушение авторских прав




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