To nice
polecenie pozwala dostosować priorytet planowania („bezpieczeństwo”) programu. We wszystkich używanych przeze mnie systemach uniksowych niceness jest określona przez zakres liczb całkowitych, gdzie -20 jest najkorzystniejszym priorytetem planowania, 0 jest domyślnym, a 19 jest najmniej korzystnym.
Posiadanie 0 jako domyślnej wartości jest wystarczająco intuicyjne, ale dlaczego -20 i 19 zostały wybrane jako punkty końcowe zakresu? Dlaczego nie -128 i 127, które dokładnie pasowałyby do podpisanego bajtu 8-bitowego? Albo dlaczego nie -100 do 100, co jest bardziej intuicyjne dla ludzi o dziesiętnych umysłach, lub podobnie, ale nieco bardziej ergonomicznie, od -99 do 99? Czy zakres od -20 do 19 został wybrany arbitralnie, czy też ma jakiś związek z wewnętrznymi elementami harmonogramu, z którymi nice
pierwotnie współpracował? (Rozumiem, że dzisiaj nie ma takiej relacji, przynajmniej w przypadku Linuksa, którego harmonogram używa priorytetów w zakresie od 0 do 139. Interesują mnie jednak historyczne przyczyny zakresu od -20 do 19).
min(127, (recent CPU usage on a scale of 0 to 15) + 50 + pp->p_nice - 20
), a priorytety <25 były zarezerwowane dla procesy wykonujące nieprzerwane rzeczy. Więc uprzejmość musiała być swego rodzaju ograniczonym zasięgiem.