
- •Лекция 1. Состав и назначение и классификация операционной системы Введение
- •Понятие процесса и ресурса
- •Состав операционной системы
- •Классификация ос
- •Ос пакетной обработки
- •Ос оперативной обработки
- •Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести к:
- •Моделирование режима мультипрограммирования
- •Планирование процессов Понятия о планировании и диспетчеризации процессов
- •Создание процессов
- •Завершение процесса
- •Состояние процесса
- •Алгоритмы планирования
- •Методы планирования
- •Детерминированное планирование
- •Стохастическое планирование Последовательный выбор
- •Алгоритм одноуровневого циклического выбора
- •Алгоритм многоуровневого циклического выбора
- •Алгоритм многоуровневого планирования с учётом предварительных приоритетов работ.
- •Планирование на основе приоритетов
- •Обслуживание с абсолютными приоритетами
- •Синхронизация процессов
- •Цели и средства синхронизации процессов
- •Понятие системные вызовы. Критические секции
- •Синхронизация методом взаимных исключений
- •Метод блокирующей переменной
- •Блокирующей переменной с использованием системного вызова
- •Метод семафоров
- •Условная (барьерная) синхронизация
- •Тупиковые ситуации во взаимодействии процессов и методы их устранения
- •Управление памятью
- •Проблемы организации памяти мультипроцессорных вычислительных систем. Функции ос по управлению памятью.
- •Методы защиты памяти
- •Метод граничных ресурсов
- •Метод ключей защиты
- •Защита отдельных ячеек
- •Организация виртуальной памяти
- •Статическое и динамическое распределение памяти. Распределение памяти фиксированными разделами
- •Страничная организация виртуальной памяти
- •Сегментная и сегментно-страничная организация виртуальной памяти
- •Структура страничной таблицы
- •Методы уменьшения времени доступа к памяти
- •Обеспечение быстрого доступа к данным кэш-память
- •Ускорение формирования адреса. Буферы быстрого преобразования адреса
- •Алгоритмы замещения страниц в виртуальной памяти
- •В своем развитии осрв строились на основе следующих архитектур.[1]
Ос пакетной обработки
Задачи, планируемые к выполнению, называются пакетом. Системы пакетной обработки функционирует в режименепрерывного выполнениязадания, и пользователь не имеет непосредственного контакта с программой на стадии выполнения. Переключение между задачами в пакетном режиме инициируется выполняющейся в данный момент задачей, поэтому промежутки времени выполнения той или иной задачи неопределены.
В машинах ранних поколений этот режим использовался широко и заключается в следующем. Сформированный пакет задач, рассчитанный на длительное время обработки (на час и более), размещался на одном из внешних носителей, после чего запускался. Результаты предоставлялись пользователю после выполнения всего пакета заданий.
В современном понимании пакетная обработка заключается в том, что пользователь запускающий задание локально или удаленно, прямого оперативного управления вычислительным процессом, реализуемым этим заданием, не имеет. Задание выполняется либо до конца, либо до аварийного завершения.
Модель пакетной обработки, представленная сетевой системой массового обслуживания, имеет вид, показанный на рис. 2.
Рис.2. Модель пакетной обработки
Программа «планировщик» устанавливает порядок выполнения задач: FIFO, LIFO, по приоритетному принципу и др. Основным критерием при планировании процессов является минимизация времени выполнения пакета работ или максимизация загрузки устройств.
Ресурсы процессам предоставляет супервизор, являющийся частью ядра операционной системы. В универсальных вычислительных системах непосредственный доступ процесса к ресурсам отсутствует из-за возможных коллизий. Поэтому запросы на ресурсы удовлетворяются через ядро операционной системы с помощью специальных команд ОС – системных вызовов. Системные вызовы обеспечивают интерфейс между операционной системой и пользовательскими программами, позволяя им обращаться за услугами ядра ОС. При системном вызове задача переходит в привилегированный режим или режим ядра. В данном режиме работы процессора доступны привилегированные операции, к которым относят и операции ввода-вывода к периферийным устройствам. Системный вызов похож на обычный вызов подпрограммы и реализуется с использованием программных прерываний.
Время решения задачи может составлять единицы и десятки часов. Этот режим плох для отладки программ, т.к. программист не имеет непосредственного контакта с запущенной программой. Однако СПО обладают высокой пропускной способностью, т.е. большим числом задач, выполняемых в единицу времени. Это важное преимущество систем пакетной обработки объясняется небольшим числом прерываний во время выполнения задачи, запросы которых инициируются в основном подсистемой внешней памяти в процессе подкачки или откачки (свопинга) программ или данных в/из виртуальной памяти. Таким образом, пакетная обработка используется для достижения максимальной эффективности использования ресурсов вычислительной машины при выполнении вычислительных задач.
Ос оперативной обработки
Система оперативной обработки (СОО) обеспечивает высокую реакцию или малое время ответа вычислительной системы. СОО функционирует в режиме разделения времени процессора. Системы разделения времени используются для «одновременного» выполнения нескольких программ в интерактивном (диалоговом) режиме. В отличие от пакетного режима, все программы получают определённые временные промежутки (кванты) процессорного времени для выполнения, затем система инициирует переключение. Выделяемые временные интервалы могут быть равными для всех задач, могут определяться их приоритетами и т. д.
Для примера рассмотрим многопользовательскую многотерминальную систему (рис.3). Т1...Тm– терминалы, с помощью которых пользователи формируют задания на выполнение программ. Когда заданию предоставлены ресурсы (кроме процессора), оно устанавливаются в очередь готовых процессов О0.
Рис.3. Модель оперативной обработки
СОО можно представить в виде системы массового обслуживания (СМО). Терминалы выполняют функции генератора заявок, формируемых в виде заданий на обработку некоторых программ. В качестве обслуживающих приборов выступают центральные процессоры (ЦП) и внешние запоминающие устройства (ВЗУ). Процессоры совместно с оперативной памятью выполняют программы пользователей и операционной системы; ВЗУ осуществляют процедуру свопинга (подкачки программ и данных из диска в оперативную память или откачки в обратном направлении). Если в момент поступления новой заявки (задания) от одного из терминалов процессор оказался занятым, то она устанавливается в очередь. Из очереди заявки выбираются диспетчером (часть планировщика, на рисунке не показан).
Разделение времени реализуется путем прерывания текущей задачи по истечении кванта времени и назначении освободившемуся процессору новой задачи, находящейся в начале очереди. Указанная процедура называется переключением задач. Величина кванта времени устанавливается ядром операционной системы (обычно в пределах 1-2 мс, но может быть больше или меньше), а его отсчёт производится системным таймером. Если по истечении одного или нескольких квантов времени задача выполнилась, то результат направляется в терминал пользователю для принятия решения.
Операционные системы реального времени
Операционные системы реального времени (ОСРВ - англ. real-timeoperatingsystem) используются для управления различного рода оборудованием, станками, роботами и т.д. Отличительной особенностью ОСРВ является способность гарантировать заданное время реакции, что необходимо для того, чтобы вычислительная система успевала за происходящими событиями. ОСРВ должны обладать большими запасами производительности, чтобы активно реагировать на процессы, поэтому вычислительные системы реального времени очень дорогие. Различают два типа операционных систем реального времени - жесткого реального времени и мягкого реального времени. Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях, называется операционной системой жёсткого реального времени. Операционная система может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого реального времени.