Similar presentations:
Архитектура ОС. Многослойная и микроядерная архитектуры
1. Архитектура ОС. Многослойная и микроядерная архитектуры
2.
Функциональная сложностьоперационной системы =>
сложность ее архитектуры
2
3. Обычный состав ОС
• исполняемые и объектные модули стандартных дляданной ОС форматов
• библиотеки разных типов
• модули исходного текста программ
• программные модули специального формата (например,
загрузчик ОС, драйверы ввода-вывода)
• конфигурационные файлы
• файлы документации
• модули справочной системы
• др. файлы
3
4. Обычный принцип построения ОС
Разделение всех ее модулей на две группы:• ядро – модули, выполняющие основные функции
ОС;
• модули, выполняющие вспомогательные функции
ОС.
4
5. Функции ядра
• решающие внутрисистемные задачи организациивычислительного процесса (такие как переключение
контекстов, загрузка/выгрузка страниц, обработка
прерываний), эти функции недоступны для приложений
• другой класс функций ядра служит для поддержки
приложений, функции ядра, которые могут вызываться
приложениями, образуют интерфейс прикладного
программирования – АРI
Обычно ядро оформляется в виде программного модуля
некоторого специального формата, отличающегося от
формата пользовательских приложений.
5
6. Вспомогательные модули ОС
Вспомогательные модули ОС обычно подразделяются на следующиегруппы:
• утилиты – программы, решающие отдельные задачи управления и
сопровождения компьютерной системы, такие, например, как
программы работы с дисками (архиваторы, дефрагментаторы,
программы разметки диска ит.д.), архивирования данных
• системные обрабатывающие программы – текстовые или
графические редакторы, компиляторы, компоновщики, отладчики;
• программы предоставления пользователю дополнительных услуг –
специальный вариант пользовательского интерфейса, калькулятор и
даже игры;
• библиотеки процедур различного назначения, упрощающие
разработку приложений, например, библиотека математических
функций, функций ввода-вывода и т. д.
6
7. Нечеткость границы между ОС и приложениями
78. Взаимодействие между ядром и вспомогательными модулями ОС
89.
• Разделение операционной системы на ядро имодули-приложения обеспечивает легкую
расширяемость ОС.
• Чтобы добавить новую высокоуровневую
функцию, достаточно разработать новое
приложение, и при этом не требуется
модифицировать ответственные функции,
образующие ядро системы.
• Однако внесение изменений в функции ядра
может оказаться гораздо сложнее, и сложность
эта зависит от структурной организации самого
ядра.
• В некоторых случаях каждое исправление ядра
может потребовать его полной перекомпиляции.
9
10.
Важным свойством архитектуры ОС,основанной на ядре, является возможность
защиты кодов и данных операционной
системы за счет выполнения функций ядра
в привилегированном режиме
10
11. Основные свойства ядра
• резидентно находится в оперативной памяти (дляповышение производительности работы системы)
• работает в привилегированном режиме («режиме ядра»),
причины:
некорректно
работающее
приложение
может
вмешаться в работу ОС
Операционная
система
должна
обладать
исключительными полномочиями также для того,
чтобы играть роль арбитра в споре приложений за
ресурсы компьютера в мультипрограммном режиме
11
12. Архитектура операционной системы с ядром в привилегированном режиме
1213. Отличия привилегированного и пользовательского режима работы
• запрет выполнения в пользовательском режименекоторых
критичных
команд,
связанных
с
переключением процессора с задачи на задачу,
управлением устройствами ввода-вывода, доступом к
механизмам распределения и защиты памяти
• обеспечиваются привилегии ОС при доступе к памяти
(выполнение инструкции доступа к памяти для
приложения разрешается, если инструкция обращается к
области памяти, отведенной данному приложению
операционной системой, и запрещается при обращении к
областям памяти, занимаемым ОС или другими
приложениями)
13
14. Смена режимов при выполнении системного вызова к привилегированному ядру
1415. Разновидности ядер ОС
Ядро ОСмонолитное
многослойное
микроядро
15
16. Многослойная структура ОС
1617. «Многослойный» подход
Система состоит из иерархии слоев, каждый слойотвечает за выполнение функций определенного
уровня иерархии
Каждый слой обслуживает вышележащий слой,
выполняя для него некоторый набор функций, которые
образуют межслойный интерфейс
Строгие правила касаются только взаимодействия
между слоями системы, а между модулями внутри
слоя связи могут быть произвольными
17
18. Преимущества «многослойного» подхода
Существенно упрощается разработка системы (сначала«сверху вниз»-определяются функции слоев и
межслойные интерфейсы, затем «снизу вверх»,
детальная реализация слоев, наращивая их мощь)
Простая модернизация системы (можно изменять
модули внутри слоя без необходимости внесения
изменений в других слоях)
18
19. Слои ядра
Средства аппаратной поддержки ОС (например, средства поддержкипривилегированного режима, система прерываний, средства поддержки
переключения контекстов и т.д.).
Машинно-зависимые компоненты ОС (программные модули, в которых
отображается специфика аппаратной платформы ПК)
Базовые механизмы ядра (примитивные операции ядра: переключение
контекстов, диспетчеризация прерываний, перемещение страниц из
памяти на диск)
Менеджеры ресурсов (реализует стратегические задачи по управлению
ресурсами)
Интерфейс системных вызовов (непосредственно взаимодействует с
приложениями и системными утилитами)
19
20. Многослойная структура ядра ОС
2021. Классическая архитектура
Все основные функции операционной системы, составляющиемногослойное ядро, выполняются в привилегированном режиме.
Некоторые вспомогательные функции ОС оформляются в виде
приложений и выполняются в пользовательском режиме наряду
с обычными пользовательскими программами (становясь
системными утилитами или обрабатывающими программами).
Каждое приложение пользовательского режима работает в
собственном адресном пространстве и защищено тем самым от
какого-либо вмешательства других приложений.
21
22. Классическая архитектура
Код ядра, выполняемый в привилегированном режиме,имеет доступ к областям памяти всех приложений, но
сам полностью от них защищен. Все основные функции
операционной системы, составляющие многослойное
ядро, выполняются в привилегированном режиме.
Приложения обращаются к ядру для выполнения
системных функций
22
23. Микроядерная архитектура
• В привилегированном режиме остается работать толькоочень небольшая часть ОС, называемая микроядром
Микроядро защищено от остальных частей ОС и
приложений.
• В состав микроядра обычно входят машинно-зависимые
модули, а также модули, выполняющие базовые (но не
все!) функции ядра по управлению процессами, обработке
прерываний, управлению виртуальной памятью,
пересылке сообщений и управлению устройствами вводавывода, связанные с загрузкой или чтением регистров
устройств.
• Набор функций микроядра обычно соответствует
функциям слоя базовых механизмов обычного ядра,
которые очень сложно выполнить в пространстве
пользователя.
23
24. Перенос функций ядра в пользовательское пространство (микроядро)
2425. Преимущества и недостатки микроядерной архитектуры ДОПОЛНИТЬ!!!
Преимущества:• переносимость
• расширяемость
• повышение надежности
Недостаток:
• понижение производительности
25