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

Содержание

Слайд 2

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

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

Слайд 3

Обычный состав ОС исполняемые и объектные модули стандартных для данной ОС

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

исполняемые и объектные модули стандартных для данной ОС

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

Обычный принцип построения ОС Разделение всех ее модулей на две группы:

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

Разделение всех ее модулей на две группы:
ядро –

модули, выполняющие основные функции ОС;
модули, выполняющие вспомогательные функции ОС.
Слайд 5

Функции ядра решающие внутрисистемные задачи организации вычислительного процесса (такие как переключение

Функции ядра
решающие внутрисистемные задачи организации вычислительного процесса (такие как переключение контекстов,

загрузка/выгрузка страниц, обработка прерываний), эти функции недоступны для приложений
другой класс функций ядра служит для поддержки приложений, функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования – АРI

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

Слайд 6

Вспомогательные модули ОС Вспомогательные модули ОС обычно подразделяются на следующие группы:

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:
утилиты –

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

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

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

Слайд 8

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

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

Слайд 9

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

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


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

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

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

и данных операционной системы за счет выполнения функций ядра в привилегированном режиме
Слайд 11

Основные свойства ядра резидентно находится в оперативной памяти (для повышение производительности

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

резидентно находится в оперативной памяти (для повышение производительности работы

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

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

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


Слайд 13

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

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

запрет выполнения в пользовательском режиме некоторых

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

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

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

Слайд 15

Разновидности ядер ОС Ядро ОС монолитное многослойное микроядро

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


Ядро ОС

монолитное

многослойное

микроядро

Слайд 16

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

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

Слайд 17

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

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

Слайд 18

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

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

Слайд 19

Слои ядра

Слои ядра

Слайд 20

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

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

Слайд 21

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

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

Слайд 22

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

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

Слайд 23

Микроядерная архитектура В привилегированном режиме остается работать только очень небольшая часть

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

В привилегированном режиме остается работать только очень небольшая часть ОС,

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

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

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