Níveis internos de nicenesa são 0-39, mas incrementos são positivos ou negativos. Fonte . Portanto, a resposta é que os números (positivo e negativo) aceitos pelo comando nice
são o que leva você de 20, o nível padrão, para qualquer lugar no intervalo de 0 a 39.
Então, por que 0-39? O intervalo específico foi o que funcionou na implementação original dos designers. A razão pela qual valores mais positivos são melhores é que o nível legal é adicionado ao uso recente da CPU de um processo para determinar a prioridade. A fim de fornecer um agendamento aproximado de round robin, o kernel controla a quantidade de CPU que cada processo havia gravado recentemente e alterna para processos que não tiveram tanto. Quanto mais alto o nível bom, mais tempo de CPU ele se parece com o processo, e mais frequentemente o agendador irá colocar esse processo em suspensão ou deixá-lo adormecido. Veja O Design do Sistema Operacional UNIX por Maurice J. Bach, Prentice-Hall 1986, sec. 8.1 (8.1.4 para gentileza especificamente). ISBN 0-13-201799-7.