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

Определение

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

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

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

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

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

  • Job queue - В этой очереди хранятся все процессы в системе.

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

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

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

Модель процесса с двумя состояниями

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

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

Running

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

2

Not Running

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сравнение между планировщиком

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

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

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

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

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

  • Счетчик команд
  • Информация о расписании
  • Базовое и предельное значение регистра
  • Текущий регистр
  • Измененное состояние
  • Информация о состоянии ввода / вывода
  • Бухгалтерская информация