Предполагая, что мы прочитали следующий вопрос: Измените правильность (приоритет) запущенного процесса , и мы знаем о правах root, некорневых:
Что на самом деле происходит, когда запущен процесс (Через renice
) или новый процесс (Через nice
) его приоритет изменяется на положительное / отрицательное значение, которое он имел ранее.
Что происходит при изменении приоритета процесса?
На ПК под управлением последних ОС процессы , кажется, работают одновременно, но на самом деле работают один за другим. Процессы могут находиться в нескольких состояниях, здесь упрощено :
Приоритет, который имеет процесс, указывает планировщику выбрать процесс с наивысшим приоритетом. с готовым состоянием, позволяющим использовать ЦП. Таким образом, в случае, когда несколько процессов находятся в состоянии готовности, большую часть времени получит процесс с наивысшим приоритетом. А поскольку Linux является вытесняющим ядром, он может приостановить процессы из запущенного состояния и позволить другим процессам выполнять свою работу. Время получения процессов делится на временные интервалы, и алгоритм для фактического планирования также может быть выбран.
Насколько мне известно, изменение уровня nice
ничего не меняет для менеджера памяти, но да, оно влияет на блокировку ресурсов таким образом, что процессы с более высоким приоритетом должны завершаться раньше.
Предлагаю вам прочитать больше на эту тему: Википедия: Упреждающая многозадачность и О'Рейли - Понимание ядра Linux (2000)
И, кстати, обратите внимание, что более низкий уровень nice
означает более высокий приоритет в Linux. Sup>