Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Операционные системы 2015, лекция № 6

758 views

Published on

Планирование процессов и потоков

Видео можно посмотреть на канале http://www.youtube.com/playlist?list=PLjSDyY6BQPVe2Zhxew5rJy2S-2_9t1vvn

Published in: Education
  • Be the first to comment

Операционные системы 2015, лекция № 6

  1. 1. Операционные Системы 6. Планирование процессов Брагин Алексей Владимирович aleksey@reactos.org ИУ9, МГТУ им. Н.Э. Баумана
  2. 2. Планирование (scheduling) • Переключение контекста – Происходит прерывание – Поток вызывает исключение или ловушку (trap) – Что делать после этого? Выбирать другой поток • Уже был затронут вопрос об очереди готовых процессов • Решение о том, кому дать следующий квант времени – планирование – Не путать с переключением контекста, что является просто механизмом передачи управления © 2013 Брагин А.В. 2
  3. 3. Классы планировщиков • Пакетный – Ориентирован на длительные, вычислительноёмкие задачи • Интерактивный – Ориентирован на снижение времени отклика • Реального времени – Ориентированы на дедлайн (предельный срок завершения какой-либо работы) © 2013 Брагин А.В. 3
  4. 4. Уровни планирования • Долговременный – Решает какие новые задачи будут добавлены • Среднесрочный – Решает, нужно ли временно выгружать программу во вторичную память • Краткосрочный – Решает, какому потоку дать следующий квант процессорного времени, какой длины – Координирует выполняющиеся потоки на разных процессорах © 2013 Брагин А.В. 4
  5. 5. Производительность – основная задача • Измеряется различными, часто противоречивыми, метриками – Макс. использования ЦП – Макс. пропускной способности (число выполненных запросов в единицу времени) – Мин. среднего времени отклика (среднее время от подачи запроса до завершения обработки ответа) – Мин. среднего времени ожидания (среднее время от подачи запроса до начала его выполнения) – Мин. энергии (Джоулей на инструкцию) © 2013 Брагин А.В. 5
  6. 6. Метрики планирования • Время поступления ta: когда процесс становится «готовым» • Время ожидания Tw :время потраченное на ожидание ЦП • Время выполнения Ts : время, потраченное на выполнение на ЦП • Время оборота Tr : общее время на ожидание и выполнение © 2013 Брагин А.В. 6 1 2 4 3 5 прибыл 5 выполняется ta Tw Ts Tr =Tw + Ts Поступление (очередь готовых) Выполнение на ЦП Процесс 5 задерживается предыдущими процессами, запланированными к выполнению время 6 прибыл Рис. из курса ОС университета Aberdeen , Великобритания
  7. 7. Алгоритмы планирования • FIFO – первым пришёл - первым обслужен • Кратчайшая работа следующей • Round-robin • Многоуровневая очередь • Многоуровневая очередь с обратной связью © 2013 Брагин А.В. 7
  8. 8. FIFO • Невытесняющая многозадачность • Процессы планируются по мере их поступления • Время выполнения не учитывается • Другие процессы с меньшим временем Tr вынуждены ждать (снижает отзывчивость системы) • Когда процесс переходит в состояние готовности, он помещается в конец очереди © 2013 Брагин А.В. 8
  9. 9. Пример FIFO 1 • Три процесса прибывают в одно время t=0 в порядке P1, P2, P3. • Необходимое время для выполнения процесса: – Burst(P1)=24 – Burst(P2)=3 – Burst(P3)=3 • Время ожидания – Wait(P1) = 0 – Wait(P2) = 24 – Wait(P3) = 27 – Среднее время ожидания = 17 условных единиц © 2013 Брагин А.В. 9
  10. 10. Пример FIFO 2 • Но если запланировать в другом порядке, то время отклика системы снизится! • Допустим, процессы поступают в порядке P2, P3, P1 • Время ожидания: P2=0, P3=3, P1=6 • Среднее время ожидания: 3 © 2013 Брагин А.В. 10
  11. 11. Summary по FIFO • Лучше подходит для длительных, требовательных к времени ЦП процессов • Плохое использование ЦП и устройств ввода/вывода • Среднее время ожидания сильно варьируется © 2013 Брагин А.В. 11
  12. 12. Кратчайшая работа следующей • Невытесняющая политика планирования • Пытается следующей выполнить самый короткий процесс (т.е. процесс, имеющий самое короткое время обработки) • Сложности - нужно оценивать требуемое время обработки для каждого процесса – Для пакетных заданий на основе предыдущего опыта или вручную – Для интерактивных заданий на основе затраченного времени • Короткий процесс помещается в начало очереди © 2013 Брагин А.В. 12
  13. 13. Кратчайшая работа следующей 2 • Вытесняющий вариант – сортировка по самому короткому остаточному времени • Процессы, уже выполняющиеся на ЦП вытесняются самым близким к завершению заданием • Меньше общее время оборота процесса • Меньше время ожидания ЦП © 2013 Брагин А.В. 13
  14. 14. Планирование с приоритетами • Проблема старвации («голодания», «зависания») • Числовой приоритет ассоциируется с каждым процессом (меньше число – выше приоритет) • Время ЦП выделяется процессу с наивысшим приоритетом (вытесняюще или невытесняюще) • Алгоритм Кратчайшая Работа Следующей – это алгоритм с приоритетом = времени, требуемым процессом для работы © 2013 Брагин А.В. 14
  15. 15. Планирование с приоритетами 2 • Старвация – проявляется в алгоритме КРС – Низкоприоритетные процессы могут никогда не выполниться • Решение проблемы – Ввести понятие «старения»: по мере течения времени увеличивать приоритет процесса – Приоритет = Оценочное время выполнения на ЦП – время ожидания © 2013 Брагин А.В. 15
  16. 16. Round-robin • Название означает цикличность • Вытесняющее планирование • Квант времени – Каждый процесс получает фиксированную единицу процессорного времени (напр., от 10 до 100 мс) – После истечения кванта процессорного времени, процесс вытесняется и помещается в очередь Готовых. – Процессы планируются всегда в том же порядке © 2013 Брагин А.В. 16
  17. 17. Round-robin 2 • Каждый процесс получает одинаковый квант времени – Не сложно подсчитать: Если квант времени – q, и n процессов в очереди, то каждый получит 1/n времени ЦП, кусками максимум по q. – Никакой из процессов не ожидает больше, чем (n-1)*q единиц времени. © 2013 Брагин А.В. 17
  18. 18. Round-robin 3 • Производительность – Если q – большое, то RR становится FIFO – Если q – малое, то всё хорошо: • нет старвации • высокая отзывчивость системы • равное распределение времени • Но если q меньше, чем время затрачиваемое на переключение контекста, тогда диспетчер будет неэффективным • Недостаток: Процессы с интенсивным В/В (т.е. заблокированные в ожидании завершения В/В) полностью не используют свой квант времени, поэтому процессы с интенсивным использованием ЦП получают преимущество © 2013 Брагин А.В. 18
  19. 19. Многоуровневые очереди • Очередь Готовых разбивается на несколько разных очередей – Интерактивные процессы – Фоновые процессы (пакетная обработка) • У каждой очереди – свой алгоритм планирования – У интерактивных – RR – У фоновых – FIFO © 2013 Брагин А.В. 19
  20. 20. Многоуровневые очереди 2 • Планирование должно также осуществляться между очередями – Планирование с фиксированным приоритетом • Вначале обслужить все интерактивные, потом все фоновые • Возможна старвация – Разделение времени • Каждой очереди выделяется часть времени ЦП, которое она может распланировать между своими процессами • Напр., 80% времени на интерактивные процессы через RR, и 20% на фоновые через FIFO © 2013 Брагин А.В. 20
  21. 21. Многоуровневые очереди с обратной связью • Процессы размещаются по очередям на основе затраченного времени ЦП (burst time) © 2013 Брагин А.В. 21 Квант = 32 Квант = 64 FIFO
  22. 22. Многоуровневые очереди с обратной связью • Планировщик определяется следующими параметрами: – Числом очередей – Алгоритмами планирования в каждой очереди – Методом, используемым для определения принадлежности процесса к той или иной очереди © 2013 Брагин А.В. 22
  23. 23. Пример • Три очереди – Q0 – RR с квантом 16 мс – Q1 – RR с квантом 32 мс – Q2 – FIFO • Планирование – Новый процесс помещается в конец очереди Q0 • Когда процесс из этой очереди получает ЦП, то выделяется квант времени 16 мс • Если процесс выполняется дольше, он вытесняется и помещается в очередь Q1 – В очереди Q1 процесс помещается в конец • Когда процесс из этой очереди получает ЦП, то выделяется квант времени 32 мс • Если процесс выполняется дольше, он вытесняется и помещается в очередь Q2 © 2013 Брагин А.В. 23

×