nice
Команда дозволяє змінити пріоритет планування ( «люб'язність») програми. У всіх системах, подібних Unix, які я використовував, приємність визначається цілим діапазоном цілих чисел, де -20 є найбільш сприятливим пріоритетом планування, 0 - за замовчуванням, а 19 - найменш сприятливим.
Наявність 0 як типової приємності досить інтуїтивно зрозуміло, але чому для кінцевих точок діапазону були обрані -20 та 19? Чому б не -128 та 127, які б точно відповідали підписаному 8-бітовому байту? Або чому б не від -100 до 100, що є більш інтуїтивним для десятково налаштованих людей, або аналогічно, але трохи ергономічніше, від -99 до 99? Чи був діапазон від -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 були зарезервовані для процеси, що роблять речі безперебійного користування. Тож приємність мала бути видом обмеженого діапазону.