|
Ответы к операционным системам. Вопросы по дисциплине Операционные системы
Алгоритмы управления процессами Управление процессами в среде ОС реализует специальная подсистема «Планировщик». Планировщик – подсистема ОС: управляет порядком выделения центрального процессорного устройства (ЦПУ) ЭВМ-процессам. Для состояний процесса ready и blocked формируются очереди.
Планировщик должен использовать определенную стратегию, чтобы принять решение о том, какой процесс будет выполняться ЦПУ следующим. Другая задача – определить, с каким периодом времени будет использоваться ЦПУ.
Цель любых стратегий планирования – обеспечить:
- максимальную загрузку ЦПУ;
- высокую пропускную способность (число процессов, обработанных в единицу времени);
- минимизацию времени обработки для каждого процесса;
- минимизацию времени отклика – обслуживание всех процессов в системе.
При этом можно выделить три вида планирования обработки процессов: долгосрочное, краткосрочное и среднесрочное.
Долгосрочное планирование процессов. Оно отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования, т.е. количество процессов, одновременно находящихся в системе.
Краткосрочное планирование – планирование использования процессора.
Среднесрочное планирование – когда и какой из процессов нужно перекачать на диск или вернуть обратно – свопинг.
Параметры процесса
Для управления процессами необходимо использовать ряд параметров процесса. Параметры процесса бывают статические и динамические. Статическими параметрами процесса являются:
- размер оперативной памяти, необходимый для успешного выполнения процесса;
- максимальное количество памяти на диске для осуществления свопинга;
- количество подключенных устройств ввода-вывода.
Динамические параметры системы описывают количество свободных ресурсов на данный момент. Кроме перечисленных параметров, важную роль играют временные характеристики процесса. Работу процесса, порожденного запуском программы, можно подразделить на ряд временных интерваловCPUburstиI/Oburst. Временной интервал CPU burst – это время, которое процесс затрачивает на обработку данных, I/O burst – это время, затрачиваемое процессом на выполнение операций ввода –вывода. На рис. 2.2 показан вариант распределения временных интервалов для процесса.
Высокоуровневые алгоритмы борьбы с взаимоисключениями
Алгоритм Shortest-Job-First (SJF)
Из очереди процессов в состоянии готовности выбирается тот процесс, для выполнения которого нужно использовать минимальное время работы ЦПУ. Для реализации алгоритма нужно знать CPU burst для процессов, находящихся в состоянии «Готовность». Выбирается для исполнения процесс с минимальной длительностью CPU burst. Если же таких процессов два или больше, то для выбора одного из них используется алгоритм FIFO.
Shortest Remaining Time First (SRTF)
После каждого прерывания некоторый процесс получает доступ к ЦПУ, если оставшееся время для его завершения минимально.
Алгоритм Highest Priority First (HPF)
Каждый процесс i получает приоритет pi. Процесс занимает ЦПУ до тех пор, пока он не закончится, либо пока не будет блокирован, либо при прерывании новый процесс с приоритетом p j >p i окажется в состоянии готовности.
Гарантированное планирование
Рассмотрим вычислительную систему, в которой N пользователей. Каждый пользователь должен в своем распоряжении иметь 1/N часть процессорного времени.
Для каждого пользователя с номером i введем две величины:
- Ti – время нахождения пользователя в системе;
- ti – суммарное процессорное время уже выделенное всем его процессам в течение сеанса.
Для процессов вычисляется значение коэффициента справедливости:
K=tiN/Ti .
Если T i начинает расти, то коэффициент справедливости уменьшается. Процессы, у которых K стремится к нулю, долго находятся в системе и должны быть либо обслужены в первую очередь, либо выгружены из системы.
Многоуровневые очереди (Multilevel Queue)
Используются в вычислительных системах, в которых процессы могут быть рассортированы по разным группам в соответствии с приоритетом. В вычислительных системах обычно высшим приоритетом является приоритет равный нолю. Это системные процессы. На рис. 2.4 показана схема обработки процессов в пяти группах. Для обработки процессов в группах используется стратегия планирования RR.
Многоуровневые очереди с обратной связью
Процесс не приписан к определенной очереди, а может мигрировать из одной очереди в другую в зависимости от своего поведения. Перевод процессов из одной группы в другую может выполнять администратор вычислительной системы супервизор.
|
|
|