该nice
命令允许您调整程序的调度优先级(“ niceness”)。在我使用过的所有类Unix系统上,niceness由一系列整数指定,其中-20是最有利的调度优先级,默认值为0,最不利的调度优先级是19。
将默认值设为0足够直观,但是为什么选择-20和19作为范围的端点?为什么不使用-128和127,它们恰好适合带符号的8位字节?还是为什么不使用-100到100(对于十进制思维的人来说更直观),或者类似地但在人机工程学上更容易使用-99到99?-20至19的范围是任意选择的还是nice
与最初与之交互的调度程序的内部有某种关系?(我知道,至少对于Linux来说,今天没有这种关系,Linux的调度程序使用的优先级在0到139之间。但是,我对-20到19范围的历史原因很感兴趣。)
min(127, (recent CPU usage on a scale of 0 to 15) + 50 + pp->p_nice - 20
),而优先级<25被保留用于流程在做不间断的事情。因此,好感必须在有限的范围内。