情報処理のWeb教科書―IPA情報処理試験対策のお供に!

ラウンドロビンとは―テニスの意味からスケジューリング方式まで解説

トップ 情報処理の知識体系 テクノロジ系 コンピュータシステム ソフトウェア オペレーティングシステム タスク管理 スケジューリング ラウンドロビン

ラウンドロビンとは何か、テニスやボーリングなどで使われる意味から、やさしくOSのタスクスケジューリング方式について解説していきます。

▲記事トップへ

目次

この記事の目次です。

1. ラウンドロビンとは
2. テニスなどで採用されるラウンドロビン方式とは
3. OSのタスクスケジューリングにおけるラウンドロビン方式
4. ラウンドロビンに関連したIPA情報処理試験の過去問

もっと知識を広げるための参考
更新履歴

1. ラウンドロビンとは

ラウンドロビンとは、 何かの役割や出番を一定条件のもとで順番に交換して実施していくことを意味することばです。 テニスなどのスポーツの大会などでは総当たり方式のことを指し、特に頭を使うことなく単純だけど平等に行える方法で、パソコンのOSのタスク管理など、さまざまなところで採用されています。

英語の意味

ラウンドロビンの英語はRound Robinです。 Roundはまわるという意味で、Robinはヨーロッパコマドリという小鳥を意味する英語です。

元々は「リボンの輪」の意味

語源はフランス語で「リボンの輪」を意味する “ruban rond” で、17世紀フランスの農民が嘆願書に署名する際、首謀者が特定されないよう中心から放射状に名前を書いたことに由来するようです。

IT用語での意味

ラウンドロビンとは、順番に資源を割り当てていく方式です。 OSのタスクスケジューリングのラウンドロビン方式、DNS(IPとドメインを応答するサーバ)のDNSラウンドロビン方式、DB接続コネクションプーリングの割り当て方式など、いろいろなところで使われています。

2. テニスなどで採用されるラウンドロビン方式とは

IT用語の方は難しいので、本題のOSのタスクスケジューリングのラウンドロビン方式について見ていく前に、 もう少しやさしい例からラウンドロビン方式をあたまに入れていきたいと思います。

テニスの対戦ルール

テニスの大会で出場者が総当りで対戦する大会をラウンドロビン方式といいます。

ATPワールドツアー・ファイナルなどで採用されています。 シングルス部門は8名、ダブルス部門は8組が半分に別れ、2グループ内で、1次リーグは総当たり戦を行い、各グループの上位2名、2組が準決勝に進出。準決勝の勝者が決勝に進出するルールで進められます。

スポーツではラウンドロビン方式は、総当たり戦

つまり総当たり戦のルールということです。テニス以外にボーリングでもラウンドロビン方式があります。

教育や意見出し

ブレーンストーミングの簡易版で時計回りなどで順番に意見を述べていく際にも使われます。これが一番身近かもしれません。

3. OSのタスクスケジューリングにおけるラウンドロビン方式

OSのタスクスケジューリングにおいて 待ち行列状態にあるタスクをどのような順位で処理するかを決める方法の1つにラウンドロビン方式があります。

OSのタスクスケジューリングにおけるラウンドロビン方式は各タスクに、均等にCPU時間を割り当てて実行させる方式です。 すべてのタスクに対等の優先度をあたえ、一定時間経過後に終了しないタスクは待ち行列の最後尾に置き、 待ち行列の先頭のタスクにCPU使用権をあたえる方式です。

タイムクウォンタム

ラウンドロビン方式によるスケジュール管理では、タイムクウォンタムという各プロセスに一定のCPU実行時間を割り当てて順番にプロセスを実行します。 プロセスが終了しないうちにタイムクウォンタムを使い切った場合には、そのプロセスを中断して順番の最後で待機します。

タイムシェアリングシステム(TSS:Time Sharing System、時分割システム)

複数の利用者が1台のコンピュータを対話型で利用するシステムのことをタイムシェアリングシステムといいます。 タイムシェアリングシステムは、英語でTime Sharing System、TSSと省略する、時分割システムです。

TSSでは、時間を区切って各タスクに順番にCPUを割り当てながら処理していくので、割り当ての終わったタスクは待ち行列の最後に回されます。 円のように待ち行列ができるため、ラウンドロビンと呼ばれます。 実際には、静的優先度方式とタイムスライス方式を組み合わせて、タイムクウォンタム内に実行完了とならなかったタスクを同一優先順位の最後に回します。

ラウンドロビン方式で処理されるタイムシェアリングシステムの例

タイムクォンタムが2秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて、プロセス1~3が逐次生成されるときの各プロセスの生成時刻から何秒後になるか見ていきます。 各プロセスはCPU処理だけで構成され、OSのオーバヘッドは考慮せず、新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合は、新しく生成されたプロセスを優先します。

プロセス生成時間単独で処理された場合の時間
10秒後5秒
23秒後7秒
36秒後5秒

□:未実行、◆:実行、◇:待ち、とすると以下のように実行されます。

プロセス1:◆◆◆◆◇◇◇◇◆□□□□□□□□
プロセス2:□□□◇◆◆◇◇◇◆◆◇◇◆◆◇◆
プロセス3:□□□□□□◆◆◇◇◇◆◆◇◇◆□

プロセス1は、◆◆◆◆◇◇◇◇◆で9秒後、プロセス2は◇◆◆◇◇◇◆◆◇◇◆◆◇◆で14秒後、プロセス3は、◆◆◇◇◇◆◆◇◇◆で10秒後に終了します。

4. ラウンドロビンに関連したIPA情報処理試験の過去問

以下ではラウンドロビンに関連したIPA情報処理試験の過去問とその解説をまとめています。

もっと知識を広げるための参考

更新履歴

戻る

スポンサーリンク

情報処理の知識体系

各試験の問題と解説

ランダム出題・採点アプリ

プログラミング

スポンサーリンク