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

 

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

 

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

 

25. Алгоритм планирования FIFO.

 

FIFO (акроним First In, First Out — «первым пришёл — первым ушёл») — способ организации и манипулирования данными относительно времени и приоритетов. Это выражение описывает принцип технической обработки очереди или обслуживания конфликтных требований путём упорядочения процесса по принципу: «первым пришёл — первым обслужен» (ПППО). Тот, кто приходит первым, тот и обслуживается первым, пришедший следующим ждёт, пока обслуживание первого не будет закончено, и так далее.

 

26. Алгоритм планирования «Кратчайшее задание первым».

 

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

 

27. Алгоритм планирования потоков RR.

 

Круговое планирование (RR) (Round Robin)/

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

 

28. Алгоритм планирования «Многоуровневые очереди с обратными связями»

 

http://781x.spb.ru/OS/10.files/image002.jpg

 

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

 

29. Справедливое планирование потоков.

 

До сих пор мы предполагали, что каждый процесс фигурирует в планировании сам по себе, безотносительно своего владельца. В результате если пользователь 1 запускает 9 процессов, а пользователь 2 запускает 1 процесс, то при циклическом планировании или при равных приоритетах пользователь 1 получит 90% процессорного времени, а пользователь 2 получит только 10%.

 

Чтобы избежать подобной ситуации некоторые системы перед планированием работы процесса берут в расчет, кто является его владельцем. В этой модели каждому пользователю распределяется некоторая доля процессорного времени и планировщик выбирает процессы, соблюдая это распределение. Таким образом, если каждому из двух пользователей было обещано по 50% процессорного времени, то они его получат, независимо от количества имеющихся у них процессов.

 

В качестве примера рассмотрим систему с двумя пользователями, каждому из которых обещано 50% процессорного времени. У первого пользователя четыре процесса: Л, В, С и Д а у второго пользователя только один процесс — Е. Если используется циклическое планирование, то возможная последовательность планируемых процессов, соответствующая всем ограничениям, будет иметь следующий вид:

 

AEBECEDEAEBECEDE...

 

Но если первому пользователю предоставлено вдвое большее время, чем второму, то мы можем получить следующую последовательность:

 

ABECDEABECDE...

 

Разумеется, существует масса других возможностей, используемых в зависимости от применяемых понятий справедливости. Губадия с мясом

11.Алгоритмы планирования потоков, основанные на квантовании. Статические и динамические приоритеты. Приоритеты процессов и потоков в ОС MS Windows. Базовый и динамический приоритеты в ОС Windows.

 

1 ИСТ = 10 Мсек или 15 Мсек (если ЦП имеет 2 ядра)

КВАНТ = 2 интервала системного таймера (ИСТ)

ПРИОРИТЕТ потока – целое число от 1 до 15 и от 16 до 31 (самый высокий).

Потоки с равными приоритетами получают кванты времени по циклическому алгоритму RR. Поток с меньшим приоритетом голодает

12. Управление базовыми приоритетами процессов ОС Windows/. Управление динамическими приоритетами потоков. 3 причины повышения приоритета потока в ОС MS Windows. Понятие голодающего потока.

Голодающий поток – готовый к выполнению поток, не получивший квант времени в течение 300 ИСТ

Голодающий поток получает 2 кванта времени с приоритетом 15, далее существует в системе со своим приоритетом еще 300 ИСТ, после чего получает 2 кванта с приоритетом 15 и т. д.