Operating-system-os-process-scheduling-qa3
提供:Dev Guides
OSプロセススケジューリングに関するQ&A#3
- 質問:*最短残り時間、SRTスケジューリングとは何ですか?
- 回答:*最短残り時間、SRTはプリエンプティブスケジューリングです。 SRTでは、完了するまでの実行時間が最小(つまり残り時間)のプロセスが、新しい到着を含めて次に実行されるようにスケジュールされます。 SRTでは、実行中のプロセスが、より短い推定実行時間の新しいプロセスによって横取りされる場合があります。 実行中のプロセスの経過サービス時間を追跡し、ときどきプリエンプションを処理します。
次の4つの仕事を検討してください
Job | Arrival Time | Burst Time |
---|---|---|
1 | 0 | 7 |
2 | 1 | 4 |
3 | 3 | 9 |
4 | 4 | 5 |
SRTのスケジュールは次のとおりです。
Job1は時刻0に開始され、キュー内のジョブのみです。 ジョブ2は時間1に到着します。 ジョブ1の残り時間は、ジョブ2に必要な時間(4時間単位)よりも長い(6時間単位)ため、ジョブ1が横取りされ、ジョブ2がスケジュールされます。 上記の平均所要時間は次のとおりです。
Job | Turn Around Time |
---|---|
1 | 16-0 = 16 |
2 | 5-1 = 4 |
3 | 25-3 = 22 |
4 | 10-4 = 6 |
48 |
平均所要時間は48/4 = 12時間単位です。
利点
平均所要時間は短くなります。
不利益
実行時間が非常に短い新しいジョブが到着するため、ほとんど完了している実行中のプロセスが先取りされることがあります。 本当にする価値はありません。