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

3.5.3ShortestJob–First

Для алгоритма FCSF и RR весьма существенным является порядок расположения процессов в очереди. Рассмотрим пример, в котором будем полагать, что вся деятельность процессов ограничивается использованием одного непрерывного промежутка времени использования процессора и что времени перехода с одного процесса на другой очень маленькое; будем полагать, что времена процессов в неких условных единицах и сведено все в таблицу.

Процесс

Р0

Р1

Р2

Р3

Продолжительность CPU Burst

5

3

7

1

Очевидно, что первым на исполнение должен быть поставлен процесс Р3, затем Р1, Р0 и Р2. И время ожидания будет: (0+5+8+15)/4 = 7

Время

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Р0

Г

Г

Г

Г

И

И

И

И

И

Р1

Г

И

И

И

Р2

Г

Г

Г

Г

Г

Г

Г

Г

Г

И

И

И

И

И

И

И

И

Р3

И

Время ожидания: (0+1+4+9)/4 = 3,5

Можно математически показать, что для заданного набора процессов, если в очереди не появляются новые процессы, алгоритм SJF является оптимальным с точки зрения минимизации среднего времени ожидания среди класса всех невытесняющих алгоритмов.

3.5.4 Гарантированное планирование

Пусть работает n-пользователей с данной ОС. Реализовано, чтобы каждый имел 1/n часть процессорного времени. Для каждого пользователя введем величины:

  1. Тi– время нахождения пользователя в системе

  2. τi– суммарное процессорное время уже выделенное всем процесса пользователя в течение сеанса

  3. τii– пользовательское время

  4. αi– коэффициент справедливости, равныйτi/(τi/N)

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

3.5.5 Приоритетное планирование

Алгоритмы SJF и гарантированного планирования – это частые случаи приоритетного планирования. При таком планирования пользователю присваивается приоритет, опираясь на который планировщик предоставляет процессор процессу с наивысшим приоритетом (0). Если приоритет одинаков, то алгоритм – FCFS.

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

Чаще всего наиболее просто реализуются алгоритмы со статическими приоритетами. Наиболее гибкие алгоритмы с динамическими приоритетами.

Главная проблема приоритетного планирования в том, что при некорректной реализации низкоприоритетные процессы могут вообще не запускаться. Решение этой проблемы возможно следующим образом – время от времени увеличивать приоритет процессов, находящихся в состоянии «готовность», а когда процесс побывал в состоянии «исполнение» ему восстанавливается первоначальный приоритет.