Слайд 1Лекция 2.
Основные подсистемы ОС и их функции
Слайд 2Две основные функции ОС -
предоставление вместо реальной аппаратуры некоторой
виртуальной машины (удобнее программировать виртуальные сущности (файлы) чем контроллеры HDD)
повышение
эффективности путем рационального управления ресурсами в соответствии с некоторыми критериями
Слайд 3Управление ресурсом включает:
планирование - определение какой процесс когда и сколько
получит ресурсов (критерий/ очередь/приоритет)
обработка запросов (прием, ответ)
учет состояния ресурсов (занято/свободно).
Слайд 4Основные компоненты (подсистемы) ОС
Управление процессами
Управление памятью
Хранение информации
Управление аппаратными устройствами (I/O,
ввод-вывод)
Защита
Программный интерфейс
Пользовательский интерфейс
Слайд 5Управление процессами
данные о состоянии процессов, используемых ими ресурсах, статистика
изоляция (защита)
выделенных ресурсов
синхронизация (ожидание событий)
взаимодействие процессов
планирование ресурсов
создание и уничтожение процессов
Слайд 6Управление памятью
планирование физической памяти
поддержка виртуальных адресных пространств процессов (настройка адресов,
предоставление физической памяти)
виртуальная память - своппинг (вытеснение) областей (страниц, сегментов)
- сохранение состояния на диске
изоляция адресных пространств (базовая функция защиты ОС, контроль ошибок)
Слайд 7Хранение информации
традиционно - файловая система
файл - виртуальный объект ОС -
набор байт (записей)
состояние файла хранится на устройстве
чтение - запись
создание -
удаление
распределение дискового пространства
обеспечение совместного доступа
защита файлов (контроль доступа)
контроль целостности
кэширование
Слайд 8Управление аппаратными устройствами (ввод/вывод)
определение программного интерфейса (одного или нескольких) для
обращения к устройству - виртуальное устройство - только для модулей
ОС/для прикладных программ
распознавание и инициализация устройств
обработка запросов
драйвер - программа, управляющая аппаратным устройством
системно-зависимый (использует команды i/o)
потенциально влияет на безопасность и работоспособность всей ОС
Слайд 9Защита
Аутентификация - Контроль доступа - Аудит
вход в систему
появление процессов
права доступа
пользователей - процессов
протокол обращений к ресурсам
функции защиты могут включаться в
другие подсистемы
защита ОС от прикладных процессов (код ОС, данные, аппаратные устройства)
Слайд 10Программный интерфейс
обработка обращений прикладных программ (в том числе системных утилит)
передача
параметров вызовов и результатов обработки
API - интерфейс на уровне языка
- точка входа в систему - низкоуровневый язык
Слайд 11Пользовательский интерфейс
вход/выход пользователя
запуск и останов программ
оболочка
поддержка на уровне API
терминал (текстовый
(командный) - графический)
Слайд 12Требования предъявляемые к ОС
(критерии оценки характеристик)
функциональная полнота (functionality) – есть
все необходимые функции из того что перечислено выше - разработка
и развитие ОС
расширяемость (scalable) – изменение состава используемой аппаратуры, без переработки системы - модульность и интерфейсы между модулями
переносимость (portable) – переносимость с одной архитектуры (процессор+устройства) на другую - минимум системно-зависимых компонент, изоляция аппаратно-зависимого кода в определенных модулях, использование языка, для которого есть трансляторы
совместимость (compatible) – возможность переноса прикладного ПО с/на другие системы - на уровне бинарных кодов/исходных текстов - поддержка API других систем
Слайд 13Требования предъявляемые к ОС
Надежность (robust) – защита от внутренних и
внешних программных и аппаратных сбоев - качество ПО ОС -
технологии проектирования, разработки, сопровождения , аппаратные средства отказоустойчивости, резервирование
Безопасность (secure) – защита от НСД/соблюдение политики безопасности - включение в состав ОС функции защиты (security functions)
Производительность (performance) – эффективность управления аппаратными ресурсами - максимизация числовых показателей - тесты/benchmarks - архитектура ОС, оптимизация кода, технологии проектирования ПО, применение мат. методов, перенос на более производительную платформу