Спонсор: Microsoft
Санкт-Петербургский государственный университет
Опубликован: 13.11.2010 | Доступ: свободный | Студентов: 6691 / 1521 | Оценка: 4.64 / 4.23 | Длительность: 45:08:00
ISBN: 978-5-9963-0495-0
Лекция 11:

Стратегии и критерии диспетчеризации процессов

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Аннотация: В лекции рассмотрены: планирование и диспетчеризация процессора; критерии диспетчеризации; стратегии диспетчеризации (FCFS, SJF, RR); многоуровневые очереди, диспетчеризация мультипроцессорных систем и систем реального времени.

Презентацию к данной лекции Вы можете скачать здесь.

Введение

Планирование и диспетчеризация процессора – одна из важнейших функций операционной системы. В лекции рассмотрены следующие вопросы:

  • Основные понятия диспетчеризации процессов
  • Критерии диспетчеризации
  • Алгоритмы диспетчеризации
  • Диспетчеризация нескольких процессоров
  • Диспетчеризация в реальном времени
  • Многоуровневые очереди.

Основные понятия диспетчеризации процессов

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

Исполнение любого процесса можно рассматривать как цикл CPU / I-O чередование периодов использования процессора и ожидания ввода-вывода.

Распределение периодов активности процессора ( bursts ) и ввода-вывода изображено на рис. 11.1.

Последовательность активных фаз процессора и фаз ввода-вывода.

Рис. 11.1. Последовательность активных фаз процессора и фаз ввода-вывода.

На рис. 11.2 изображена примерная гистограмма периодов активности процессора, основанная на анализе реального поведения процессов в операционных системах.

Гистограмма периодов активности процессора.

Рис. 11.2. Гистограмма периодов активности процессора.

Из схемы видно, что чем короче период активности, тем выше частота таких периодов, и наоборот, т.е. частота периодов активности обратно пропорциональна их длительности.

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

Планировщик – компонента ОС, которая выбирает один из нескольких процессов, загруженных в память и готовых к выполнению, и выделяет процессор для одного из них.

Решения по диспетчеризации могут быть приняты в случаях, если процесс:

  1. Переключается из состояния выполнения в состояние ожидания.
  2. Переключается из состояния выполнения в состояние готовности к выполнению.
  3. Переключается из состояния ожидания в состояние готовности.
  4. Завершается.

Диспетчеризация типов 1 и 4 обозначается термином диспетчеризация без прерывания процесса (non-preemptive).

Диспетчеризация типов 2 и 3 обозначается термином диспетчеризация с прерыванием процесса (preemptive).

Собственно диспетчер процессора

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

  • Переключает контекст
  • Переключает процессор в пользовательский режим
  • Выполняет переход по соответствующему адресу в пользовательскую программу для ее рестарта.

Скрытая активность (латентность) диспетчера (dispatch latency) – время, требуемое для диспетчера, чтобы остановить один процесс и стартовать другой. Разумеется, система должна стремиться минимизировать это время, однако набор критериев диспетчеризации более сложен.

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков