Планирование процессов в ОС: долгосрочный, средний, краткосрочный планировщик

⚡ Умное резюме

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

  • 🗓️ Определение: Планирование процессов управляет процессами, находящимися в состояниях готовности, ожидания и выполнения, чтобы поддерживать загрузку центрального процессора.
  • 📥 Очереди: Очереди заданий, готовых к выполнению процессов и очередей устройств организуют процессы в соответствии с их состоянием выполнения.
  • 🔀 Двухсостоятельная модель: На самом простом уровне процесс либо выполняется, либо не выполняется.
  • 🧑💼 Три планировщика: Планировщики долгосрочного, среднесрочного и краткосрочного планирования контролируют, какие процессы запускаются и когда.
  • Короткий срок: Планировщик ЦП работает быстрее всего, выбирая готовый процесс для немедленного выполнения.
  • 🔁 Переключение контекста: Сохранение и восстановление состояния процессора на печатной плате позволяет выполнять многозадачность.

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

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

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

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

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

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

Три типа очередей операционной системы:

  1. Очередь заданий – Это помогает вам хранить все процессы в системе.
  2. Готовая очередь – Этот тип очереди помогает вам настроить каждый процесс, находящийся в основной памяти, который готов и ожидает выполнения.
  3. Очереди устройств – Это процесс, который заблокирован из-за отсутствия устройства ввода-вывода.
Очереди планирования процессов
Очереди планирования процессов

На приведенной выше диаграмме:

  • Прямоугольник обозначает очередь.
  • Кружок обозначает ресурс.
  • Стрелкой показан ход процесса.
  1. Каждый новый процесс сначала помещается в очередь «Готов». Он ожидает в этой очереди, пока его окончательно не обработают для выполнения. Здесь новый процесс помещается в очередь «Готов» и ожидает, пока его не выберут для выполнения или не отправят на выполнение.
  2. Одному из процессов выделен процессор, и он находится в процессе выполнения.
  3. Процесс должен инициировать запрос ввода-вывода.
  4. Затем его следует поместить в очередь ввода-вывода.
  5. Данный процесс должен создать новый подпроцесс.
  6. Процесс должен дождаться своего завершения.
  7. Его следует принудительно удалить из ЦП в результате прерывания. После завершения обработки прерывания его следует отправить обратно в очередь готовых задач.

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

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

  • Состояние выполнения
  • Не запущенное состояние

Бег

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

Не бегать

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

Цели планирования

Вот важные задачи планирования процессов:

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

Тип планировщиков процессов

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

В основном существует три типа планировщиков процессов:

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

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

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

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

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

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

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

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

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

Разница между планировщиками

Долгосрочные, краткосрочные и среднесрочные перспективы:

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

Что такое переключение контекста?

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

Часто задаваемые вопросы (FAQ)

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

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

Блок управления процессом (Process Control Block, PDR) — это структура данных, используемая операционной системой для хранения всей информации о процессе, такой как его состояние, счетчик команд, регистры и ограничения памяти. Он необходим для сохранения и восстановления процессов при переключении контекста.

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

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

Подведем итог этой публикации следующим образом: