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

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

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

Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использованием микроядерной концепции, таких как, например, Windows NT или Workplace OS, прикладные среды выполняются в виде серверов пользовательского режима. Один из наиболее очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС. На рис. 2.2.3 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционных систем OS2 и OS3. Для этого в ее составе имеются специальные приложения — прикладные программные среды, — которые транслируют интерфейсы «чужих» операционных систем API OS2 и API OS3 в интерфейс своей «родной» операционной системы — API OS1.

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

К сожалению, поведение почти всех функций, составляющих API одной ОС, как правило, существенно отличается от поведения соответствующих функций другой ОС.

ЛЕКЦИЯ 4

  1. Основные подходы к построению ядра ОС

  1. ОС с монолитным ядром. Концепция построения ОС с монолитным ядром. Преимущества и недостатки монолитного ядра.

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

Монолитные ядра имеют долгую историю развития и усовершенствования и, на данный момент, являются наиболее архитектурно зрелыми и пригодными к эксплуатации. Вместе с тем, монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий, кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС. Это делает монолитные ядерные архитектуры мало пригодными к эксплуатации в системах, сильно ограниченных по объёму ОЗУ, например, встраиваемых системах, производственных микроконтроллерах и т. д.

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

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

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

Достоинства: скорость работы, упрощённая разработка модулей.

Недостатки: поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

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

Такая организация ОС предлагает следующую структуру:

1 уровень: Главная программа

2 уровень: Набор служебных процедур

3 уровень: Набор утилит

Главная программа вызывает требуемую служебную процедуру. Набор служебных процедур выполняет системные вызовы, которые выполняются в привелигированном режиме. Набор утилит помогает выполнить сервисные процедуры.

  1. Микроядерная архитектура. Концепция микроядерной архитектуры. Преимущества и недостатки микроядерной архитектуры.

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