
- •Определение операционной системы, назначение и основные функции ос.
- •3 Классификация ос.
- •4. Эволюция операционных систем.
- •5 Понятие ос реального времени.
- •6 Структура ос
- •8) Создание процесса. Завершение процесса. Иерархия процессов. Состояние процессов
- •9 ) Потоки (нити, облегченный процесс)
- •10) Модель потока
- •12) Реализация потоков в пространстве пользователя, ядра и смешанное
- •13) Взаимодействие между процессами
- •14)Передача информации от одного процесса другому. Состояние состязания. Критические области
- •15) Взаимное исключение с активным ожиданием
- •16) Примитивы взаимодействия процессов
- •17) Проблема переполненного буфера (проблема производителя и потребителя)
- •18) Семафоры
- •19) Решение проблемы переполненного буфера с помощью семафора
- •21) Основные понятия планирования процессов. Задачи алгоритмов планирования
- •22) Планирование в системах пакетной обработки
- •Наименьшее оставшееся время выполнения
- •Трехуровневое планирование
- •24) Планирование в интерактивных системах
- •24) Планирование в системах реального времени
- •Выполнение задачи
- •29) Взаимоблокировка процессов
- •30) Моделирование взаимоблокировок
- •31) Методы борьбы с взаимоблокировками
- •32) Пренебрежением проблемой в целом (страусовый алгоритм)
- •33) Обнаружение и устранение взаимоблокировок
- •34) Динамическое избежание взаимоблокировок. Предотвращение четырех условий, необходимых для взаимоблокировок
- •11.3 Динамическое избежание взаимоблокировок
- •11.4 Предотвращение четырех условий, необходимых для взаимоблокировок
- •38) Своппинг
- •39) Виртуальная память
- •40) Страничная организация памяти
- •41) Алгоритмы замещения страниц
- •42) Алгоритм часы
- •43) Понятие «рабочий набор»
- •45) Политика распределения памяти
- •46) Совместно используемые страницы
- •48) Сборка мусора
- •49) Алгоритмы освобождения памяти
- •50) Сегментная организация памяти
- •51) Блочные устройства
- •52) Символьные устройства
- •53) Что такое контроллер прерываний
- •54) Зачем нужен контроллер прерываний
- •54) Механизм обработки прерываний
Наименьшее оставшееся время выполнения
Версией предыдущего алгоритма с переключениями является алгоритм наименьшего оставшегося времени выполнения. В соответствии с этим алгоритмом планировщик каждый раз выбирает процесс с наименьшим оставшимся временем выполнения. В этом случае также необходимо заранее знать время выполнения задач. Когда поступает новая задача, ее полное время выполнения сравнивается с оставшимся временем выполнения текущей задачи. Если время выполнения новой задачи меньше, текущий процесс приостанавливается и управление передается новой задаче. Эта схема позволяет быстро обслуживать короткие запросы.
Трехуровневое планирование
Системы пакетной обработки позволяют реализовать трехуровневое планирование, как показано на рисунке. По мере поступления в систему новые задачи сначала помещаются в очередь, хранящуюся на диске. Впускной планировщик доступа выбирает задание и передает его системе. Остальные задания остаются в очереди.
24) Планирование в интерактивных системах
Циклическое планирование
Самый простой алгоритм планирования и часто используемый.
К
аждому
процессу предоставляется квант времени
процессора. Когда квант заканчивается
процесс переводится планировщиком в
конец очереди. При блокировке процессор
выпадает из очереди.
Преимущества:
Простота
Справедливость (как в очереди покупателей, каждому только по килограмму)
Недостатки:
Если частые переключения (квант - 4мс, а время переключения равно 1мс), то происходит уменьшение производительности.
Если редкие переключения (квант - 100мс, а время переключения равно 1мс), то происходит увеличение времени ответа на запрос.
Приоритетное планирование
Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким приоритетом.
Приоритет может быть динамический и статический.
Динамический приоритет может устанавливаться так:
П=1/Т, где Т- часть использованного в последний раз кванта
Если использовано 1/50 кванта, то приоритет 50.
Если использован весь квант, то приоритет 1.
Т.е. процессы, ограниченные вводом/вывода, будут иметь приоритет над процессами ограниченными процессором.
Часто процессы объединяют по приоритетам в группы, и используют приоритетное планирование среди групп, но внутри группы используют циклическое планирование.
8(а) Статический алгоритм планирования RMS (Rate Monotonic Scheduling)
Процессы должны удовлетворять условиям:
Процесс должен быть завершен за время его периода
Один процесс не должен зависеть от другого
Каждому процессу требуется одинаковое процессорное время на каждом интервале
У непериодических процессов нет жестких сроков
Прерывание процесса происходит мгновенно
Приоритет в этом алгоритме пропорционален частоте.
Процессу А он равен 33 (частота кадров)
Процессу В он равен 25
Процессу С он равен 20
Процессы выполняются по приоритету.
Статический алгоритм планирования RMS (Rate Monotonic Scheduling)
8(б) Динамический алгоритм планирования EDF (Earliest Deadline First)
Наибольший приоритет выставляется процессу, у которого осталось наименьшее время выполнения.
При больших загрузках системы EDF имеет преимущества.
Рассмотрим пример, когда процессу А требуется для обработки кадра - 15мс.
Проверяем, можно ли планировать эти процессы.
15/30+15/40+5/50=0.975<1
Загрузка системы 97.5%
Динамический алгоритм планирования EDF (Earliest Deadline First)