nice値(ナイス値)
プロセスの優先度だよ
UNIX系のOSにおける呼び名だよ
簡単に書くよ
nice値(ナイス値)(読:ナイスチ 英:nice value)とは
プロセス
(本当は ちょっと違うけど、実行中のプログラムのことだと思って いいです)の優先度のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「プロセス」のあれやこれやについて説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プロセスは「メモリを使って何かやっているプログラムひとつひとつ」です。
よく分からなければ「実行中のプログラム」と読み替えてください。
プログラムは動いていればメモリを使っています。
プロセスには優先度があります。
……と、いきなり言われても分かりませんよね。
大丈夫です。
考え方は人間様の世界の優先度と同じです。
例えば、そうですね。
ピヨ太君が宿題をやっていたとします。
そこにピヨ子さんがやってきて「ケーキが食べたいわ。買ってきてよ」と言いました。
ピヨ太君のやるべきことは
1.宿題をやる
2.ピヨ子さんのケーキを買ってくる
の2つになりました。
この2つのうち、大事なのは「ピヨ子さんのケーキを買ってくる」です。
宿題を忘れてもピヨ太君が怒られるだけです。
ピヨ子さんが不機嫌になったら命の危険があります。
ピヨ子さんのケーキを買ってくる方が重要です。
つまり、ピヨ太君にとって
1.宿題をやる → 優先度:低
2.ピヨ子さんのケーキを買ってくる → 優先度:高
なわけです。
ピヨ太君は宿題を放り出して、ピヨ子さんのケーキを買いに行きました。
パソコンさんの世界も同じです。
前提として、プログラムがお仕事をするときはCPUを使います。
CPUはパソコンさんの脳みそです。
実際の計算とかをやってくれる部品です。
例えば、プログラムAとプログラムBが同時に動いているとしましょう。
プログラムAとプログラムBは頑張って働きます。
このとき、処理のタイミングによっては同時にCPUを使うことになります。
CPUが1つの場合は同時に2つのプログラムを相手できません。
仕方がないので、CPUさんは、どちらかに「ちょっと待っててよ」と言います。
順番に1つずつ相手をするのです。
それでは、どちらを待たせましょうね?
どっちのプログラムを贔屓しましょうか?
その判断基準となるのが優先度です。
CPUは優先度が高いプログラムの方を先に相手します。
優先度が低いプログラムは、優先度の高いプログラムの相手が終わるまで待たせます。
CPUさんがどのプロセスを先に相手するか決めるための判断基準がプロセスの優先度です。
以上を踏まえて
UNIX系のOS(Linuxとか)における、プログラムの優先度を示す値
が「nice値」です。
難しく考える必要は ありません。
「nice値」と出てきたら「優先度」と読み替えてください。
優先度を指定してプログラムを実行するときは「nice」というコマンドを使います。
「nice値を設定するからniceコマンド」なのか「niceコマンドで設定するからnice値」なのかは知りません。
卵が先か鶏が先かみたいですね。
あと、実行中のプログラムの優先度を変えるコマンドは「renice」です。
気が向いたら、併せて覚えてあげてください。
一言でまとめるよ
まぁ「nice値」って単語が出てきたら「実行中のプログラムの優先度なんだな~」と お考えください。
おまけ
■訳してみるよ
「nice(ナイス)」の意味は「良い」とか「素晴らしい」とか「すてきな」とかです。
「値」は日本語ですね。
何となく くっつけると
「良い」値
となります。





