Skip to main content

ジョブコントロールとは何ですか?

ジョブコントロールは、コンピューターシステム上のさまざまなアクションを管理する用語です。コンピューターは同時に複数のことを行うことができますが、多くの場合、一度に特定の領域で動作するのは単一のプロセスのみです。コンピューターはジョブコントロールシステムを使用してタスクを管理し、あるプロセスを1つの領域でリソースを使用させ、別のプロセスで異なる領域のリソースを使用します。これらのシステムは、操作の優先順位を監視し、重要なタスクをバックグラウンドでより速く、重要ではないタスクを実行し続けます。多くの初期のシステムでは、コンピューターの中央システムは、与えられたタスクをスピードアップすることができました。速度の問題は、周辺システムとの通信で発生しました。システムが遅くなっただけでなく、システムグループ間の移動時間は非常に長かった。バッファやキャッシュシステムなどの周辺ハードウェアへの追加は、特定のプロセスをより速くするだけで問題を解決しませんでした。コンピューターには、アクティブで非アクティブなジョブを追跡する新しいシステムが与えられました。システムが忙しすぎて新しいジョブを処理できなかったとき、それは非アクティブなキューに入れられました。ハードウェアが新しいプロセスをとることができた場合、最高優先プロセスがアクティブになります。このプロセスは、ハードウェアに移動します。

このシステムの問題は、その分散型の性質でした。単一のキューがすべてのアクティブで非アクティブなプロセスを保持していましたが、ハードウェアに関する情報はハードウェア自体から来ました。ハードウェアのドライバーは、プロセスがエラー状態に入り、ハードウェアを使用し続けた場合、スケジューラとmdashに利用可能かどうかを報告します。さらに、一部のプロセスでは、中央のプロセッサまたは特定の周辺機器のみが必要でした。これにより、これらのプロセスが終了するまでシステム全体が縛られます。この問題に対処するために、最新のジョブコントロールシステムが設計されました。各プロセスには全体的な優先順位が与えられ、場合によっては特定のシステムに関連する二次的な優先順位が与えられます。コンピューターのスケジューラは、プロセスのキューを維持します。1つのプロセスが現れると、現在アクティブなプロセスよりも重要なプロセスが登場し、アクティブなプロセスが停止し、新しいプロセスが引き継ぎます。中断されたプログラムが最も重要なプロセスである場合、それは再び起動します。