
- •1.Лекция 1.Операционная система. Введение
- •1.1.Структура вычислительной системы
- •1.2.Что такое операционная система
- •1.2.1. Операционная система как виртуальная машина.
- •1.2.2.Операционная система как менеджер ресурсов
- •1.2.3.Операционная система как защитник пользователей и программ
- •1.2.4.Операционная система как постоянно функционирующее ядро
- •1.3.История эволюции вычислительных систем
- •1.3.1.Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
- •1.3.2.Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •1.3.3.Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •1.3.4.Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •1.4. Функции операционной системы.
- •1.5.Основные понятия, концепции ос
- •1.5.1.Системные вызовы
- •1.5.2.Прерывания
- •1.5.3.Исключительные ситуации
- •1.5.4.Файлы
- •1.6.Архитектурные особенности ос
- •1.6.1.Монолитное ядро
- •1.6.2.Многоуровневые или слоеные системы (Layered systems)
- •1.6.3.Виртуальные машины
- •1.6.4.Микроядерная архитектура
- •1.6.5.Смешанные системы
- •1.7.Классификация операционных систем
- •1.7.1.Реализация многозадачности
- •1.7.2.Поддержка многопользовательского режима
- •1.7.3.Многопроцессорная обработка
- •1.7.4.Системы реального времени
- •2 Процессы
- •2.1.Понятие процесса
- •2.2.Состояния процесса
- •2.3.Операции над процессами и связанные с ними понятия
- •2.3.1.Набор операций
- •2.3.2.Блок управления процессом (рсв Process Control Block) и контекст процесса
- •2.3.3.Одноразовые операции
- •2.3.4.Многоразовые операции
- •2.3.5.Переключение контекста
- •2.3.7.Нити исполнения
- •2.4.Заключение
- •3. Планирование процессов
- •3.1.Уровни планирования
- •3.2.Цели планирования
- •3.4. Критерии планирования
- •3.5.Вытесняющее и не вытесняющее планирование
- •3.5.Алгоритмы планирования
- •3.5.1.Планирование по принципу fifo
- •3.5.2.Циклическое планирование)
- •3.5.3. Планирование по принципу кратчайшее задание - первым
- •3.5.4.Гарантированное планирование
- •3.5.5.Приоритетное планирование
- •3.5.6.Многоуровневые очереди (Multilevel Queue)
- •3.5.7.Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •3.6.Заключение
- •4. Лекция: Кооперация процессов и основные аспекты ее логической организации
- •4.1.Взаимодействующие процессы
- •4.2.Средства обмена информацией
- •4.3.Логическая организация механизма передачи информации
- •4.4.Информационная валентность процессов и средств связи
- •4.5.Особенности передачи информации с помощью линий связи
- •4.5.1.Буферизация
- •4.5.2.Поток ввода/вывода и сообщения
- •4.5.3.Надежность средств связи
- •4.5.4.Завершение связи
- •4.6.Нити исполнения
- •4.7.Заключение
3.2.Цели планирования
В настоящее время существует множество алгоритмов планирования. Выбор алгоритма определяется классом решаемых задач и критериями, предъявляемые к алгоритмам планирования. Ниже представлены критерии планирования:
справедливость (ни один процесс не может пострадать от бесконечного откладывания, гарантия каждому процессу части времени процессора);
эффективность (обеспечить максимальную пропускную способность системы, т.е. обслуживать максимально возможное количество процессов в единицу времени, 100% занятость рабочего времени процессора и минимум времени простаивания процессора в ожидании процессов, готовых к исполнению: в реальных вычислительных системах загрузка процессора колеблется от 40 до 90%);
обеспечить максимальному количеству пользователей, работающих в интерактивном режиме, приемлемые времена ответов
предсказуемость (Задание должно выполняться приблизительно за одно и то же время независимо от нагрузки системы)
минимизация накладных расходов (под накладными расходами понимают потерю ресурсов)
сбалансированность использования ресурсов (повышение коэффициента использования системных ресурсов, предпочтение должно оказываться тем процессам, которые будут занимать недогруженные ресурсы)
Обеспечение баланса между временем ответа и коэффициентом использования ресурсов ( наличие свободных ресурсов гарантируют малое время ответа, но это снижает общий коэффициент использования ресурсов. В системах реального времени существенно минимальное время реакции)
Исключение бесконечного откладывания (учет старения процесса, когда с увеличением периода времени, в течение которого процесс ожидает освобождения некоторого ресурса, растет его приоритет)
Учет приоритетов (механизмы планирования должны оказывать предпочтение процессам с более высоким приоритетом)
Оказывать предпочтение процессам, занимающим ключевые ресурсы (процесс более низкого приоритета может удерживать за собой некоторый ключевой ресурс, который требуется процессам с более высоким приоритетом. Если этот ресурс не является оперативно перераспределяемым, то механизм планирования должен создать для этого процесса лучшие, чем обычно условия, чтобы процесс быстрее освободил, удерживаемый им ключевой ресурс)
Создавать лучшие условия для процессов, отличающихся примерным поведением (требуют меньшей подкачки страниц)
Постепенность снижения работоспособности при больших нагрузках (предотвращение чрезмерных нагрузок, не разрешая создавать новые процессы либо постепенно снижает уровень обслуживания для всех процессов в случае увеличения нагрузки)
Многие цели и критерии планирования могут противоречить друг другу.
3.4. Критерии планирования
Существуют статические и динамические параметры планирования. Статические параметры не изменяются в ходе функционирования вычислительной системы, динамические подвержены постоянным изменениям.
К статическим параметрам относятся предельные значения ресурсов вычислительной системы или характеристики заданий на этапе загрузки. Примеры статических характеристик: каким пользователем запущен процесс или сформировано задание, приоритет выполнения поставленной задачи, ресурсы вычислительной системы (оперативная память, устройства ввода-вывода, специальные библиотеки и системные программы, максимальное количество памяти на диске для осуществления свопинга и т. д.)
Динамические параметры системы описывают количество свободных ресурсов на данный момент времени. Примеры динамических параметров: сколько времени прошло с момента выгрузки процесса на диск или его загрузки в оперативную память; сколько оперативной памяти занимает процесс; сколько процессорного времени уже предоставлено процессу
Алгоритмы долгосрочного планирования используют статические и динамические параметры вычислительной системы и статические параметры процессов (динамические параметры процессов на этапе загрузки заданий еще не известны). Алгоритмы краткосрочного и среднесрочного планирования дополнительно учитывают и динамические характеристики процессов.
Для достижения целей планирования механизм планирования должен учитывать следующие факторы
Лимитирует ли процесс ЦП (будет ли он использовать процессор до истечения кванта времени)
Обязательность быстрой реакции (системы реального времени требуют быстрой реакции)
Приоритетность процессов (создание лучших условий для процессов с высокими приоритетами)
Частота прерываний по отсутствии нужных страниц при выполнении процесса (Малое количество прерываний характерно для процессов, которые уже сформировали свои рабочие множества в оперативной памяти и наоборот. Есть мнение, что предпочтение следует отдавать первым процессам, но есть и другое, поскольку процессы, которые не сформировали свои рабочие множества будут занимать процессор на короткие промежутки времени перед генерацией запроса на ввод-вывод)
Насколько часто процесс приостанавливается из-за переключения на процесс более высокого приоритета. Часто приостанавливаемым процессам следует создавать менее благоприятные условия для работы, поскольку для запуска такого процесса операционной системе каждый раз следует идти на накладные расходы и короткое время работы процесса перед приостановкой их не оправдывает)
Сколько времени уже получил данный процесс (Одни считают, что предпочтение следует отдавать процессу, который получил меньше времени, другие считают, что процесс, который получил много времени близок к завершению и быстрее покинет систему)