Di ps
keluaran, pri_baz
dihitung sebagai pp->priority + 100
, dan pp->priority
adalah prio
nilai dari kernel. Ini dijelaskan sebagai
Prioritas proses dimulai dari 0..
MAX_PRIO
-1, prioritas RT yang valid adalah 0..MAX_RT_PRIO
-1, danSCHED_NORMAL
/SCHED_BATCH
tugas berada dalam rentangMAX_RT_PRIO
..MAX_PRIO
-1. Nilai prioritas dibalik:lebih rendahp->prio
nilai berarti prioritas yang lebih tinggi.
MAX_USER_RT_PRIO
nilai memungkinkan prioritas RT maksimum yang sebenarnya terpisah dari nilai yang diekspor ke ruang pengguna. Hal ini memungkinkan utas kernel menyetel prioritasnya ke nilai yang lebih tinggi daripada tugas pengguna mana pun. Catatan:MAX_RT_PRIO
tidak boleh lebih kecil dariMAX_USER_RT_PRIO
.
Jadi rentang di kernel mencakup 140 nilai, dari 0 hingga MAX_PRIO
–1 (139).
Namun, FIFO minimum dan prioritas RT adalah 1, dan ini menjelaskan nilai yang hilang:nilai masukan (setidaknya, yang dapat diatur dari ruang pengguna, menggunakan sched_setscheduler
) beralih dari 1 ke 99, dan kernel mengubahnya menjadi prio
nilai menggunakan rumus MAX_RT_PRIO
– 1 – prioritas , memberikan nilai dari 0 hingga 98.