- •Классификация и характеристика программного обеспечения
- •Назначение, классификация системного программного обеспечения. Требования к спо
- •Формирование целостного представления о назначения организации сис по.
- •Овладение методами и инструментами: настройки, откладки, диагностики и защиты программных систем.
- •Назначение, функции и основные качества операционных систем. Требования к современным ос
- •Поколения операционных систем и их классификация
- •Функциональные компоненты операционных систем: подсистема управления ресурсами
- •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 – ядро и пользователь, чаще всего 4 – ядро, супервизор, выполнение, пользователь).
Средства трансляции адресов, выполняют операции преобразования реальных адресов, которые содержатся в кодах процессах в адреса физической памяти
Средство переключения процессов. Предназначено для быстрого сохранения контекст приостанавливаемого процесса и восстановление контенкста процесса, которые становятся активными
Для этого используется отдельные участкуи памяти(мигмент стее) на которые указаыаю указатель процесса
Система прерываний. Позволяет вам реагировать на внешние и внутренние события, синхронизация работа процессоров и устройств ввода-вывода, быстро переходить с одной программы на другую
Системный таймер. Часто реализуемый в виде быстродействующего регистра-счётчика. Необходим ОС для выдержки интервала времени
Средства защиты областей памяти. Обеспечивает на аппаратном уровне проверку возможностей программного кода, осуществлять с данными определённые области памяти, такие как: чтение, запись, выполнения
Концепция, преимущества и недостатки микроядерной архитектуры
Микроядерная архитектура
Первоначально ОС имели монолитную архитектуру, в последующем появилась классическая архитектура в соответствии с которой:
Все основные функции ОС, составляющие многослойное ядро, выполняются в привилегированном режиме.
Вспомогательные функции ОС, выполняются в пользовательском режиме.
Каждое приложение пользовательского режима работает в собственном адресном пространстве и защищено от вмешательства других приложений.
Код ядра, выполняемые в привилегированном режиме ,имеет доступ к областям памяти всех приложениях, но от них защищен.
Приложения обращаются к ядру запросами на выполнение системных функций. Рисунок 1 а
Рис. 1. Перенос основного объема функций ядра в пользовательское
Пространство
Микроядерная архитектура появилась как альтернатива классической, её концепция состоит в следующем:
В привилегированном режиме остается работать только небольшая часть ОС, называемая микроядром. Рисунок 1б
Микроядро защищено от остальных частей ОС и приложений.
В состав микроядра обычно выходят машинно-зависимые модули и модули, выполняющие базовые функции (контекст, прерывания).
Набор функций микроядра соответствует функция, которые невозможно выполнить в пространстве пользователя.
Все остальные более высокоуровневые функции ядра работают в пользовательском режиме и называются серверами ОС. Их основное назначение – удовлетворят запросам приложений или друг друга.
Однозначного решения, какие функции надо передать микроядру, а какие оформить в виде сервера не существуют, это решают разработчики.
Механизм обращения к функциям ОС поясняется рисунком 2. Такая технология обращения соответствует модели клиент-сервер.
Рис. 2. Реализация системного вызова в микроядерной архитектуре
Преимущества микроядерной архитектуры
Высокая степень переносимости, которая обусловлена тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и все они логически группированы вместе
Расширяемость присуща микроядерной ОС в очень высокой степени
Использование микроядерной модели повышает надежность ОС
Недостаток микроядерной архитектуры
Рис. 3. Смена режимов при выполнении системного вызова
Снижение производительности. Исходя из рисунка 3, выполнение системного вызова будет осуществляться путем четырех переключений режимов, при тех же условиях ОС на основе классического ядра будет осуществлять 2 переключения режима, таким образом, ОС на основе микроядра при прочих равных условиях всегда будет менее производительным.
Главная проблема, с которой сталкиваются разработчики ОС, решившие применить микроядерный подход, что включать в микроядра, а что выносить в пользовательское пространство.
В идеальном случае микроядро может состоять только из:
- средств передачи сообщений
- средств взаимодействия с аппаратурой (вт.ч. средств доступа к механизмам привилегированной защиты)
Однако, при реализации ОС образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, а на другом – системы, подобные Windows NT, в которых микроядро выполняет достаточно большой объем функций.