私は割り当てられました。タイムスライスと実行時間の理解
オペレーティングシステムでジョブスケジューリングをシミュレートするプログラムを作成します。 ジョブはランダムな時間に生成されます。各ジョブには、優先度1〜4のランダム と、実行を完了するためのランダムな の両方が与えられます。
ジョブは実行を開始せず、完了するまで実行しますが、代わりに プロセッサを共有してください。オペレーティングシステムは、時間スライスと呼ばれる時間の固定単位 のジョブを実行します。タイムスライスの終わりに、現在の ジョブの実行が中断されます。次にジョブは優先度 キューに置かれ、次のプロセッサ時間分の待機を待ちます。最高優先度を有するジョブ は、優先度キュー から除去され、タイムスライスのために実行される。ジョブが最初に生成されるときには、プロセッサがフリーであればすぐに が実行を開始します。それ以外の場合は が優先キューに配置されます。
この割り当てでは、キューと 優先キューの実装が必要です。優先度キューは、Javaクラス ライブラリ(java.util.PriorityQueue)で使用できます。インタフェース java.util.Queueを実装しています。今、最終的なint型のタイムスライス= 3は、すべてのジョブが完了するまでの時間は、最終的なint型のクロック= 20分であるとしましょうさのために私の理解として、タイムスライスと実行時間.. で
イム混乱; ジョブAの開始時刻が0分の場合、実行時間は5です(1〜5の間でランダムに生成されます)。 実行時間が3分のジョブBが分3に入っている間に、ジョブ3を実行する間にジョブAが優先キューに入れられますか?ジョブBを終了した後、ジョブAは実行を終了するか、ジョブCを終了するか?
私は間違っている場合説明してください。ありがとう