Я изучал некоторые концепции планирования. В настоящее время мое понимание таково, как показано ниже.
- Существуют процессы в реальном времени и не в реальном времени.
- Процессы не в реальном времени могут иметь
nice
значения своего приоритета в диапазоне от -20 до +20 . Более высокое положительное значение указывает, что процесс имеет более низкий приоритет. - Процессы реального времени будут иметь значение точности, как
-
описано в этом ответе здесь . Это происходит главным образом потому, что процессы в реальном времени имеют более высокие приоритеты, чем процессы не в реальном времени, и ценность для них неприменима. - Теперь я могу использовать
chrt
атрибуты процесса в реальном времени.
Для процесса в реальном времени, chrt
вывод дает как,
chrt -p 5
pid 5's current scheduling policy: SCHED_FIFO
pid 5's current scheduling priority: 99
Как мы видим для процесса 5 , приоритет - 99, который является самым высоким. Кроме того, политика планированияSCHED_FIFO
Теперь, для процесса не в реальном времени, chrt
вывод дает как,
chrt -p 22383
pid 22383's current scheduling policy: SCHED_OTHER
pid 22383's current scheduling priority: 0
Как мы видим для процесса 22383 , приоритет равен 0, а политика планирования - SCHED_OTHER
.
Вопросов
- Могу ли я сделать какой-либо процесс в режиме реального времени?
- Могу ли я установить какой-либо другой алгоритм планирования, отличный от
SCHED_OTHER
процесса не в реальном времени? Из здесь , я вижу , что я мог бы изменить атрибут для запущенного процесса , как,
chrt -p prio pid
Кроме того, я вижу,
chrt -m
дает мне список алгоритмов планирования. Команда дает мне вывод как,SCHED_OTHER min/max priority : 0/0 SCHED_FIFO min/max priority : 1/99 SCHED_RR min/max priority : 1/99 SCHED_BATCH min/max priority : 0/0 SCHED_IDLE min/max priority : 0/0
Теперь, как предложено выше, если я установлю,
chrt -p 55 22383
какой алгоритм будет использоваться?
источник