- 複数のprocessを並列で実行するためには、効率的な処理のためにプロセススケジューリング機能が必要
- プロセススケジューリングは、どういう機能を優先したいかによってスケジューリング方法が異なる
- たとえば、CPU計算速度の高速化であったり、I/O処理のスループットの最大化であったり・・・
スケジューリングにおける一般的な要件
要件 | 望まれる条件 |
---|---|
公正性 | すべてのprocessを公正に実行する |
CPU使用率 | process処理時間の最大化 |
スループット(単位時間あたりの処理量) | 単位時間あたりで実行できるprocess数の最大化 |
ターンアラウンドタイム(processの開始から完了までの時間) | process実行速度の最大化 |
レスポンスタイム(processの開始から応答があるまでの速度) | process応答性の最大化 |
- スケジューリングにおける要件のすべてを同時に満たすことは難しい
- レスポンスタイムの最大化を目指すと、ターンアラウンドタイムの悪化につながる
- スケジューリングアルゴリズムはできる限り多くの要件を満たし、全体としてのスケジューリング性能が発揮されることを目的とする
-
- タイムスライス:1つのprocessを連続して実行できる時間(=クォンタム)
- スケジューラ:processの実行をスケジューリングする仕組み
- スケジューリングアルゴリズムとは、タイムスライスによってprocessを時分割によって実行するスケジューラの動作の仕様である