Управление процессами Дисциплины планирования процессов
Диспетчер процессов Часть исполнительной системы операционной системы, реализующая алгоритм (дисциплину) планирования процессов (потоков) в соответствии с определенными условиями и требованиями, особенностями аппаратной части и операционной системы
Дисциплина планирования Совокупность правил, определяющая последовательность переходов процессов из одного состояния в другое
Требования к дисциплине Эффективность использования ресурсов Производительность системы Справедливость Приемлемое время отклика системы на запросы пользователя и узлов вычислительной системы
Механизмы планирования Таймер – позволяет отсчитывать время выполнения процесса в процессоре и регулировать загрузку процессора Переключение – позволяет подавать сигналы ядру на приостановку/возобновление процесса с переключением контекста Приоритеты – позволяют установить порядок переключения процессов в зависимости от различных факторов выполнения процессов
Очередь (FIFO – First In First Out) Без таймера Без переключения Без приоритетов Процессы выполняются в системе строго в том порядке, в котором они входят в систему Если в данный момент времени выполняется некоторый процесс, то следующий процесс должен ждать его завершения BsBs t процессы А В BeBe C CeCe CsCs Пунктиром показано время ожидания
Карусель (RR – Round Robbing) С таймером С переключением Без приоритетов Время процессора квантуется Каждый процесс в очереди получает некоторый квант для своего выполнения По истечении кванта система активизирует следующий процесс t процессы А В C квант Пунктир – время ожидания процесса Сплошные линии – время активност и
Кратчайшая работа – первая (SJF – Shortest Job First) Без таймера Без переключения С приоритетом Приоритетом является плановое время выполнения процесса Чем меньше плановое время, тем выше приоритет Плановое время определяется пользователем, что может привести к умышленному снижению этого времени t процессы А В BeBe C CeCe T(A) > T(C) > T(B) Момент определения приоритетов. T(C)
Кратчайшая работа – первая (SJF – Shortest Job First) Дисциплина дискриминационная – процессы, имеющие большое плановое время выполнения, могут вообще никогда не выполниться, если в систему постоянно будут входить «короткие» процессы Ненадежный механизм назначения приоритетов – плановое время может быть умышленно задано меньше, чтобы процесс имел больший приоритет Реализуется механизм наказаний за счет введения переключении и консервации t процессы А В BeBe C CeCe T(A) > T(В) > T(С), Но время выполнения процесса В было умышленно занижено Процесс В должен был завершиться, но он продолжает выполняться Вынужденное ожидание процесса С, пока система не включит механизм наказания Процесс В наказан и законсервирован. Он возобновит свою работу после завершения всех «честных» процессов
По кратчайшему оставшемуся времени выполнения (SRT – Shortest Robbing Time) Без таймера С переключениями С приоритетом Приоритетом является оставшееся время выполнения процесса, которое рассчитывается как плановое время минус время активности процесса Переключение происходит в момент входа в систему нового процесса или при выходе завершенного процесса из системы T(A) = 5; T(B) = 4; T(C) = 2 А входит в t = 0 B входит в t = 1 C входит в t = 2 t процессы А В 1 C 2 Момент входа процесса В. Оставшееся время для А – О(А) = 4 О(В) = 4 Переключения нет происходит Момент входа процесса С. Оставшееся время для А – О(А) = 3 О(В) = 4 О(С)=2 Переключение на процесс С Момент выхода процесса С. Оставшееся время для А – О(А) = 3 О(В) = 4 Переключение на процесс А
По наивысшему относительному рейтингу (HRN - Highest Related-rating Next) Без таймера С переключениями С приоритетами Приоритетом считается относительный рейтинг, рассчитанный по формуле При расчете рейтинга учитывается, что процесс долгое время простаивал Чем дольше процесс ожидает, тем выше его рейтинг
По наивысшему относительному рейтингу (HRN - Highest Related-rating Next) T(A) = 5; T(B) = 4; T(C) = 2 А входит в t = 0 B входит в t = 1 C входит в t = 2 t процессы А В 1 C 2 T = 1P(A) = 1 P(B) = 1 Без переключений T=2P(A) = 1 P(C) = 1 P(B) = (4+1)/4 = 1,25 Переключение на В Т = 6Р(А) = (3+4)/3 = 2,33 Р(С) = (2+4)/2 = 3 Переключение на С 6
Многоуровневые очереди с приоритетами С таймером С переключением С приоритетами Реализуется n – очередей Для каждой очереди задается свой размер кванта времени – чем больше номер, тем больше квант Все процессы попадают изначально в первую очередь Если процесс переходит в состояние ожидания, то он выводится из системы, а после возвращения ставится в первую очередь Если процесс в k-ой очереди отработал свой квант времени и снова перешел в состояние готовности (не прервался), то он переводится в очередь k+1 Очередь n реализуется как циклическая