Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
аттестация 1.doc
Скачиваний:
60
Добавлен:
12.03.2015
Размер:
406.53 Кб
Скачать

3.5.Вытесняющее и не вытесняющее планирование

Существует четыре возможных случая смены состояний процесса в результате планирования:

  1. процесс переводится из состояния «исполнение» в состояние «закончил исполнение».

  2. процесс переводится из состояния «исполнение» в состояние «ожидание».

  3. процесс переводится из состояния «исполнение» в состояние «готовность»

  4. процесс переводится из состояния «ожидание» в состояние «готовность».

В первых двух случаях операционная система вынуждена выбрать новый процесс, поскольку он не может продолжить свое исполнение. Данный вид планирования называется невытесняющим. В последних двух случаях операционная система может приостановить работу процесса и выбрать новый процесс для исполнения или разрешить процессу работать дальше, поскольку процесс может без прерывания продолжить свою работу. Планирование в в случае приостановке работы процеса называется вытесняющими.

У невытесняющего алгоритма до минимума сокращены затраты на переключение контекста. Он эффективен и прост в реализации. К недостатку метода относится возможность зацикливания в результате захвата процессора одним процессом. В этом случае производится перезагрузка всей вычислительной системы.

Вытесняющее планирование используется в системах разделения времени. Операционная система использует таймер для генерации сигнала прерывания по истечении кванта времени. По сигналу прерывания процессор передается в распоряжение следующему процессу. Каждому процессу гарантируется процессорное время, что предотвращает зависание в результате зацикливания какой-либо программы.

3.5.Алгоритмы планирования

В настоящее время существует множество алгоритмов планирования. Ниже приведены наиболее распространенные алгоритмы

3.5.1.Планирование по принципу fifo

Наиболее простым и легким является алгоритм FIFO (первый пришедший обслуживается первым). По данному алгоритму из очереди процессов, находящихся в состоянии «готовность», в состояние «исполнение» выбирается процесс из начала очереди. Очередь выстраивается в порядке прихода процессов в очередь готовности. Процесс использует процессор до завершения своей работы. По окончании выбирается новый процесс из начала очереди. Используется невытесняющее планирование. Недостатком метода является то, что длинные задания заставляют ждать короткие, менее важные задания более важные. Его не рекомендуется использовать при интерактивной работе. В современных системах он редко используется самостоятельно, но часто комбинируется с другими схемами

3.5.2.Циклическое планирование)

При циклическом планирование диспетчирование процессов осуществляется по методу FIFO, однако каждый раз процессу предоставляется ограниченное количество времени, называемому квантом. Если процесс не заканчивается до истечения выделенного ему кванта времени, то процессор у него отбирается и предоставляется следующему ожидающему процессу. Процесс, у которого перехватили ЦП, переходит в конец списка готовых к выполнению процессов.

При больших величинах кванта времени, процесс может завершиться до окончания выделенного ему времени и алгоритм циклического планирования вырождается в алгоритм FIFO. При малых величинах кванта времени каждый из n процессов работает с производительностью ~ 1/n от производительности реального процессора. Это справедливо при пренебрежении времени переключения контекста процессов. Частое переключение контекста увеличивает накладные расходы системы на переключение. Производительность системы резко падает.