V ps
výstup, pri_baz
se vypočítá jako pp->priority + 100
a pp->priority
je prio
hodnotu z jádra. Toto je popsáno jako
Priorita procesu je od 0...
MAX_PRIO
-1, platná priorita RT je 0...MAX_RT_PRIO
-1 aSCHED_NORMAL
/SCHED_BATCH
úlohy jsou v rozsahuMAX_RT_PRIO
..MAX_PRIO
-1. Hodnoty priority jsou převrácené:nižšíp->prio
hodnota znamená vyšší prioritu.
MAX_USER_RT_PRIO
hodnota umožňuje, aby byla skutečná priorita maximumRT oddělena od hodnoty exportované do uživatelského prostoru. To umožňuje vláknům jádra nastavit svou prioritu na hodnotu vyšší než jakákoli uživatelská úloha. Poznámka:MAX_RT_PRIO
nesmí být menší nežMAX_USER_RT_PRIO
.
Rozsah v jádře tedy pokrývá 140 hodnot, od 0 do MAX_PRIO
–1 (139).
Minimální priorita FIFO a RT je však 1, což vysvětluje chybějící hodnotu:vstupní hodnoty (alespoň, které lze nastavit z uživatelského prostoru pomocí sched_setscheduler
) přejít od 1 do 99 a jádro je převede na prio
hodnoty pomocí vzorce MAX_RT_PRIO
– 1 – priorita s hodnotami od 0 do 98.