Слайд 2Состав компонентов ОС
1. Управление процессами
2. Управление памятью
3. Управление файлами
4. Управление
внешними устройствами
5. Защита данных
6. Администрирование
7. Интерфейс прикладного программирования
8. Пользовательский интерфейс
Слайд 3Состав компонентов ОС
6. Администрирование
7. Интерфейс прикладного
программирования
8.
Пользовательский интерфейс
Слайд 5Архитектура ОС – это базовая организация системы, воплощенная в ее
компонентах, их отношениях между собой и с окружением, а также
принципы, определяющие проектирование и развитие системы (стандарт института инженеров по электротехнике и электронике, IEEE 1471).
Архитектура ОС – это структурная и функциональная организация ОС.
Слайд 6Принципы разработки современных ОС
Концепция многоуровневой иерархической вычислительной системы (виртуальной машины)
с ОС многослойной структуры.
Разделение модулей ОС по функциям на две
группы:
ядро – модули, выполняющие основные функции ОС,
модули, выполняющие остальные (вспомогательные) функции.
Слайд 7Ядро – это модуль, который выполняется в режиме ядра (привилегированном
режиме), в котором доступно все, все ресурсы, пользовательские приложения. Ядро
выполняет основные функции.
Слайд 8Принципы разработки современных ОС
Разделение модулей ОС по размещению в памяти
вычислительной системы:
резидентные – постоянно находящиеся в оперативной памяти,
транзитные
– загружаемые в оперативную память только на время выполнения своих функций.
Слайд 9Принципы разработки современных ОС
Реализация двух режимов работы вычислительной системы:
привилегированного
режима (режима ядра);
пользовательского режима.
Ограничение функций ядра (числа его модулей) до
минимально необходимых функций.
Слайд 10Принципы разработки современных ОС
Модульное строение
однократно используемые модули – используются
только при загрузке ОС;
повторно используемые модули:
привилегированные модули – не
допускают исполнение прерываний, при их загрузке должны проработать до конца;
реентерабельные допускают повторный запуск и допускают прерывания в любом месте модуля;
повторно входимые – допускают прерывания после завершения секций.
Слайд 11Принципы разработки современных ОС
Параметрическая универсальность. Возможность генерации ОС и создания
нескольких рабочих конфигураций.
Функциональная избыточность.
Функциональная избирательность.
Слайд 12Принципы разработки современных ОС
Открытость, модифицируемость, расширяемость (возможность получения текстов исходных
модулей).
Мобильность
Совместимость
Безопасность
Слайд 13Модульно – интерфейсный подход (структурный подход)
1. Декомпозиция системы на модули
по структурному или функциональному признаку.
2. Модули и их взаимные связи
образуют абстракцию системы высокого уровня.
3. Описывается каждый модуль и определяется его интерфейс.
4. Проводится декомпозиция каждого модуля и т. д.
Слайд 161. Монолитная архитектура
Каждая процедура может вызывать каждую.
Все процедуры работают в
привилегированном режиме.
Ядро совпадает со всей операционной системой.
Пользовательские программы взаимодействуют с
ядром через системные вызовы.
Слайд 172. Многоуровневая архитектура
РЕЖИМ ЯДРА
Слайд 192. Многоуровневая архитектура
Операционная система представляется в виде иерархии слоев.
Верхний слой
определяет виртуальную машину с желаемыми свойствами.
Каждый следующий слой детализирует вышележащий,
выполняя для него некоторый набор функций.
Слайд 202. Многоуровневая архитектура
Межслойные интерфейсы подчиняются строгим правилам. Связи внутри слоя
могут быть произвольными.
Отдельный модуль слоя N может выполнить работу самостоятельно
или по следующим вариантам:
обратиться только к слою N–1;
обратиться к некоторой команде слоя N.
Слайд 21Достоинства:
Между уровнями можно организовать четкий интерфейс.
Систему можно спроектировать методом
«сверху вниз», а реализовать методом «снизу вверх».
Уровни реализуются в соответствии
с их порядком, начиная с аппаратуры и далее вверх.
Слайд 22Достоинства:
Каждую новую виртуальную машину можно детально проверить, после чего продолжать
дальнейшую работу.
Любой слой достаточно просто модифицировать, не затрагивая другие слои
и не меняя межслойные интерфейсы.
Слайд 243. Микроядерная архитектура
Ядро минимальных размеров, выполняет только наиболее важные функции.
Функции микроядра:
взаимодействие между программами;
планирование использования процессора;
первичная обработка прерываний и операций
ввода-вывода;
базовое управление памятью.
Слайд 25Монолитное ядро – необходимость перекомпиляции при каждом изменении, большой объем
ядра, сложность отладки, высокая скорость работы.
Слайд 26Многоуровневые системы – необходимость перекомпиляции при изменениях, отлаживается только измененный
уровень, меньшая скорость работы.
Слайд 27Микроядро – простота отладки, возможность замены компонент без перекомпиляции и
остановки системы, очень медленные.
Наноядро – это уменьшенный вариант микроядра.
Современные
ОС, как правило, совмещают элементы различных подходов.