Похожие презентации:
Константинов Иван 2-2ИС
1.
АРХИТЕКТУРЫ ЯДЕРСравнительный анализ и устройство операционных систем
Константинов Иван 2-2Ис
2.
АРХИТЕКТУРА СИСТЕММонолитные ядра
Что за ядро?
Достоинства & ОС
Все компоненты (драйверы, файловая система,
менеджер памяти) работают в едином адресном
пространстве вместе с самим ядром.
+ Максимальная скорость работы
Вызовы функций происходят напрямую, без
переключения контекста.
+ Простота взаимодействия компонентов
Используется в: Ранний Linux, MS-DOS, классическая
MacOS.
Недостатки
-
-
-
Низкая отказоустойчивость: Любой сбой или ошибка
в коде одного драйвера мгновенно вызывает «синий
экран» (BSOD) или полный крах всей операционной
системы.
Проблема безопасности: Так как весь код работает с
максимальными привилегиями, уязвимость в любом
компоненте дает хакеру полный доступ к
компьютеру.
Сложность поддержки: Огромный объем
монолитного кода крайне тяжело обновлять и
отлаживать разработчикам.
3.
ГИБКОСТЬ И РАСШИРЯЕМОСТЬМодульные ядра
Концепция
Плюсы и Применение
Продвинутая версия монолита. Ядро имеет минимальный
базовый набор функций, но способно динамически
загружать и выгружать модули (драйверы, протоколы) прямо
во время работы без перезагрузки системы.
+ Экономия оперативной памяти
+ Нет необходимости перекомпилировать все ядро ради
одного драйвера
Используется в: Современный Linux, FreeBSD, Solaris.
Минусы
-
Уязвимость при загрузке: Динамическое подключение
модулей открывает лазейку для вредоносного ПО
(руткитов), которое может внедриться на уровне ядра.
-
Фрагментация памяти: Постоянная загрузка и выгрузка
модулей в процессе работы может приводить к
неэффективному использованию ОЗУ.
-
Сложность совместимости: Обновление основного
ядра часто «ломает» старые скомпилированные
модули и сторонние драйверы.
4.
ИЗОЛЯЦИЯ И СТАБИЛЬНОСТЬМикроядра
Суть архитектуры
В пространстве ядра остается только абсолютный
минимум: управление процессами и IPC. Все остальное
вынесено в пространство пользователя.
Достоинства и недостатки
+ Высочайшая отказоустойчивость: падение драйвера не
роняет всю систему.
+ Повышенная безопасность.
- Потеря производительности.
Где используется?
Используется в: QNX (автопром, космос), MINIX, Symbian,
корпоративные ОСРВ.
- Сложность проектирования
- Избыточность кода
5.
КОМПРОМИССНЫЕ РЕШЕНИЯГибридные ядра
Устройство и Компромисс
Сочетают свойства монолитных и микроядер. Чтобы сохранить скорость монолита, некоторые
пользовательские службы (например, графическая подсистема) возвращаются внутрь защищенного
адресного пространства ядра, но сохраняется структура микроядра.
Достоинства: Баланс производительности монолита и модульной архитектуры микроядер.
Используется в: Windows NT (10, 11), macOS (ядро XNU), iOS, Android.
Минусы:
- Компромиссные уязвимости: Перенос части служб обратно в пространство ядра ради скорости
возвращает старые проблемы монолитов — сбой в этих службах снова может обрушить всю ОС.
- Раздувание архитектуры: Сочетание двух разных концепций делает код ядра чрезвычайно сложным,
громоздким и тяжелым для оптимизации.
- Проприетарная закрытость: Из-за сложности архитектуры коммерческие гибридные ядра (например,
Windows NT) практически невозможно сделать полностью открытыми без потери стабильности.
6.
ПРЯМОЙ ДОСТУПЭкзоядра
Большие недостатки
- Ад для разработчиков софта:
Программистам приходится писать
управление памятью и дисками с нуля
под каждое приложение, так как ОС
больше не предоставляет готовых
удобных инструментов.
- Отсутствие универсальности: Экзоядра
неприменимы для обычных домашних
или офисных ПК, где пользователю
нужно одновременно запускать сотни
разнородных программ.
- Сложность обеспечения безопасности:
Давать приложениям прямой доступ к
низкоуровневому «железу» без жесткого
контроля со стороны ОС — огромный
риск.
Особенности концепции
Ядро не предоставляет никаких аппаратных абстракций. Его единственная задача —
разграничение прав доступа к ресурсам и их безопасное выделение. Приложения сами
управляют физической памятью и дисками напрямую через специализированные
библиотеки (libOS).
Достоинства: Максимально возможная эффективность; отсутствие лишних программных
слоев.
Используется в: Экспериментальные системы (ExOS, Nemesis), высоконагруженные
облачные серверы.
7.
УЛЬТРА-МИКРОСКОПИЧЕСКИЕ СИСТЕМЫНаноядра
Масштаб
Достоинства
Применение
Размер ядра измеряется
килобайтами. Оно отвечает
исключительно за обработку
аппаратных прерываний,
генерируемых таймером
оборудования.
+ Моментальный отклик
+ Невероятная компактность
+ Предсказуемость времени
выполнения задач.
Используется в: Операционные
системы реального времени (RTOS),
микроконтроллеры, встроенные
датчики IoT.
Недостатки
- Крайне ограниченный функционал
- Зависимость от аппаратной
платформы
(Наноядра пишутся под конкретный
чип или микроконтроллер, их
практически невозможно перенести
на другую процессорную
архитектуру без полной переписи
кода.)
8.
Сравнение архитектур ядерСВОДНЫЙ АНАЛИЗ
Тип ядра
Ключевая особенность
Главное достоинство
Минусы
Примеры ОС
Монолитное
Все функции в одном
адресном пространстве
Максимальное
быстродействие
Падение одного компонента
обрушивает всю систему
Ранний Linux, MSDOS
Модульное
Динамическая загрузка
драйверов в монолит
Гибкость без потери
скорости
Риск внедрения вредоносных
модулей (руткитов)
Современный Linux,
FreeBSD
Микроядро
Драйверы вынесены в
пространство
пользователя
Отказоустойчивость,
надежность
Снижение скорости из-за
постоянного обмена
сообщениями (IPC)
QNX, MINIX
Гибридное
Микроядро с частью
системных служб внутри
Сбалансированность
параметров
Архитектурная сложность и
компромиссная безопасность
Windows NT, macOS, iOS,
Android
Экзоядро
Выделяет ресурсы, не
скрывая железо
Прямой доступ
приложений к ресурсам
Экстремальная сложность
разработки приложений под
него
ExOS, Nemesis
Наноядро
Управляет только
аппаратными
прерываниями
Сверхмалый размер,
предсказуемость
Неспособность выполнять
сложные задачи без
громоздких надстроек
KeyKOS, компоненты
RTOS
Информатика