готовность

Download Report

Transcript готовность

Основы операционных систем

Лекция 3. Планирование процессов

Уровни планирования процессов

   Долгосрочное планирование – планирование заданий.

Среднесрочное планирование – swapping.

Краткосрочное планирование – планирование использования процессора.

Цели планирования

     Справедливость Эффективность Сокращение полного времени выполнения (turnaround time) Сокращение времени ожидания (waiting time) Сокращение времени отклика (response time)

Желаемые свойства алгоритмов планирования

    Предсказуемость Минимизация накладных расходов. Равномерность загрузки вычислительной системы. Масштабируемость.

Параметры планирования

  Статические параметры вычислительной системы – например, предельные значения ее ресурсов.

Статические параметры процесса – кем запущен, степень важности, запрошенное процессорное время, какие требуются ресурсы и т.д.

статические   Динамические параметры вычислительной системы – например, количество свободных ресурсов в данный момент.

Динамические параметры процесса – текущий приоритет, размер занимаемой оперативной памяти, использованное процессорное время и т.д.

динамические

CPU burst и I/O burst

Важные динамические параметры процесса a=1 b=2 read c Ожидание окончания ввода a=a+c ∗ b print a Ожидание окончания вывода CPU burst I/O burst CPU burst I/O burst

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

1.

2.

Перевод процесса из состояния

исполнение закончил исполнение

Перевод процесса из состояния

исполнение ожидание

в состояние в состояние Вынужденное принятие решения Принятие только вынужденных решений – невытесняющее планирование 3.

4.

Перевод процесса из состояния

исполнение готовность

Перевод процесса из состояния

готовность ожидание

в состояние в состояние Невынужденное принятие решения Принятие вынужденных и невынужденных решений – вытесняющее планирование

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

FCFS (First Come – First Served) P 0 P 1 P 2 P 0

готовность исполнение

P 1 P 2 0 1

готовность исполнение

5

исполнение исполнение исполнение

13 17 t

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

RR (Round Robin) Процессор

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

RR (Round Robin)   Остаток времени CPU burst <= кванта времени: – процесс освобождает процессор до истечения кванта; – на исполнение выбираем новый процесс из начала очереди готовых; Остаток времени CPU burst >= кванта времени: – По окончании кванта процесс помещается в конец очереди готовых к исполнению процессов; – на исполнение выбираем новый процесс из начала очереди готовых.

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

RR (Round Robin) Процессы Продолжительность CPU burst P 0 13 P 1 4 P 2 1 Величина кванта времени – 4 время P 0 P 1 P 2 1 2 3 4 И И И И Г Г Г Г Г Г Г Г 5 6 7 8 Г Г Г Г И Г И И Г Г И Г Г 9 И 10 11 12 13 14 15 16 17 18 И И И И И И И И И исполнение P 0 Очередь готовых P 0 P 0 P 2

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

RR (Round Robin) Процессы Продолжительность CPU burst P 0 13 P 1 4 P 2 1 Величина кванта времени – 1 время P 0 P 1 P 2 1 И Г Г 2 Г И Г 3 Г Г И 4 И Г 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Г И И Г И Г И Г И И И И И И И И И Г И исполнение P 2 Очередь готовых P 2 P 1 P 1

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

SJF (Shortest Job First) невытесняющий Процессы Продолжительность CPU burst время 1 P 0 Г Г 2 Г 3 4 Г 5 И 6 7 И И P 1 P 2 Г Г И И Г Г И Г Г Г Г P 3 И Г P 5 Г 0 P 3 1 P 7 2 P 1 3 8 9 И И 10 11 12 13 14 15 16 И И И И И И И исполнение P 3 P 0 готовность P 1 P 2 P 3

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

SJF (Shortest Job First) вытесняющий Процессы Продолжительность CPU burst Момент появления в очереди P 0 6 0 P 1 2 2 P 2 5 6 P 3 5 0 время P 0 P 1 P 2 P 3 Г 1 Г 2 И И 3 4 Г Г И И Г Г 5 6 Г 7 Г 8 9 Г Г 10 Г 11 Г 12 13 14 Г И И исполнение P 3 Г И И И И И И готовность P 0 P 1 P 2 15 16 Г И И И И И И P 3 17 18

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

SJF (Shortest Job First) приближение

T(n+1) τ(n)

– величина

n

-го CPU burst – предсказание для

n+1

-го CPU burst

α

– параметр от 0 до 1

T(n+1)= α τ(n) + (1 – α)T(n), T(0)

– произвольно Если

α = 0

, то

T(n+1) = T(n) =…= T(0),

нет учета последнего поведения Если

α = 1

, то

T(n+1) = τ(n),

нет учета предыстории

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

Гарантированное планирование В системе разделения времени N пользователей:

T i

– время нахождения

i

-го пользователя в системе

τ i

– суммарное процессорное время процессов

i

-го пользователя

τ τ i i

‹‹ ››

T T i i /N /N – –

пользователь обделен пользователю благоволят (

τ i

N) /

T i

– коэффициент справедливости.

На исполнение выбираются готовые процессы пользователя с наименьшим коэффициентом справедливости

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

Приоритетное планирование Каждому процессу процессор выделяется в соответствии с приписанным к нему числовым значением - приоритетом Параметры для назначения приоритета бывают: внешние внутренние Политика изменения приоритета: статический приоритет динамический приоритет

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

Приоритетное планирование невытесняющий Процессы Продолжительность CPU burst Момент появления в очереди Приоритет P0 6 0 4 P1 2 2 3 P2 5 6 2 P3 5 0 1 время P 0 P 1 P 2 P 3 Г 1 Г 2 3 4 Г Г Г Г Г Г 5 6 7 Г Г И И Г 8 9 Г Г 10 Г И И И 11 Г 12 И И 13 14 15 16 17 18 Г И И И И И И И И И И И исполнение P 3 P 0 готовность P 1 P 2 P 3

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

Приоритетное планирование вытесняющий Процессы Продолжительность CPU burst Момент появления в очереди Приоритет P0 6 0 4 P1 2 2 3 P2 5 6 2 P3 5 0 1 время P 0 P 1 P 2 P 3 Г 1 Г 2 3 4 Г Г Г Г Г Г 5 6 Г И 7 8 9 10 11 Г Г Г И Г Г Г Г И И И Г Г Г И 12 13 14 15 16 17 18 Г И И И И И И И И И И И И исполнение P 3 P 0 готовность P 1 P 2 P 3

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

Многоуровневые очереди (Multilevel Queue) Системные процессы приоритет 0 RR Процессы ректората приоритет 1 RR Процессы преподавателей приоритет 2 RR Фоновые процессы приоритет 3 FCFS Процессы студентов приоритет 4 RR

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

Многоуровневые очереди с обратной связью (Multilevel Feedback Queue) Клавиатурный ввод Очередь 0 – Приоритет 0 RR с квантом времени 8 Очередь 1 – Приоритет 1 RR с квантом времени 16 Очередь 2 – Приоритет 2 RR с квантом времени 32 Очередь 3 – Приоритет 3 FCFS Дисковый I/O

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

Многоуровневые очереди с обратной связью (Multilevel Feedback Queue) Для полного описания необходимо задать -

-

количество очередей в состоянии

готовность

алгоритм планирования между очередями алгоритмы планирования внутри очередей куда помещается родившийся процесс правила перевода процессов из одной очереди в другую