ジョブコントロールとは何ですか?
ジョブコントロールは、コンピューターシステム上のさまざまなアクションを管理する用語です。コンピューターは同時に複数のことを行うことができますが、多くの場合、一度に特定の領域で動作するのは単一のプロセスのみです。コンピューターはジョブコントロールシステムを使用してタスクを管理し、あるプロセスを1つの領域でリソースを使用させ、別のプロセスで異なる領域のリソースを使用します。これらのシステムは、操作の優先順位を監視し、バックグラウンドで重要なタスクをより速く、重要ではないタスクを実行し続けます。
速度の問題を軽減するために最新のコンピューターの設計で早期に開発されたジョブコントロールシステム。多くの初期のシステムでは、コンピューターの中央システムは、与えられたタスクをスピードアップすることができました。速度の問題は、周辺システムとの通信で発生しました。システムが遅くなっただけでなく、システムグループ間の移動時間は非常に長かった。バッファやキャッシュシステムなどの周辺ハードウェアへの追加のみ特定のプロセスをより速くし、問題を解決しませんでした。
マルチタスクは、ジョブコントロールの早期の試みでした。コンピューターには、アクティブで非アクティブなジョブを追跡する新しいシステムが与えられました。システムが忙しすぎて新しいジョブを処理できなかったとき、それは非アクティブなキューに入れられました。ハードウェアが新しいプロセスをとることができた場合、最高優先プロセスがアクティブになります。このプロセスは、ハードウェアに移動します。
このシステムの問題は、その分散型の性質でした。単一のキューがすべてのアクティブで非アクティブなプロセスを保持していましたが、ハードウェアに関する情報はハードウェア自体から来ました。ハードウェアのドライバーは、スケジューラに利用可能かどうかを報告します。プロセスがエラー状態に入り、ハードウェアを使用し続けた場合、使用可能になりません。さらに、一部のプロセスでは、中央プロセッサまたは特定のPEのみが必要でしたripheral;これにより、これらのプロセスが終了するまでシステム全体が縛られます。この問題と戦うために、最新のジョブコントロールシステムが設計されました。
ジョブコントロールは、先制コンピューティングのアイデアに焦点を当てています。各プロセスには全体的な優先順位が与えられ、場合によっては特定のシステムに関連する二次的な優先順位が与えられます。コンピューターのスケジューラは、プロセスのキューを維持します。 1つのプロセスが現れると、現在アクティブなプロセスよりも重要なプロセスが登場し、アクティブなプロセスが停止し、新しいプロセスが引き継ぎます。中断されたプログラムが最も重要なプロセスである場合、再び起動します。