Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по АК.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
752.64 Кб
Скачать

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

Наиболее частая задача планирования это разрешить доступ к процессору одному из активных процессов отвечает за это часть ОС называемая планировщиком, планировщик использует алгоритм планирования, существует несколько алгоритмов планирования. При разработке алгоритмов решается 5 задач:

  1. Равноправие – предоставление каждому процессу адекватные доли процессорного времени.

  2. поддержка максимальной занятости процессора;

  3. Обеспечение быстрой реакции на запросы;

  4. Сокращение оборотного времени т.е. сумарного времени на ожидание времени и обработку задачи;

  5. Повышение пропускной способности – это повышение количества решаемых задач в единицу времени.

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

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

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

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

Планирования в системах реального времени.

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

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

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

Системы реального времени могут быть разделены на поддающиеся планированию и не поддающиеся. Подчиняются условию планируемости:

m – количество периодических событий.

P – период поступления событий.

С – время обработки события.

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

Алгоритмы планирования систем реального времени могут быть статическими и динамическими. Все решения по планировке принимаются заранее системой.

Динамические алгоритмы реального времени имеют несколько реализаций:

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

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

  3. Алгоритм планирования с наименьшей неопределеностью. Согласно алгоритму для каждого процесса расчитывается сколько времени у него в запасе:

L = p – c

Выбирается процесс с наименьшим процентом неопределенности.

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

Механизм планирования определяет как правило ядро ОС.

Политика планирования – это настройки процесса определенного пользователем и необходимые для применения над этим процессом механизма планирования.