Операционные системы. Макушкина Л.А - 13 стр.

UptoLike

13
2.1.4 Гарантированное планирование
При интерактивной работе N пользователей в вычислительной системе можно
применить алгоритм планирования, который гарантирует, что каждый из
пользователей будет иметь в своем распоряжении ~1/N часть процессорного
времени. Пронумеруем всех пользователей от 1 до N. Для каждого пользователя с
номером i введем две величины: T
i
время нахождения пользователя в системе
или, другими словами, длительность сеанса его общения с машиной и τi
суммарное процессорное время уже выделенное всем его процессам в течение
сеанса. Справедливым для пользователя было бы получение T
i
/N процессорного
времени. Если
τ
i
<<T
i
/N
то i-й пользователь несправедливо обделен процессорным временем. Если же
τ
i
>>T
i
/N
то система явно благоволит к пользователю с номером i. Вычислим для
процессов каждого пользователя значение коэффициента справедливости
τ
i
N/T
i
и будем предоставлять очередной квант времени готовому процессу с
наименьшей величиной этого отношения.
Таблица 9
Процесс
p
0
p
1
p
2
Продолжительность
очередного CPU burst
6 4 4
Пользователь
1 2 2
Предложенный алгоритм называют алгоритмом гарантированного
планирования. К недостаткам этого алгоритма можно отнести невозможность
предугадать поведение пользователей.
Таблица 10
Поль. Время
1 2 3 4 5 6 7 8 9 10
1 p
0
K=0 И И I/O О Г Г K=2*1/5=0,4 Г Г K=2*1/7=0,28 И И И
2 p
1
K=0 Г Г K=0 И И И I/O О Г K=3*2/7=0,86 Г Г Г
2 p
2
K=0 Г Г K=0 Г Г Г K=0 И И I/O О Г Г
Если некоторый пользователь отправится на пару часов пообедать и поспать, не
прерывая сеанса работы, то по возвращении его процессы будут получать
неоправданно много процессорного времени.
2.1.5 Приоритетное планирование
Алгоритмы SJF и гарантированного планирования представляют собой частные
случаи приоритетного планирования. При приоритетном планировании каждому
процессу присваивается определенное числовое значение приоритет, в
соответствии с которым ему выделяется процессор. Процессы с одинаковыми
приоритетами планируются в порядке FCFS. Для алгоритма SJF в качестве такого
приоритета выступает оценка продолжительности следующего CPU burst. Чем
меньше значение этой оценки, тем более высокий приоритет имеет процесс. Для
   2.1.4 Гарантированное планирование
   При интерактивной работе N пользователей в вычислительной системе можно
применить алгоритм планирования, который гарантирует, что каждый из
пользователей будет иметь в своем распоряжении ~1/N часть процессорного
времени. Пронумеруем всех пользователей от 1 до N. Для каждого пользователя с
номером i введем две величины: Ti – время нахождения пользователя в системе
или, другими словами, длительность сеанса его общения с машиной и τi –
суммарное процессорное время уже выделенное всем его процессам в течение
сеанса. Справедливым для пользователя было бы получение Ti/N процессорного
времени. Если
                                      τi<>Ti/N
   то система явно благоволит к пользователю с номером i. Вычислим для
процессов каждого пользователя значение коэффициента справедливости
                                        τiN/Ti
   и будем предоставлять очередной квант времени готовому процессу с
наименьшей величиной этого отношения.
                                                                                                       Таблица 9
                                                                 p0       p1       p2
                                    Проце сс
                             Продолж ите льность
                                                                 6        4         4
                            оче ре дного CPU burst
                                Пользовате ль                    1        2         2
   Предложенный     алгоритм     называют  алгоритмом   гарантированного
планирования. К недостаткам этого алгоритма можно отнести невозможность
предугадать поведение пользователей.
                                                                                                   Таблица 10
Поль.   Вре мя          1     2          3   4   5                    6   7                    8   9    10

  1       p0     K =0   И    И    I/O    О   Г   Г   K =2*1/5=0,4     Г   Г    K =2*1/7=0,28   И   И    И


  2       p1     K =0   Г    Г    K =0   И   И   И        I/O         О   Г    K =3*2/7=0,86   Г   Г    Г


  2       p2     K =0   Г    Г    K =0   Г   Г   Г        K =0        И   И         I/O        О   Г    Г

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

   2.1.5 Приоритетное планирование
   Алгоритмы SJF и гарантированного планирования представляют собой частные
случаи приоритетного планирования. При приоритетном планировании каждому
процессу присваивается определенное числовое значение – приоритет, в
соответствии с которым ему выделяется процессор. Процессы с одинаковыми
приоритетами планируются в порядке FCFS. Для алгоритма SJF в качестве такого
приоритета выступает оценка продолжительности следующего CPU burst. Чем
меньше значение этой оценки, тем более высокий приоритет имеет процесс. Для
                                                     13