Алгоритмы планирования ЦП в операционных системах

Содержание:

Anonim

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

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

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

  • Что такое планирование ЦП?
  • Типы расписания ЦП
  • Важные термины планирования ЦП
  • Критерии планирования ЦП
  • Интервальный таймер
  • Что такое диспетчер?
  • Типы алгоритмов планирования ЦП
  • Первым пришел, первым обслужен
  • Наименьшее оставшееся время
  • Планирование на основе приоритета
  • Планирование с циклическим перебором
  • Кратчайшее задание - сначала
  • Планирование многоуровневых очередей
  • Цель алгоритма планирования

Типы расписания ЦП

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

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

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

Планирование без вытеснения

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

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

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

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

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

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

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

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

Критерии планирования ЦП

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

Максимизировать:

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

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

Свести к минимуму:

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

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

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

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

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

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

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

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

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

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

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

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

  1. Первое прибытие - первое обслуживание (FCFS)
  2. Планирование с первым наименьшим заданием (SJF)
  3. Наименьшее оставшееся время
  4. Приоритетное планирование
  5. Планирование с циклическим перебором
  6. Многоуровневое планирование очереди
Алгоритмы планирования

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

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

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

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

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

Наименьшее оставшееся время

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

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

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

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

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

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

Планирование с циклическим перебором

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

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

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

Кратчайшее задание - сначала

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

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

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

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

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

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

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

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

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

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

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

Резюме:

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