Operating-system-os-process-scheduling-qa2

提供:Dev Guides
移動先:案内検索

OSプロセススケジューリングに関するQ&A#2

  • 質問:*タイムスライシングについて説明してください。 その期間はシステムの全体的な動作にどのように影響しますか?
  • 回答:*タイムスライシングは、タイムシェアリングシステムで使用されるスケジューリングメカニズム/方法です。 ラウンドロビンスケジューリングとも呼ばれます。 ラウンドロビンスケジューリングまたはタイムスライシングスケジューリングの目的は、すべてのプロセスにCPUを使用する機会を平等に与えることです。 このタイプのスケジューリングでは、CPU時間は、準備ができたプロセスに割り当てられるスライスに分割されます。 短いプロセスは、単一のタイムクォンタム内で実行できます。 長いプロセスには、いくつかのクォンタムが必要になる場合があります。

タイムスライスまたはクォンタムの期間

タイムスライシングポリシーのパフォーマンスは、タイムクォンタムのサイズ/期間に大きく依存します。 タイムクォンタムが非常に大きい場合、ラウンドロビンポリシーはFCFSポリシーになります。 クォンタムが短すぎると、プロセス/コンテキストの切り替えが多すぎて、CPUの効率が低下します。 したがって、時間の量の選択は、非常に重要な設計上の決定です。 あるプロセスから別のプロセスに切り替えるには、レジスタの保存とロード、さまざまなテーブルとリストの更新などに一定の時間が必要です。

例として、プロセスの切り替えまたはコンテキストの切り替えには5ミリ秒かかり、タイムスライスの継続時間は20ミリ秒であるとします。 このため、CPUはプロセスの切り替えに5ミリ秒を費やし、CPU時間の20%を無駄にしなければなりません。 タイムスライスサイズを500ミリ秒と設定し、10個のプロセスがレディキューにあるとします。 P1が最初のタイムスライスの実行を開始した場合、P2は1/2秒待機する必要があります。他のプロセスの待機時間が増加します。 不運な最後(P10)は、他のすべてのユーザーがフルタイムスライスを使用すると仮定して、5秒間待機する必要があります。 タイムスライスの設定を完了します。

  • 短すぎると、プロセスの切り替えが多すぎて、CPUの効率が低下します。
  • 設定が長すぎると、短いインタラクティブプロセスに対する応答が低下します。
  • 通常、約100ミリ秒のクォンタムが妥当です。