Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на ОС.docx
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
204.32 Кб
Скачать
  1. Приоритетное планирование

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

  1. Алгоритм- самый короткий следующий

Алгоритм без переключений для систем пакетной обработки, предполагающий, что временные отрезки работы известны заранее. Например, служащие страховой компании могут довольно точно предсказать, сколько времени займет обработка пакета из 1000 исков, поскольку они делают это каждый день. Если в очереди есть несколько одинаково важных задач, планировщик выбирает первой самую короткую задачу. Посмотрите на рис. 2.11. У нас есть четыре задачи: А, В, С и Р, со временем выполнения 8, 4, 4 и 4 мин соответственно. Если мы запустим их в данном порядке, оборотное время задачи А будет 8 мин, В — 12 мин, С — 16 мин, 0 — 20 мин и среднее время будет равно 14 мин.

А

В

С

О

В

С

О

А

Рис. 2.11. Пример алгоритма планирования «Кратчайшая задача — первая»: а — запуск четырех задач в исходном порядке; б — запуск в соответствии с алгоритмом

  1. Алгоритм- гарантированного планирования

При интерактивной работе N пользователей в вычислительной системе можно применить алгоритм планирования, который гарантирует, что каждый из пользователей будет иметь в своем распоряжении ~1/N часть процессорного времени. Пронумеруем всех пользователей от 1 до N. Для каждого пользователя с номером i введем две величины: Ti – время нахождения пользователя в системе или, другими словами, длительность сеанса его общения с машиной и τi – суммарное процессорное время уже выделенное всем его процессам в течение сеанса. Справедливым для пользователя было бы получение Ti/N процессорного времени. Если

τi<<Ti/N

то i-й пользователь несправедливо обделен процессорным временем. Если же

τi>>Ti/N

то система явно благоволит к пользователю с номером i. Вычислим для процессов каждого пользователя значение коэффициента справедливости

τiN/Ti

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

  1. Лотерейное планирование

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

  1. Планирование с использованием многоуровневых очередей

Многоуровневые очереди (Multilevel Queue). Для систем, в которых процессы могут быть легко рассортированы по разным группам, был разработан другой класс алгоритмов планирования. Для каждой группы процессов создается своя очередь процессов, находящихся в состоянии готовность. Этим очередям приписываются фиксированные приоритеты. Например, приоритет очереди системных процессов устанавливается выше, чем приоритет очередей пользовательских процессов. А приоритет очереди процессов, запущенных студентами, ниже, чем для очереди процессов, запущенных преподавателями. Это значит, что ни один пользовательский процесс не будет выбран для исполнения, пока есть хоть один готовый системный процесс, и ни один студенческий процесс не получит в свое распоряжение процессор, если есть процессы преподавателей, готовые к исполнению. Внутри этих очередей для планирования могут применяться самые разные алгоритмы. Так, например, для больших счетных процессов, не требующих взаимодействия с пользователем (фоновых процессов), может использоваться алгоритм FCFS, а для интерактивных процессов – алгоритм RR.

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