Планирование ЦП Algorithms in OperaТинговые системы

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

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

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

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

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

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

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

Невытесняющее планирование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кратчайшее оставшееся время

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

Характеристики метода планирования SRT

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

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

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

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

Круговое планирование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резюме

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