Слайд 2Ядро и вспомогательные модули операционной системы
При функциональной декомпозиции ОС модули разделяются на
![Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-1.jpg)
две группы:
ядро – модули, выполняющие основные функции ОС;
модули, выполняющие вспомогательные функции ОС.
Слайд 3Модули ядра ОС
Модули ядра ОС выполняют следующие базовые функции ОС:
управление процессами
управление памятью
управление
![Модули ядра ОС Модули ядра ОС выполняют следующие базовые функции ОС: управление](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-2.jpg)
устройствами ввода-вывода
Ядро обеспечивает решение задачи организации вычислительного процесса: переключение контекстов, загрузка/выгрузка страниц, обработка прерываний и т.п.
Другая задача – поддержка приложений, создание для них прикладной программной среды. Приложения обращаются к ядру с запросами (системными вызовами) для выполнения базовых операций (открытие и чтение файла, вывод информации на дисплей и т.п.)
Функции выполняемые ядром ОС требуют высокой скорости выполнения и для этого размещаются постоянно в оперативной памяти (резидентные модули).
Слайд 4Вспомогательные модули операционной системы
Вспомогательные модули выполняют полезные, но менее обязательные функции. Например:
архивирование
![Вспомогательные модули операционной системы Вспомогательные модули выполняют полезные, но менее обязательные функции.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-3.jpg)
информации;
дефрагментация данных на диске;
поиск необходимого файла и т.п.
Вспомогательные модули часто оформляются как обычные приложения и провести границу между ними и обычными приложениями сложно.
Деление на основные и вспомогательные модули ОС условно. Некоторые программы переходят из разряда вспомогательных модулей в основные и наоборот.
Слайд 5Вспомогательные модули операционной системы
Вспомогательные модули ОС условно разделяются на следующие группы:
Утилиты –
![Вспомогательные модули операционной системы Вспомогательные модули ОС условно разделяются на следующие группы:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-4.jpg)
приложения, решающие отельные задачи управления и сопровождения ОС
Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики и т.п.
Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры и т.п.
Библиотеки процедур – модули различного назначения, упрощающие разработку приложений.
Вспомогательные модули обращаются к функциям ядра ОС посредством системных вызовов.
Слайд 6Ядро и вспомогательные модули операционной системы
Ядро ОС
утилиты
Системные обрабатывающие программы
пользовательские приложения
![Ядро и вспомогательные модули операционной системы Ядро ОС утилиты Системные обрабатывающие программы пользовательские приложения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-5.jpg)
Слайд 7Привилегированный режим процессора
Для надежного управления работой приложений ядро ОС должно обладать некоторыми
![Привилегированный режим процессора Для надежного управления работой приложений ядро ОС должно обладать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-6.jpg)
привилегиями по отношению к остальным приложениям.
Обеспечивается привилегированный режим специальными средствами аппаратной поддержкой. Процессор компьютера поддерживает как минимум два режима работы – пользовательский (user mode) и привилегированный (kernel mode).
Приложения в пользовательском режиме не могут выполнять некоторые критичные команды (переключение процессора с задачи на задачу, доступ к механизму выделения и защиты областей памяти и т.п.).
Слайд 8Привилегированный режим работы
Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет однозначного
![Привилегированный режим работы Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-7.jpg)
соответствия:
процессор Intel поддерживает 4 режима работы процессора – операционные системы Windows используют два из них.
Для реализации привилегированного режима достаточно поддержки двух режимов работы
Повышение устойчивости ОС, обеспечивающееся использованием работы в привилегированном режиме, достигается за счет некоторого замедления, вызванного необходимостью переключения работы ядра.
Архитектура ОС, основанная на разделении привилегированного режима для ядра и пользовательского режима для приложений – стала классической.
Слайд 9Многослойная структура ОС
Вычислительная система под управлением ОС можно рассматривать как состоящую из
![Многослойная структура ОС Вычислительная система под управлением ОС можно рассматривать как состоящую](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-8.jpg)
нескольких слоев:
Нижний слой – аппаратура;
Средний – ядро ОС;
Верхний – утилиты, приложения и т.п.
Слайд 10Детализация структуры ядра
Ядро, являясь структурным элементом ОС, может быть логически разложен на
![Детализация структуры ядра Ядро, являясь структурным элементом ОС, может быть логически разложен](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-9.jpg)
ряд слоев:
Средства аппаратной поддержки ОС
Машинно-зависимые компоненты ОС (включает модули, отражающие специфику аппаратной платформы компьютера)
Базовые механизмы ядра (включает наиболее примитивные операции ядра – переключение контекстов процессов, диспетчеризация прерываний), модули выполняют решения принятые на более высоких уровнях
Менеджеры ресурсов (реализует задачи стратегического управления), включает менеджеры – диспетчеры процессов, ввода-вывода и т.п.
Интерфейсы системных вызовов (включает модули взаимодействия с приложениями и системными утилитами, функции API.
Слайд 11Аппаратная зависимость ОС
Операционная система в процессе работы взаимодействует с аппаратными средствами компьютера:
Средства
![Аппаратная зависимость ОС Операционная система в процессе работы взаимодействует с аппаратными средствами](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-10.jpg)
поддержки привилегированного режима
Средства трансляции адресов
Средства переключения процессов
Защита областей памяти
Система прерываний
Системный таймер
Это делает ОС привязанной к определенной аппаратной платформе
Слайд 12Переносимость операционной системы
Под переносимостью операционной системы понимается способность использования ОС на различных
![Переносимость операционной системы Под переносимостью операционной системы понимается способность использования ОС на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-11.jpg)
аппаратных платформах с минимальными изменениями в ее структуре. Для уменьшения числа машинно-зависимых модулей разработчики ОС ограничивают универсальность машинно-независимых модулей. Например, Windows разработана для нескольких типов процессоров и для многопроцессорных систем используются собственные модули.
Для обеспечения переносимости следуют следующим правилам:
Большая часть кода написана на языке, трансляторы которого существуют для всех планируемых платформ;
Объем машино-зависимых частей кода должен быть минимизирован;
Аппаратно-зависимый код должен быть изолирован в нескольких модулях
В идеале машино-зависимые модули ядра полностью экранируют остальную часть ОС от конкретных деталей аппаратной платформы (кэши, контроллеры прерываний и т.п.).
Слайд 13Микроядерная архитектура
Концепция микроядерной архитектуры заключается в выделении в качестве работающего в привилегированном
![Микроядерная архитектура Концепция микроядерной архитектуры заключается в выделении в качестве работающего в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-12.jpg)
режиме части ОС, ответственном за небольшой набор системных функций (управление процессами, обработка прерываний, управление виртуальной памятью, пересылка сообщений). Данная часть ОС называется микроядром.
Все остальные высокоуровневые функции ядра разрабатываются в виде приложений, работающих в пользовательском режиме – серверы ОС.
Взаимодействие между обычными приложениями и серверами ОС осуществляется через механизм обращений. Клиентское приложение отправляет запрос к серверу ОС через микроядро ОС. Такой механизм обеспечивает защиту работы приложений.
Слайд 14Микроядерная архитектура
Привилегированный режим
Пользовательский режим
Микроядро
Сервер процессов
Сервер безопасности
Файловый сервер
Приложения пользователей
![Микроядерная архитектура Привилегированный режим Пользовательский режим Микроядро Сервер процессов Сервер безопасности Файловый сервер Приложения пользователей](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-13.jpg)
Слайд 15Достоинства микроядерной архитектуры
Операционные системы, основанные на микроядерной архитектуре обладают рядом преимуществ, предъявляемых
![Достоинства микроядерной архитектуры Операционные системы, основанные на микроядерной архитектуре обладают рядом преимуществ,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-14.jpg)
к современным ОС:
Переносимость (обусловлена малым числом модулей в аппаратно-зависимом микроядре)
Расширяемость (добавление новых функций связано с включением новых серверов ОС)
Надежность (обусловлена изолированностью процессов)
Поддержка распределенных вычислений (используется механизм взаимодействия приложений аналогичный взаимодействию в распределенных системах)
Недостаток
Производительность (обладают меньшей производительностью)
Слайд 16Совместимость операционных систем
Совместимость – возможность операционной системы выполнять приложения, написанные для других
![Совместимость операционных систем Совместимость – возможность операционной системы выполнять приложения, написанные для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/343753/slide-15.jpg)
ОС.
Выделяют
Двоичная совместимость – на уровне кодов (программные модули могут быть просто перенесены и запущены)
Совместимость исходных текстов – приложения могут быть перекомпилированы в новый исполняемый модуль для ОС.
Совместимость на уровне кодов может быть достигнута с помощью эмуляции двоичного кода.