Алгоритмы планирования необходимы в операционных системах для эффективного управления выполнением процессов. Они определяют порядок, в котором процессам выделяется время процессора, влияя на производительность системы и отзывчивость. В этой статье сравниваются три общих алгоритма: First-Come, First-Served (FCFS), Shortest Job First (SJF) и Round Robin, с расчетами для иллюстрации их различий.

Первый пришел, первый обслуживается (FCFS)

FCFS запланирует процессы в том порядке, в котором они прибывают. Это просто, но может привести к длительному ожиданию более коротких процессов, известных как «эффект конвоя».

Пример: Процессы с разорванными 5, 3 и 8 приходят последовательно. На диаграмме Ганта показан порядок выполнения и вычисления времени ожидания и оборота.

Расчеты:

  • Процесс 1: Время ожидания = 0, время оборота = 5
  • Процесс 2: Время ожидания = 5, время оборота = 8
  • Процесс 3: Время ожидания = 8, время оборота = 16

Самая короткая работа (SJF)

SJF выбирает процесс с наименьшим временем разрыва, минимизируя среднее время ожидания, но заранее имея представление о продолжительности процесса.

Используя те же процессы, SJF запланировал их как 3, 5, а затем 8 единиц, что приводит к различным временам ожидания.

Расчеты:

  • Процесс 2: Время ожидания = 0, время оборота = 3
  • Процесс 1: Время ожидания = 3, время оборота = 8
  • Процесс 3: Время ожидания = 8, время оборота = 16

Круглый Робин Спланирование

Раунд Робин присваивает каждому процессу фиксированный временной срез или квант. Процессы цикличны до завершения, способствуя справедливости и отзывчивости.

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

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

  • Процесс 1: Время ожидания = 4, время оборота = 9
  • Процесс 2: Время ожидания = 2, время оборота = 5
  • Процесс 3: Время ожидания = 8, время оборота = 16