Общее планирование реального времени

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

Планирование в системах реального времени (слайд №49, 50, 51)

Справедливое планирование

Лотерейное планирование

Гарантированное планирование

В системе с n-процессами, каждому процессу будет предоставлено 1/n времени процессора.

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

Процессорное время распределяется среди пользователей, а не процессов. Это справедливо если у одного пользователя несколько процессов, а у другого один.

 

Системы реального времени делятся на:

· жесткие (жесткие сроки для каждой задачи) - управление движением

· гибкие (нарушение временного графика не желательны, но допустимы) - управление видео и аудио

Внешние события, на которые система должна реагировать, делятся:

· периодические - потоковое видео и аудио

· непериодические (непредсказуемые) - сигнал о пожаре

 

В качестве однородных процессов можно рассмотреть видео сервер с несколькими видео потоками (несколько пользователей смотрят фильм).

Т.к. все процессы важны, можно использовать циклическое планирование.

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

 

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

Планировщик должен знать:

· частоту, с которой должен работать каждый процесс

· объем работ, который ему предстоит выполнить

· ближайший срок выполнения очередной порции задания

Рассмотрим пример из трех процессов.

Процесс Азапускается каждые 30мс, обработка кадра 10мс

Процесс Вчастота 25 кадров, т.е. каждые 40мс, обработка кадра 15мс

Процесс Счастота 20 кадров, т.е. каждые 50мс, обработка кадра 5мс

 

Три периодических процесса

 

Проверяем, можно ли планировать эти процессы.

10/30+15/40+5/50=0.808<1

Условие выполняется, планировать можно.

Будем планировать эти процессы статическим(приоритет заранее назначается каждому процессу) и динамическимметодами.