Архитектура ОС. Многослойная и микроядерная архитектуры
Обычный состав ОС
Обычный принцип построения ОС
Функции ядра
Вспомогательные модули ОС
Нечеткость границы между ОС и приложениями
Взаимодействие между ядром и вспомогательными модулями ОС
Основные свойства ядра
Архитектура операционной системы с ядром в привилегированном режиме
Отличия привилегированного и пользовательского режима работы
Смена режимов при выполнении системного вызова к привилегированному ядру
Разновидности ядер ОС
Многослойная структура ОС
«Многослойный» подход
Преимущества «многослойного» подхода
Слои ядра
Многослойная структура ядра ОС
Классическая архитектура
Классическая архитектура
Микроядерная архитектура
Перенос функций ядра в пользовательское пространство (микроядро)
Преимущества и недостатки микроядерной архитектуры ДОПОЛНИТЬ!!!
537.73K
Category: informaticsinformatics

Архитектура ОС. Многослойная и микроядерная архитектуры

1. Архитектура ОС. Многослойная и микроядерная архитектуры

2.

Функциональная сложность
операционной системы =>
сложность ее архитектуры
2

3. Обычный состав ОС

• исполняемые и объектные модули стандартных для
данной ОС форматов
• библиотеки разных типов
• модули исходного текста программ
• программные модули специального формата (например,
загрузчик ОС, драйверы ввода-вывода)
• конфигурационные файлы
• файлы документации
• модули справочной системы
• др. файлы
3

4. Обычный принцип построения ОС

Разделение всех ее модулей на две группы:
• ядро – модули, выполняющие основные функции
ОС;
• модули, выполняющие вспомогательные функции
ОС.
4

5. Функции ядра

• решающие внутрисистемные задачи организации
вычислительного процесса (такие как переключение
контекстов, загрузка/выгрузка страниц, обработка
прерываний), эти функции недоступны для приложений
• другой класс функций ядра служит для поддержки
приложений, функции ядра, которые могут вызываться
приложениями, образуют интерфейс прикладного
программирования – АРI
Обычно ядро оформляется в виде программного модуля
некоторого специального формата, отличающегося от
формата пользовательских приложений.
5

6. Вспомогательные модули ОС

Вспомогательные модули ОС обычно подразделяются на следующие
группы:
• утилиты – программы, решающие отдельные задачи управления и
сопровождения компьютерной системы, такие, например, как
программы работы с дисками (архиваторы, дефрагментаторы,
программы разметки диска ит.д.), архивирования данных
• системные обрабатывающие программы – текстовые или
графические редакторы, компиляторы, компоновщики, отладчики;
• программы предоставления пользователю дополнительных услуг –
специальный вариант пользовательского интерфейса, калькулятор и
даже игры;
• библиотеки процедур различного назначения, упрощающие
разработку приложений, например, библиотека математических
функций, функций ввода-вывода и т. д.
6

7. Нечеткость границы между ОС и приложениями

7

8. Взаимодействие между ядром и вспомогательными модулями ОС

8

9.

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

10.

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

11. Основные свойства ядра

• резидентно находится в оперативной памяти (для
повышение производительности работы системы)
• работает в привилегированном режиме («режиме ядра»),
причины:
некорректно
работающее
приложение
может
вмешаться в работу ОС
Операционная
система
должна
обладать
исключительными полномочиями также для того,
чтобы играть роль арбитра в споре приложений за
ресурсы компьютера в мультипрограммном режиме
11

12. Архитектура операционной системы с ядром в привилегированном режиме

12

13. Отличия привилегированного и пользовательского режима работы

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

14. Смена режимов при выполнении системного вызова к привилегированному ядру

14

15. Разновидности ядер ОС

Ядро ОС
монолитное
многослойное
микроядро
15

16. Многослойная структура ОС

16

17. «Многослойный» подход

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

18. Преимущества «многослойного» подхода

Существенно упрощается разработка системы (сначала
«сверху вниз»-определяются функции слоев и
межслойные интерфейсы, затем «снизу вверх»,
детальная реализация слоев, наращивая их мощь)
Простая модернизация системы (можно изменять
модули внутри слоя без необходимости внесения
изменений в других слоях)
18

19. Слои ядра

Средства аппаратной поддержки ОС (например, средства поддержки
привилегированного режима, система прерываний, средства поддержки
переключения контекстов и т.д.).
Машинно-зависимые компоненты ОС (программные модули, в которых
отображается специфика аппаратной платформы ПК)
Базовые механизмы ядра (примитивные операции ядра: переключение
контекстов, диспетчеризация прерываний, перемещение страниц из
памяти на диск)
Менеджеры ресурсов (реализует стратегические задачи по управлению
ресурсами)
Интерфейс системных вызовов (непосредственно взаимодействует с
приложениями и системными утилитами)
19

20. Многослойная структура ядра ОС

20

21. Классическая архитектура

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

22. Классическая архитектура

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

23. Микроядерная архитектура

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

24. Перенос функций ядра в пользовательское пространство (микроядро)

24

25. Преимущества и недостатки микроядерной архитектуры ДОПОЛНИТЬ!!!

Преимущества:
• переносимость
• расширяемость
• повышение надежности
Недостаток:
• понижение производительности
25
English     Русский Rules