このnice
コマンドを使用すると、プログラムのスケジューリングの優先順位(「ナイスネス」)を調整できます。私が使用したすべてのUnixライクシステムでは、ナイスネスは整数の範囲で指定されます。-20が最も好ましいスケジューリング優先順位、0がデフォルト、19が最も好ましくありません。
デフォルトのナイスネスとして0を使用するのは十分直感的ですが、なぜ範囲のエンドポイントとして-20と19が選択されたのですか?なぜ-128と127は、符号付き8ビットバイトにぴったり収まるのでしょうか?あるいは、小数の人間にとってより直感的な-100から100、または同様に、しかし人間工学的には-99から99である-100から100でないのはなぜですか?-20から19の範囲は任意に選択されましたか、それともnice
最初にインターフェースをとったスケジューラーの内部と何らかの関係がありますか?(少なくともLinuxでは、スケジューラーが0から139の範囲の優先順位を使用するため、そのような関係は今日ないことを理解しています。しかし、-20から19の範囲の歴史的な理由に興味があります。)
min(127, (recent CPU usage on a scale of 0 to 15) + 50 + pp->p_nice - 20
)、および優先順位は<25は、のために予約されました割り込み不可能なことを行うプロセス。そのため、素晴らしさはある種の限られた範囲でなければなりませんでした。