Я вивчив деякі концепції планування. Наразі моє розуміння поки що нижче.
- Існують процеси в режимі реального часу та нереальні.
- Процеси не в реальному часі можуть мати
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
який алгоритм буде використовуватися?