Учебники

14) Алгоритмы планирования процессора

Что такое планирование ЦП?

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

Из этого руководства по планированию ЦП вы узнаете:

Типы планирования процессора

Вот два вида методов планирования:

Упреждающее планирование

В упреждающем планировании задачи в основном назначаются с их приоритетами. Иногда важно запустить задачу с более высоким приоритетом перед другой задачей с более низким приоритетом, даже если задача с более низким приоритетом все еще выполняется. Задача с более низким приоритетом удерживается некоторое время и возобновляется, когда задача с более высоким приоритетом завершает свое выполнение.

Непланирующее планирование

В этом типе метода планирования ЦП был выделен для определенного процесса. Процесс, который держит ЦП занятым, освободит ЦП либо переключением контекста, либо завершением. Это единственный метод, который можно использовать для различных аппаратных платформ. Это потому, что ему не нужно специальное оборудование (например, таймер), например, упреждающее планирование.

Когда планирование является упреждающим или не вытесняющим?

Чтобы определить, является ли планирование приоритетным или не преимущественным, рассмотрите следующие четыре параметра:

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

Применяются только условия 1 и 4, планирование называется без вытеснения.

Все остальные расписания являются преимущественными.

Важные термины планирования ЦП

  • Время пакета / время выполнения: это время, необходимое процессу для завершения выполнения. Это также называется временем выполнения.
  • Время прибытия: когда процесс переходит в состояние готовности
  • Время окончания: когда процесс завершен и выход из системы
  • Мультипрограммирование: количество программ, которые могут присутствовать в памяти одновременно.
  • Работа: Это тип программы без какого-либо взаимодействия с пользователем.
  • Пользователь: Это своего рода программа с взаимодействием с пользователем.
  • Процесс: это ссылка, которая используется как для работы, так и для пользователя.
  • Пакетный цикл CPU / IO: характеризует выполнение процесса, которое чередуется между процессором и операциями ввода-вывода. Время ЦП обычно меньше времени ввода-вывода.

Критерии планирования процессора

Алгоритм планирования ЦП пытается максимизировать и минимизировать следующее:

Максимизация:

Использование ЦП: использование ЦП является основной задачей, в которой операционная система должна убедиться, что ЦП остается максимально загруженным. Может варьироваться от 0 до 100 процентов. Однако для ОСРВ она может составлять от 40 процентов для низкого уровня и до 90 процентов для системы высокого уровня.

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

Минимизировать:

Время ожидания: Время ожидания — это количество, которое конкретный процесс должен ждать в очереди готовности.

Время ответа. Это количество времени, за которое запрос был отправлен до получения первого ответа.

Время выполнения: Время выполнения — это количество времени, необходимое для выполнения определенного процесса. Это вычисление общего времени, потраченного на ожидание попадания в память, ожидание в очереди и выполнение на процессоре. Период между временем представления процесса и временем завершения является временем выполнения.

Интервальный таймер

Таймер прерывания — это метод, тесно связанный с вытеснением. Когда определенный процесс получает распределение ЦП, таймер может быть установлен на указанный интервал. И прерывание по таймеру, и прерывание вынуждают процесс возвращать ЦП до завершения его загрузки.

Большая часть многопрограммной операционной системы использует ту или иную форму таймера, чтобы процесс не связывал систему вечно.

Что такое диспетчер?

Это модуль, который обеспечивает управление процессором для процесса. Диспетчер должен быть быстрым, чтобы он мог работать при каждом переключении контекста. Задержка отправки — это время, необходимое планировщику ЦП для остановки одного процесса и запуска другого.

Функции, выполняемые Диспетчером:

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

Типы алгоритмов планирования ЦП

Существует в основном шесть типов алгоритмов планирования процессов

  1. First Come First Serve (FCFS)
  2. Планирование с кратчайшим рабочим заданием (SJF)
  3. Самое короткое оставшееся время
  4. Приоритетное планирование
  5. Круглый Робин Планирование
  6. Многоуровневое планирование очередей

Алгоритмы планирования

Первый пришел первый обслужен

First Come First Serve — это полная форма FCFS. Это самый простой и самый простой алгоритм планирования процессора. В этом типе алгоритма процесс, который запрашивает ЦП, сначала выделяет ЦП. Этим методом планирования можно управлять с помощью очереди FIFO.

Когда процесс входит в готовую очередь, его печатная плата (блок управления процессом) связана с хвостом очереди. Таким образом, когда процессор освобождается, он должен быть назначен процессу в начале очереди.

Характеристики метода FCFS:

  • Он предлагает неперегрузочный и упреждающий алгоритм планирования.
  • Задания всегда выполняются в порядке поступления
  • Это легко реализовать и использовать.
  • Однако этот метод имеет низкую производительность, а общее время ожидания довольно велико.

Самое короткое оставшееся время

Полная форма СТО — самое короткое оставшееся время. Это также известно как упреждающее планирование SJF. В этом методе процесс будет назначен задаче, наиболее близкой к ее завершению. Этот метод не позволяет более новому процессу состояния готовности удерживать завершение более старого процесса.

Характеристики метода планирования СТО:

  • Этот метод в основном применяется в пакетных средах, где предпочтение отдается коротким работам.
  • Это не идеальный метод для его реализации в общей системе, где требуемое время ЦП неизвестно.
  • Связать с каждым процессом как длину его следующего всплеска ЦП. Так что операционная система использует эти длины, что помогает планировать процесс в кратчайшие сроки.

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

Приоритетное планирование — это метод планирования процессов на основе приоритета. В этом методе планировщик выбирает задачи для работы в соответствии с приоритетом.

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

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

Round Robin — самый старый, самый простой алгоритм планирования. Название этого алгоритма происходит от принципа циклического перебора, когда каждый человек получает равную долю чего-то по очереди. Он в основном используется для планирования алгоритмов в многозадачном режиме. Этот метод алгоритма помогает без голодания выполнения процессов.

Характеристики кругового планирования

  • Round Robin — гибридная модель с часовым механизмом
  • Временной интервал должен быть минимальным, который назначается для конкретной задачи, подлежащей обработке. Однако это может варьироваться для разных процессов.
  • Это система реального времени, которая реагирует на событие в течение определенного времени.

Самая короткая работа в первую очередь

SJF — это полная форма (сначала самое короткое задание) — это алгоритм планирования, в котором процесс с наименьшим временем выполнения должен быть выбран для выполнения следующим. Этот способ планирования может быть упреждающим или не упреждающим. Это значительно сокращает среднее время ожидания для других процессов, ожидающих выполнения.

Характеристики SJF Scheduling

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

Планирование многоуровневых очередей

Этот алгоритм разделяет готовую очередь на различные отдельные очереди. В этом методе процессы назначаются в очередь на основе определенного свойства процесса, такого как приоритет процесса, размер памяти и т. Д.

Тем не менее, это не независимый алгоритм ОС планирования, поскольку он должен использовать другие типы алгоритмов для планирования заданий.

Характеристика планирования многоуровневых очередей:

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

Цель алгоритма планирования

Вот причины для использования алгоритма планирования:

  • Процессор использует планирование для повышения его эффективности.
  • Это помогает вам распределять ресурсы между конкурирующими процессами.
  • Максимальное использование CPU может быть достигнуто с помощью мультипрограммирования.
  • Процессы, которые должны быть выполнены, находятся в готовой очереди.

Резюме:

  • Планирование ЦП — это процесс определения того, какому процессу будет принадлежать ЦП для выполнения, пока другой процесс находится в режиме ожидания.
  • В упреждающем планировании задачи в основном назначаются с их приоритетами.
  • В методе без упреждающего планирования ЦП был выделен для конкретного процесса.
  • Пакетное время — это время, необходимое для завершения процесса. Это также называется временем выполнения.
  • Загрузка ЦП является основной задачей, в которой операционная система должна убедиться, что ЦП остается максимально загруженным
  • Число процессов, которые завершают свое выполнение в единицу времени, известно как пропускная способность.
  • Время ожидания — это количество, которое конкретный процесс должен ждать в очереди готовности.
  • Это количество времени, в течение которого запрос был отправлен до получения первого ответа.
  • Время выполнения заказа — это количество времени для выполнения определенного процесса.
  • Таймер прерывания — это метод, который тесно связан с вытеснением,
  • Диспетчер — это модуль, который обеспечивает управление процессором для процесса.
  • Шесть типов алгоритмов планирования процессов:
  • First First First Serve (FCFS), 2) Планирование с кратчайшим заданием (SJF) 3) Кратчайшее оставшееся время 4) Планирование приоритета 5) Планирование циклического перебора 6) Планирование многоуровневой очереди
  • В методе «первым пришел — первым обслужен» процесс, который запрашивает ЦП, сначала выделяет ЦП.
  • В самое короткое оставшееся время процесс будет распределен по задаче, наиболее близкой к ее завершению.
  • В Приоритетном планировании планировщик выбирает задачи для работы в соответствии с приоритетом.
  • В этом циклическом планировании работает по принципу, где каждый человек получает равную долю чего-то по очереди
  • В кратчайшем задании сначала должно быть выбрано самое короткое время выполнения, затем
  • В многоуровневом планировании метод разделяет готовую очередь на различные отдельные очереди. В этом методе процессы назначаются в очередь на основе определенного свойства
  • Процессор использует планирование для повышения его эффективности.