- •Классификация и характеристика программного обеспечения
- •Назначение, классификация системного программного обеспечения. Требования к спо
- •Формирование целостного представления о назначения организации сис по.
- •Овладение методами и инструментами: настройки, откладки, диагностики и защиты программных систем.
- •Назначение, функции и основные качества операционных систем. Требования к современным ос
- •Поколения операционных систем и их классификация
- •Функциональные компоненты операционных систем: подсистема управления ресурсами
- •1.1. Управление процессами
- •1.2. Управление памятью
- •1.3. Управление файлами и внешними устройствами
- •Функциональные компоненты операционных систем: подсистема управления задачами
- •2.1. Защита данных и администрирование
- •2.2. Интерфейс прикладного программирования
- •2.3. Пользовательский интерфейс
- •Архитектура операционных систем: ядро и вспомогательные модули ос
- •Модулями ос
- •Архитектура операционных систем: ядро в привилегированном режиме
- •В привилегированном режиме
- •К привилегированному ядру
- •Архитектура операционных систем: многослойная структура ос
- •Типовые средства аппаратной поддержки операционных систем
- •Концепция, преимущества и недостатки микроядерной архитектуры
- •Пространство
- •Мультипрограммирование. Реализация в системах пакетной обработки
- •Ввода-вывода
- •В мультипрограммной системе (б)
- •Мультипроцессорная обработка: сущность и характеристика
- •Понятия «процесс» и «поток», операции над процессами в мультипрограммных системах
- •Планирование и диспетчеризация потоков в мультипрограммных системах
- •Состояния потока в мультипрограммных системах
- •Вытесняющие и невытесняющие алгоритмы планирования
- •Алгоритмы планирования, основанные на квантовании
- •Алгоритмы планирования, основанные на приоритетах
- •Синхронизация процессов и потоков: цели и средства синхронизации
- •Синхронизация процессов и потоков: гонки и тупики
- •Синхронизация процессов и потоков: критическая секция, блокирующие
- •Синхронизация процессов и потоков: использование семафоров
- •Синхронизация процессов и потоков: синхронизирующие объекты ос
- •Функции операционных систем по управлению памятью
- •Управление памятью: виртуальное адресное пространство и виртуальная память
- •Алгоритмы распределения памяти: распределение памяти фиксированными разделами
- •Алгоритмы распределения памяти: распределение памяти динамическими разделами, перемещаемые разделы
- •Управление памятью: страничное распределение
- •Управление памятью: сегментное распределение
- •Управление памятью: сегментно-страничное распределение
- •Мультипрограммирование на основе прерываний: диспетчеризация и приоритезация прерываний в ос
- •Мультипрограммирование на основе прерываний: системные вызовы
- •Управление вводом-выводом в операционной системе: основные понятия и концепции организации ввода/вывода
- •Режимы управления вводом/выводом. Основные системные таблицы ввода/вывода
- •2.1. Режимы управления вводом/выводом
- •2.2. Основные системные таблицы ввода-вывода
- •Управление вводом-выводом в операционной системе: кэширование операций ввода/вывода при работе с накопителями на магнитных дисках
- •Управление файлами: общий принцип работы операционной системы с файлами
- •Управление файлами: общая характеристика файловых систем (fat, fat32 и ntfs)
- •2.1. Файловая система fat
- •2.2. Файловые системы vfat и fat32
- •3. Файловая система ntfs
- •3.1. Структура тома с файловой системой ntfs
- •3.2. Возможности файловой системы ntfs по ограничению
- •Сетевые и распределенные операционные системы
- •Функциональные компоненты сетевой операционной системы
- •Одноранговые и серверные сетевые операционные системы
- •Интерфейс прикладного программирования (api)
- •1.1. Принципы построения интерфейсов ос
- •1.2. Варианты реализации функций api
- •1). Реализация функций api на уровне ос
- •2). Реализация функций api на уровне системы программирования
- •3). Реализация функций api с помощью внешних библиотек
- •Платформенно-независимый интерфейс posix
- •Технологии программирования сом
Модулями ос
Вспомогательные модули обычно загружаются в ОП, только на время выполнения своей функции, т.е. являются транзитивными.
Архитектура операционных систем: ядро в привилегированном режиме
Ядро в привилегированном режиме
Для надежного управления хода выполнение приложение ОС, должна иметь по отношению к приложениям определенные привилегия. Поэтому важным свойством архитектуры ОС, основанной на ядре является, возможно защиты кодов и данных за счет функций ядра в привилегированном режиме. Кроме этого ОС должна играть роль арбитра в споре приложений за ресурсы т.е. ни одно приложение не может без ведома ОС получить дополнительную область памяти, занять процессор дольше, чем выделено на то времени.
Данные привилегия обеспечиваются ОС за счет средств аппаратной поддержки, поддерживающий как минимум 2 режима:
Режим ядра или привилегированный режим
Пользовательский режим
На рис. 3 показано архитектура ОС с ядром привилегированного режима.
Рис. 3. Архитектура операционной системы с ядром
В привилегированном режиме
Приложение ставится в подчиненное положение за счет запрета выполнение в пользовательском режиме некоторых критичных программ, т.е. аппаратно они запрещены. Однако запрет может осуществляться, безусловно или запрет при определенных условий.
Система привилегий может иметь несколько уровней, при этом между аппаратно и программно реализуемых … нет прямого соответствия. Обычно в ОС образуется иерархия привилегий, целесообразность числа привилегий обычно определяется разработчиками ОС, в зависимости от ее назначения. Повышение устойчивости ОС за счет реализации привилегированного режима ядра несколько снижает быстродействие системы в целом.
Рис. 4. Смена режимов при выполнении системного вызова
К привилегированному ядру
На рисунке 4 поясняется наличие накладных расходов, снижающих быстродействие системы при переходе из режима приложений в режим ядра и обратно в случае системных вызовов. Архитектуру основанной на ядре часто называется классической.
Архитектура операционных систем: многослойная структура ос
Многослойная структура вычислительной системы
ВС работающую под управлением ОС можно рассматривать, как систему состоящую из трех иерархически расположенных слоев.
Рис 5
Рис. 5. Трехслойная схема вычислительной системы
Слоистая структура ОС свидетельствует о том, что каждый слой может взаимодействовать только, со внешним слоем, в то время как внутри слоя, модули взаимодействуют произвольно
Рис. 6
Рис. 6. Концепция многослойного взаимодействия
Такая организация имеет достоинства:
Упрощает разработку системы
Позволяет просто изменять модули внутри слоя
Многослойный подход является характерным и для структуры ядра ОС
Рис.7
Рис. 7. Многослойная структура ядра ОС
Исходя из рисунка 7, внутренним самым близким к аппаратуре являются средства аппаратной поддержки ОС. К ним относят средства поддержки привилегированного режима, система прерываний, средства переключения контекстов процессов, средства защиты областей памяти и т.п.
Машинно-зависимые модули, этот слой образует программные модули, в которых отражается специфика аппаратной платформы, этот слой полностью экранирует внешние слои ВС от аппаратуры.
Базовые механизмы ядра он выполняет наиболее примитивные операции ядра. Например: программное переключение контекста процесса, диспетчеризация прерываний.
Менеджеры ресурсов. Состоит из функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами ВС.
Интерфейс системных вызовов является самым верхним, и взаимодействуют со вспомогательными модулями ОС и приложениями.
В реальных ОС распределение слоев ядра может быть другим
