すべてのスケジューリングはプリエンプティブです。より高い静的優先度を持つプロセスが実行可能になると、現在実行中のプロセスがプリエンプトされ、静的優先度レベルの待機リストに戻ります。
ながらのsetpriorityは言います
これにより、ナイス値が非常に低く(+19)、システムに他の優先度の高い負荷がある場合は常にプロセスにほとんどCPUを提供せず、高いナイス値(-20)を必要とするアプリケーションにほとんどのCPUを提供します
では、ナイス値をどのように変更すると、プログラムの実行に影響するのでしょうか?RTスケジューリング(ナイス値の高いプログラムがナイス値の低いプログラムを中断する)に似ていますか?
インターネット上のすべての情報は、使用方法nice
、およびプロセスの優先度を変更する方法です。優先度の異なるプロセスがどのように機能するかを説明するリンクはありません。ソースコードすら見つかりませんでした。