seegongsik
単語帳
オペレーティングシステム

誰を先に呼ぶか

席は一つ、待つ仕事は何人も。呼ぶ順番が待ちを変えます。

01

誰を先に呼びますか

窓口は一つなのに、待っている人は何人もいます。
一度に一人しか呼べないので、誰を先に呼ぶか決めなければなりません。先に来た人。用事がすぐ終わる人。急いでいる人。
この「呼ぶ順番を決めること」がスケジューリングです。CPUの前にも仕事が列を作っていて、どれを先に処理するか誰かが決める必要があります。

窓口待っている今呼ばれた

席は一つ、待つ仕事は何人も。呼ぶ順番を決める。

スケジューリングは、待っている仕事のうちどれを先に処理するか決めることです。

02

順番を変えると待ち時間も変わります

同じ三人の客がいます。一人は用事が長く、二人は短いです。
上は来た順に呼びます。長い用事が先頭だと、後ろの短い二人はそれが終わるまでずいぶん待ちます。下は短い用事を先に呼びます。短い二人がすぐ終わり、長い一人だけ残ります。
客も用事も同じなのに、順番を変えただけで、みんなが待った時間の平均が変わりました。

来た順411平均の待ち 3.0短い用事先114平均の待ち 1.0

同じ三人でも、呼ぶ順番によって平均の待ちが変わる。

仕事の量が同じでも、順番を変えると平均の待ち時間が変わります。

03

自分で順番を決めてみます

四人の客が待っています。それぞれ用事の長さが違います。
誰を先に呼ぶか順番を変えると、下にみんなが待った時間の平均がすぐ出ます。
短い用事を前に置くと平均が減り、長い用事を前に置くと増えます。いろいろ動かしてみて、どの順番が平均を一番減らすか探してみてください。

1
4
2
1
3
3
4
2
平均の待ち4.25
短い用事を前に動かすほど平均が減ります。自分で動かして一番低い値を探してみてください。

順番を変えながら、平均の待ちがどう変わるか見てください。

短い用事を先にすると平均の待ちは減りますが、それがいつも正解とは限りません。

04

速ければいいとは限りません

短い用事ばかり先に呼ぶと平均は減ります。でも用事がとても長い客は、自分の番がずっと後回しにされて、いつまでも待つことになりかねません。
だから別のやり方もあります。一人に集中させず、みんなに少しずつ交代で順番を回すのです。誰も最後まで後回しにされません。
その代わり、頻繁に交代するとその分だけ席を替える代償がかかります。速さを取るか、公平さを取るか、ただの選択はありません。

集中速いが、誰かが待ち続ける速さ公平少しずつ交代公平だが替える代償が出る

短い用事優先は速いが、長い用事がずっと後回しになりうる。

平均を減らす速さと、誰も後回しにされない公平さは、互いに引き換えです。

05

一枚にまとめます

三つだけ覚えれば大丈夫です。
一つ目、スケジューリングは呼ぶ順番を決めることです。席は一つで、待つ仕事は何人もいるからです。
二つ目、順番を変えると平均の待ちが変わります。短い用事を先にすると平均が減ります。三つ目、それでも正解は一つではありません。速さと公平さは引き換えで、頻繁に交代すれば替える代償もかかります。

一つ目
スケジューリングは呼ぶ順番を決めること。席は一つ、待つ仕事は何人も。
二つ目
順番を変えると平均の待ちが変わる。短い用事を先にすると平均が減る。
三つ目
正解は一つではない。速さと公平さは引き換え、頻繁な交代は代償もかかる。

順番が平均を変え、速さと公平さは引き換え。

一言でいうとスケジューリングは順番を決めて待ちを調整することで、状況に合った選択が必要です。
このページがお役に立ったなら寄付する
オペレーティングシステム