1. Тема 3.
“Архитектура Операционных
Систем.”
1. Классическая архитектура ОС
1.1. Ядро и вспомогательные модули ОС
1.2. Многослойная структура ОС
2. Микроядерная архитектура ОС
2.1. Основные положения микроядерной архитектуры
2.2. Преимущества и недостатки микроядерной архитектуры
2. Любая сложная система должна иметь понятную и
рациональную структуру, то есть разделяться на
модули, имеющие законченное функциональное
назначение с четко оговоренными правилами
взаимодействия.
Качественная проработка структуры и внутренних
межмодульных взаимодействий ОС является одной
из важнейших задач, встающих перед
разработчиками системы.
Ошибки на этом этапе могут оказать решающее
влияние на дальнейшую судьбу системы.
1.1. Ядро и вспомогательные модули ОС
3. Функциональная сложность ОС неизбежно
приводит к сложности ее архитектуры, под
которой понимают структурную организацию ОС
на основе различных программных модулей.
4. Наиболее общим подходом к структуризации ОС является
разделение всех ее модулей на две группы:
1) ядро – модули, выполняющие основные функции ОС;
2) модули ОС, выполняющие вспомогательные функции
ОС.
5. Вспомогательные модули ОС выполняют не столь важные, как ядро,
функции, и делятся на:
1. утилиты – программы, решающие отдельные задачи управления и
сопровождения вычислительной системы;
2. системные обрабатывающие программы – текстовые или графические
редакторы, компиляторы, компоновщики, отладчики и другие программы,
входящие в комплект поставки данной ОС;
3. программы предоставления пользователю дополнительных услуг –
нестандартный вариант пользовательского интерфейса, включающий
вспомогательные и даже игровые программы;
4. библиотеки процедур и функций различного назначения, облегчающие
разработку пользовательских приложений, например, библиотека
математических функций, функций работы с устройствами ввода-вывода и т.д.
6. Вспомогательные модули ОС обычно загружаются в
оперативную память вычислительной системы
только на время выполнения своих функций, то есть
являются транзитными модулями ОС.
Постоянно в оперативной памяти находятся лишь
наиболее важные программы ОС, составляющие ее
ядро. Применение подобной организации позволяет
рационально использовать такой ресурс
вычислительной системы, как оперативная память.
7. Обеспечение соответствующих привилегий ОС требует не
только соответствующей программной, но и аппаратной
поддержки.
Аппаратура компьютера должна иметь возможность
работать как минимум в двух режимах:
пользовательском и
привилегированном.
8. 1.2. Многослойная структура ОС
Существует универсальный и эффективный подход к
построению сложной системы любого типа – многослойный подход.
В соответствии с ним система делится на иерархию слоев, каждый
из которых обслуживает вышележащий слой, выполняя для него
некоторый набор функций, образующих так называемый
межслойный интерфейс.
Межслойные интерфейсы, с помощью которых происходит
взаимодействие слоев, строго оговорены, тогда как связи между
модулями внутри одного слоя могут быть произвольными.
9. Если применить описанный подход к вычислительной системе,
работающей под управлением ОС, построенной по классической
архитектуре, то ее можно представить как систему, состоящую из
трех иерархически связанных слоев, каждый из которых
взаимодействует только со смежным ему слоем.
Рис. 3. Трехслойная структура вычислительной системы
10. Ядро ОС также является сложным многофункциональным комплексом
программ, и к нему можно применить многослойный подход.
Как правило, в ядре классической ОС выделяют следующие основные
слои:
- средства аппаратной поддержки ОС
- машинно-зависимые компоненты ОС
- базовые механизмы ядра
- менеджеры ресурсов
- интерфейс системных вызовов
Аппаратура
Ма
ш
инно-зависимые мо
дули
Средстваап
паратной под
держкиОС
Базовые механизмы ядра
Менеджеры ресурсов
Интерфейс системных вызовов
Рис. 4. Многослойная структура ядра операционной системы
11. 2.1. Основные положения микроядерной
архитектуры
В отличие от традиционной архитектуры, микроядерная
архитектура распределяет функции ОС между микроядром и
входящими в состав ОС системными сервисами, реализованными в
виде процессов, равноправных с пользовательскими
приложениями.
Главной особенностью данного подхода является то, что в
привилегированном режиме остается работать только очень малая
часть ОС, называемая соответственно микроядром.
Не вошедшие в состав микроядра высокоуровневые функции и
модули ядра оформляются в виде обычных приложений,
работающих в пользовательском режиме.
12. Рис. 5. Строение операционных систем с монолитным ядром и с
микроядерной архитектурой
Пользовательскийрежим
Приложения
пользователей УтилитыОС
ЯдроОС
Привилегированныйрежим
а
Пользовательскийрежим
Приложения
пользователей
УтилитыОС
Привилегированныйрежим
б
СерверыОС
Микроядро
13. Рис.6. Реализация системного вызова в операционной
системе с микроядерной архитектурой
Сообщение-запрос
Пользовательскийрежим
Приложенияпользователей
Привилегированныйрежим
СерверыОС
Сообщение-ответ Микроядро
14. Работа микроядерной ОС соответствует известной модели клиент-
сервер, в которой роль транспортных средств выполняет микроядро.
Стандартизованные протоколы предоставления сервиса или
ресурсов позволяют серверу обслуживать клиента независимо от
деталей их реализации, что открывает перед разработчиками
широкие возможности для построения распределенных систем.
15. Применение на практике концепции микроядерной
архитектуры построения ОС
Одной из первых представила понятие микроядра фирма Next, которая
использовала в своих компьютерах систему Mach, прошедшую большой
путь развития в университете Карнеги-Меллона при содействии
Министерства обороны США.
Более современные архитектуры микроядра были предложены Novell,
USL, Open Software Foundation, IBM, Apple и др.
16. Основные концепции построения двух наиболее
популярных систем: Windows NT и UNIX-системы,
основанной на микроядре Mach.
Во многих UNIX-подобных системах в качестве основы для
построения выбрано микроядро Mach.
Ядро управляет пятью главными абстракциями:
– процессами;
– нитями;
– объектами памяти;
– портами;
– сообщениями.
17. Процесс в Mach – это базисная единица распределения ресурсов, он
имеет адресное пространство, содержащее текст программы и данные.
Нить в Mach является единицей выполнения.
Межпроцессное взаимодействие в Mach основано на передаче
сообщений.
Для того чтобы получить сообщение, пользовательский процесс просит
ядро создать защищенный почтовый ящик, который называется порт.
18. ОС Windows NT с самого начала проектировалась разработчиками
компании Microsoft с учетом всех требований, предъявляемых к
современным ОС.
Структурно Windows NT может быть представлена в виде двух
слагаемых:
часть ОС, работающая в режиме пользователя, и
часть ОС в режиме ядра.
19. Основным средством, скрепляющим все подсистемы Windows
NT в единое целое, является механизм вызова локальных процедур
(Local Procedure Call, LPC).
Средства LPC поддерживают несколько способов передачи данных
между клиентами и серверами:
20. Windows NT использует защищенные подсистемы для того,
чтобы:
– обеспечить несколько программных интерфейсов (API), по
возможности не усложняя при этом базовый программный код
(NT executive);
– изолировать базовую ОС от изменений или расширений в
поддерживаемых API;
– объединить часть глобальных данных, требующихся всем API,
и в то же время отделить данные, использующиеся каждым
отдельным API от данных других API;
– защитить окружение каждого API от приложений и окружения
других API, а также защитить базовую ОС от различных
окружений;
– позволить ОС расширяться в будущем за счет новых API.
21. 2.2. Преимущества и недостатки микроядерной
архитектуры
ОС, основанные на концепции микроядра, во
многом удовлетворяют требованиям,
предъявляемым к современным ОС, обладая
переносимостью, расширяемостью, надежностью, и
создают хорошие предпосылки для поддержки
распределенных приложений.
Но, к сожалению, все эти достоинства ОС
приобретает в ущерб производительности.
22. Что является этому причиной?
Дело в том, что при классической организации
ОС выполнение системного вызова сопровождается двумя переключениями
режимов, а при микроядерной организации – четырьмя. Таким образом ОС
на основе микроядра всегда будет менее производительной, чем ОС с
классическим ядром.
Работа
приложения
Работа ядра
t
ядра
t
ядра
а)
ядра
Работа
приложения
Работа
приложения
Работа
сервера ОС
Работа
микроядра
t
ядра
t
ядра
б)
ядра
Работа
приложения
Работа
микроядра
t
ядра
t
ядра
Рис. 7. Смена режимов при выполнении системного вызова (а –классическая
организация, б – микроядерная организация)