Учебники

Операционная система — планирование процессов

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

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

Очереди планирования процессов

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

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

  • Очередь заданий — в этой очереди хранятся все процессы в системе.

  • Готовая очередь — эта очередь хранит набор всех процессов, находящихся в основной памяти, готовых и ожидающих выполнения. Новый процесс всегда помещается в эту очередь.

  • Очереди устройства — процессы, которые заблокированы из-за недоступности устройства ввода-вывода, составляют эту очередь.

Очередь заданий — в этой очереди хранятся все процессы в системе.

Готовая очередь — эта очередь хранит набор всех процессов, находящихся в основной памяти, готовых и ожидающих выполнения. Новый процесс всегда помещается в эту очередь.

Очереди устройства — процессы, которые заблокированы из-за недоступности устройства ввода-вывода, составляют эту очередь.

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

ОС может использовать разные политики для управления каждой очередью (FIFO, Round Robin, Priority и т. Д.). Планировщик ОС определяет, как перемещать процессы между готовыми и запущенными очередями, которые могут иметь только одну запись на процессорное ядро ​​в системе; на приведенной выше диаграмме он был объединен с процессором.

Модель двух состояний

Модель процесса с двумя состояниями относится к рабочим и неработающим состояниям, которые описаны ниже —

SN Состояние и описание
1

Бег

Когда создается новый процесс, он входит в систему как в рабочем состоянии.

2

Не бегать

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

Бег

Когда создается новый процесс, он входит в систему как в рабочем состоянии.

Не бегать

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

Планировщики

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

  • Долгосрочный планировщик
  • Краткосрочный планировщик
  • Среднесрочный планировщик

Долгосрочный планировщик

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

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

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

Краткосрочный планировщик

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

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

Среднесрочный планировщик

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

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

Сравнение среди Планировщика

SN Долгосрочный планировщик Краткосрочный планировщик Среднесрочный планировщик
1 Это планировщик работы Это планировщик процессора Это планировщик обмена процессами.
2 Скорость меньше, чем краткосрочный планировщик Скорость самая быстрая среди двух других Скорость находится между краткосрочным и долгосрочным планировщиком.
3 Контролирует степень мультипрограммирования Это обеспечивает меньший контроль над степенью мультипрограммирования Это уменьшает степень мультипрограммирования.
4 Она практически отсутствует или минимальна по времени Это также минимальная система разделения времени Это часть систем разделения времени.
5 Он выбирает процессы из пула и загружает их в память для выполнения Он выбирает те процессы, которые готовы выполнить Это может повторно ввести процесс в память, и выполнение может быть продолжено.

Переключение контекста

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

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

Переключение контекста процесса

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