Прикладные среды

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

Прикладная среда может быть реализована в виде обычного приложения, и тогда она функционирует на пользовательском уровне.

Рис. 2.8. Прикладные программные среды, транслирующие системные вызовы

 

 

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных программных интерфейсов. В приведенном на рис. 2.9 примере операционная система поддерживает прило­жения, написанные для OS1, OS2 и OS3. Для этого непосредственно в простран­стве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

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

Рис. 2.9. Реализация совместимости на основе нескольких равноправных API

 

Выводы

· Все программное обеспечение вычислительной системы делится на прикладное (для решения задач пользователей) и системное (для использования аппаратуры компьютера).

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

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

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

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

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