Планирование в ОС UNIX

Общие критерии для сравнения алгоритмов планирования

Планирование бывает краткосрочное, среднесрочное и долгосрочное

- использование времени ЦП

- пропускная способность (кол-во процессов в единицу времени)

- время ожидания (в очереди готовых) – влияет на приоритет процесса

- время оборота (полное время от момента поступления до завершения)

- время отклика (для интерактивных программ – время от поступления в систему до момента первого обращения к

терминалу

- предельный срок выполнения процесса

и т.д.

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

Если процесс не завершается или не блокируется в рамках 1 секунды – он вытесняется.

В общем случае значение приоритета есть функция

P=F (CPU, nice), т.е. в вычислении приоритета используются две изменяемые составляющие – CPU (системная) и nice (пользовательская). Учитывается история выполнения, величины CPU и nice ограничены.

Пересчет приоритета процесса происходит в момент выбора процесса для выполнения на ЦП 1 раз в секунду.

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

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

Группы приоритетов

(в порядке убывания)

- программа свопинга

- управление блочными устройствами ввода/вывода

- управление файлами

- управление байт-ориентированными устройствами ввода/вывода

- пользовательские процессы

Иерархия обеспечивает эффективное использование устройств ввода/вывода

СPUj (i) - время использования ЦП процессом j за время i;

Pj (i) - приоритет процесса j в начале кванта i (приоритет выше, если значение меньше);

Basej- базовый приоритет j-го процесса (необходим для разделения процессов на фиксированные группы уровней приоритетов);

nicej - пользовательская составляющая приоритета (значение может только увеличиваться до некоторого уровня).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: