Лекция 3 Архитектура ОС
Архитектура ОС
Ядро ОС • ОС=ядро+вспомогательные модули • Ядро - модули, выполняющие базовые функции ОС • Базовые функции - процессы, память, ввод/вывод (переключение процессов, обработка прерываний, управление физической памятью)
Классическая архитектура ОС = архитектура с монолитным ядром
Вспомогательные модули ОС • утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту; • системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики; • программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры; • библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Ядро в привилегированном режиме • ОС должна иметь по отношению к приложениям определенные привилегии • Это невозможно без специальных средств аппаратной поддержки • Аппаратура компьютера должна поддерживать как минимум два режима работы: – пользовательский режим (user mode) – привилегированный режим, который также называют режимом ядра (kernel mode), или режимом супервизора (supervisor mode).
Ядро в привилегированном режиме
Ядро в привилегированном режиме
Многослойное ядро
Многослойное ядро • Средства аппаратной поддержки ОС - часть функций ОС может выполняться и аппаратными средствами: – средства поддержки привилегированного режима, – систему прерываний, – средства переключения контекстов процессов, – средства защиты областей памяти и т. п.
Многослойное ядро • Машинно-зависимые компоненты ОС - программные модули, в которых отражается специфика аппаратной платформы компьютера • Базовые механизмы ядра - наиболее примитивные операции ядра: – программное переключение контекстов процессов, – диспетчеризацию прерываний, – перемещение страниц из памяти на диск и обратно и т. п. • не принимают решений о распределении ресурсов
Многослойное ядро • Менеджеры ресурсов – мощные функциональные модули, реализующие стратегические задачи по управлению основными ресурсами вычислительной системы – менеджеры (диспетчеры) процессов, ввода-вывода, файловой системы и оперативной памяти. • Менеджер ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений.
Многослойное ядро • Интерфейс системных вызовов – взаимодействует непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс операционной системы. • Слоев может быть больше или меньше • Разное взаимодействие между слоями
Микроядерная архитектура • альтернатива классическому способу построения • суть - в привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром • в состав микроядра обычно входят машиннозависимые модули, а также модули, выполняющие базовые (но не все) функции ядра • все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме
Микроядерная архитектура
Микроядерная архитектура • работающие в пользовательском режиме менеджеры ресурсов называются серверами ОС • отличие серверов в м/я архитектуре от программ и утилит в классической – серверы ориентированы на взаимодействие друг с другом и обслуживание запросов других программ
Реализация системного вызова
Преимущества и недостатки микроядерной архитектуры • Преимущества: – Высокая переносимость – машинно-зависимый код изолирован в микроядре – Высокая расширяемость – добавление новых функций не требует изменения ядра – Высокая конфигурируемость – можно легко включать/отключать/настраивать нужные модули/серверы – Высокая надежность – от ошибки в отдельном сервере не страдает вся система – Хорошая поддержка распределенных вычислений – серверы могут работать на разных компьютерах как единое целое
Преимущества и недостатки микроядерной архитектуры • Недостатки – операционная система на основе микроядра при прочих равных условиях всегда будет менее производительной, чем ОС с классическим ядром из-за большего количества переключений между привилегированным и пользовательским режимами
Преимущества и недостатки микроядерной архитектуры