- •Планирование
- •Глава 9. Планирование в системах с одним процессором
- •Глава 10. Многопроцессорное планирование и планирование реального времени
- •Глава 9 Планирование в системах с одним процессором
- •9.2. Алгоритмы планирования
- •9.3. Традиционное планирование unix
- •9.4. Резюме, ключевые термины и контрольные вопросы
- •9.5. Рекомендуемая литература
- •9.6. Задачи
9.4. Резюме, ключевые термины и контрольные вопросы
Операционная система должна принимать во время выполнения процессов три типа решений, связанных с планированием. Долгосрочное планирование определяет, когда новый процесс должен поступить в систему. Среднесрочное планирование является частью свопинга и определяет, когда программа должна быть полностью или частично загружена в основную память, с тем чтобы она могла выполняться. Краткосрочное планирование определяет, какой из готовых к выполнению процессов будет выполняться процессором следующим.
При разработке краткосрочного планировщика может использоваться ряд различных критериев. В соответствии с некоторыми из них поведение системы рассматривается с точки зрения пользователя, другие же ориентированы на общую эффективность системы, что отвечает нуждам всех пользователей. Некоторые из критериев можно легко выразить количественно, другие же по своей природе в большей степени качественные. С точки зрения пользователя наиболее важным критерием является время отклика, в то время как с позиции системы более важна степень использования процессора.
Имеется ряд алгоритмов краткосрочного планирования, осуществляющих выбор среди готовых к выполнению процессов.
Первым поступил — первым обслужен. Выбирается процесс, ожидающий обслуживания дольше других.
Круговое планирование. Использует кванты времени для ограничения времени непрерывного выполнения процесса, циклически обслуживая имеющиеся процессы.
Выбор самого короткого процесса. Выбирается процесс с наименьшим ожидаемым временем работы; вытеснение процессов не применяется.
Наименьшее остающееся время. Выбирается процесс с наименьшим ожидаемым временем оставшейся работы. Процесс может быть вытеснен другим готовым к выполнению процессом.
Наивысшее отношение отклика. Принимаемое решение опирается на оценку нормализованного времени оборота.
Снижение приоритета. Определяет множество очередей и распределяет в них процессы, основываясь на истории выполнения и других критериях.
Выбор алгоритма планирования зависит от ожидаемой производительности и сложности реализации.
Ключевые термины
Беспристрастность Краткосрочное Предсказуемость Время оборота планирование Пропускная способность (пребывания в системе) Круговое планирование Скорость поступления Время обслуживания Первым поступил - процессов Время ожидания первым обслужен Справедливое планирование Время отклика Первым вошел — первым Среднесрочное Диспетчер вышел планирование Долгосрочное планирование Планирование с учетом Степень использования Квант времени приоритетов процессора |
Контрольные вопросы
Кратко опишите три типа планирования процессов.
Какое требование к производительности системы является критическим в случае использования интерактивной операционной системы?
В чем заключается отличие времени оборота от времени отклика?
Какой приоритет (высокий или низкий) представляет малое значение в случае планирования процессов?
В чем заключается отличие планирования с вытеснением от невытесняющего планирования?
Кратко опишите FCFS-планирование.
Кратко опишите круговое планирование.
Кратко опишите стратегию выбора самого короткого процесса.
Кратко опишите стратегию наименьшего остающегося времени.
Кратко опишите стратегию наивысшего отношения отклика.
Кратко опишите стратегию со снижением приоритета.