CPUスケジューリングアルゴリズムは次のように分類されることを理解しています
- インタラクティブ-ラウンドロビン、優先スケジューリング
- バッチスケジューリング-FCFS、SJF
しかし、InteractiveとBatchSchedulingという名前の背後にある理由を理解できません..?? RRのようなアルゴリズムがインタラクティブと呼ばれ、FCFSのようなアルゴリズムがバッチスケジューリングと呼ばれるのはなぜですか?
前もって感謝します...
CPUスケジューリングアルゴリズムは次のように分類されることを理解しています
しかし、InteractiveとBatchSchedulingという名前の背後にある理由を理解できません..?? RRのようなアルゴリズムがインタラクティブと呼ばれ、FCFSのようなアルゴリズムがバッチスケジューリングと呼ばれるのはなぜですか?
前もって感謝します...
バッチ スケジューリングの考え方は、実行時にスケジュールが変更されないということです。プロセスはデータに対する操作を実行するようにスケジュールされ、プロセスが完了するまで実行されます。「対話型」スケジューリングでは、別のプロセスの実行中に新しいプロセスが起動される可能性があるため、そのプロセスと他のプロセスに時間が割り当てられます。バッチ スケジューリングでは、工程の開始時にスケジュールが決定されます。
優先 (インタラクティブ) スケジューリングの例:
プロセス A の優先度は高く、プロセス B の優先度は低くなります。プロセス A は、ユーザーからの入力が必要になるまで実行されます。A が待機している間、CPU は B を処理するための時間を与えます。A の入力が収集されると、プロセス B がスワップアウトされ、プロセス A の優先度が高いため、CPU が割り当てられます。
バッチ (FCFS) スケジューリングの例:
工程 A と工程 B は、スケジュール対象の工程です。プロセス A が最初に CPU に与えられるため、B は A の実行が終了するまで時間を受け取りません。A がユーザー入力のために一時停止しても、B は実行されません (入力を待機している間の CPU 時間は事実上無駄になります)。
もちろん、この低レベルのすべてと同様に、それほど単純ではありません。マルチタスクの錯覚を得るために、通常、I/O を待っているものがない場合でも、プロセス間で時間が分割されます。優先スケジューリングでは、これは、A がより速く実行されるように、両方が実行されている間、B よりも多くのタイム スライスが A に与えられることを意味する場合があります。インタラクティブ スケジューリングとバッチ スケジューリングの両方に長所と短所があります。インタラクティブ スケジューリングでは、ユーザーへの応答時間が短くなり、時間をより「公平に」分割できますが、「コンテキスト スイッチ」にかかる時間 (時間) によりオーバーヘッドが発生します。プロセッサがプロセス A での作業からプロセス B への作業を切り替えるために使用されます。
対話型スケジューリング ポリシーは、各プロセスにタイム スライスを割り当てます。タイム スライスが終了すると、プロセスはまだ終了していなくてもスワップされます。この種のスケジューリングはプリエンプティブであるとも言えます。代わりに、バッチ スケジューリング ポリシーはプリエンプティブではありません。Process が Running-status になると、終了するまでステータスは変わりません。