Дисциплины диспетчеризации

 

Все современные ОС используют краткосрочное планирование, т.е. планирование на текущий момент времени. Задачи долгосрочного планирования не ставится. Это краткосрочное планирование ставит задачу управлять как «диспетчер». Различают 2 вида обслуживания задач- с приоритетом и без приоритета. Приоритеты могут быть фиксированные и динамические.

Рассмотрим наиболее частые способы диспетчеризации:

 

  1. FCFS(FIFO). Основная идея состоит в том, чтобы все задачи обслуживались в порядке их появления. Это основная цель.

 

 

 

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

 

  1. SYN. Дисциплина обрабатывает самые короткие задачи. Для задачи должно быть указано ожидаемое время исполнения.

Чтобы избежать явного занижения времени исполнения дисциплина предусматривает систему штрафов. При этом дисциплиной создается только одна очередь задач готовых к исполнению. Причем приоритет дается задаче для которых указано наименьшее время исполнения.

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

 

  1. SRT. Следующей задача, обслуживается та, которая требует наименьшее время для завершения.

 

Рассмотренные дисциплины обслуживания наиболее распространены для систем, которые обслуживают большое кол-во задач в фоновом или пакетном режиме. В современных компьютерах эти дисциплины применяются реже.

 

4. PR. Каждая задача получает некоторый квант времени, затем передается другой задаче.

 

Главная проблема при реализации дисциплины заключается в правильном выборе кванта времени. Он осуществляется на основании компромисса: большой квант времени при наличии большого кол-ва задач будет приводить к плохому времени реакции для большинства задач. Хотя в этом случае естественно малы не производительные затраты т.е затраты на чтение и запись дескриптора процесса, если выбрать малый квант времени, то процессорное время будет работать неэффективно, хотя продолжение задач будет хорошее. Возможны вариации. Очередей может быть много. Для каждого приоритета своя очередь.

Выбирая все задачи из очереди с большим приоритетом, потом из очереди с меньшим приоритетом. Почти все ОС используют эту дисциплину.

 

P.S. по сути дела PR реализует один из основных способов мультипрограммирования.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: