kernel:"process" (4) プロセススケジューリング概要

  • 複数のprocessを並列で実行するためには、効率的な処理のためにプロセススケジューリング機能が必要
  • プロセススケジューリングは、どういう機能を優先したいかによってスケジューリング方法が異なる
    • たとえば、CPU計算速度の高速化であったり、I/O処理のスループットの最大化であったり・・・

スケジューリングにおける一般的な要件

要件 望まれる条件
公正性 すべてのprocessを公正に実行する
CPU使用率 process処理時間の最大化
スループット(単位時間あたりの処理量) 単位時間あたりで実行できるprocess数の最大化
ターンアラウンドタイム(processの開始から完了までの時間) process実行速度の最大化
レスポンスタイム(processの開始から応答があるまでの速度) process応答性の最大化
  • スケジューリングにおける要件のすべてを同時に満たすことは難しい
    • レスポンスタイムの最大化を目指すと、ターンアラウンドタイムの悪化につながる
  • スケジューリングアルゴリズムはできる限り多くの要件を満たし、全体としてのスケジューリング性能が発揮されることを目的とする
    • タイムスライス:1つのprocessを連続して実行できる時間(=クォンタム)
    • スケジューラ:processの実行をスケジューリングする仕組み
  • スケジューリングアルゴリズムとは、タイムスライスによってprocessを時分割によって実行するスケジューラの動作の仕様である

本日は時間も遅いのでこの辺まで。