Operating-system-os-properties
オペレーティングシステム-プロパティ
バッチ処理
バッチ処理は、処理を開始する前にオペレーティングシステムがプログラムとデータをまとめてバッチで収集する手法です。 オペレーティングシステムは、バッチ処理に関連する次のアクティビティを行います-
- OSは、コマンド、プログラム、およびデータの事前定義されたシーケンスを1つのユニットとして持つジョブを定義します。
- OSは多数のジョブをメモリに保持し、手動情報なしでそれらを実行します。
- ジョブは、送信順に処理されます。つまり、先着順です。
- ジョブの実行が完了すると、メモリが解放され、ジョブの出力が出力スプールにコピーされて、後で印刷または処理されます。
利点
- バッチ処理では、オペレーターの多くの作業がコンピューターにかかります。
- 前のジョブが終了するとすぐに、手動での介入なしに新しいジョブが開始されるため、パフォーマンスが向上しました。
デメリット
- プログラムのデバッグが難しい。
- ジョブが無限ループに入る可能性があります。
- 保護スキームがないため、1つのバッチジョブが保留中のジョブに影響を与える可能性があります。
マルチタスク
マルチタスクとは、複数のジョブを切り替えることにより、CPUが同時に実行することです。 スイッチは非常に頻繁に発生するため、ユーザーは実行中に各プログラムを操作できます。 OSは、マルチタスクに関連する次のアクティビティを行います-
- ユーザーは、オペレーティングシステムまたはプログラムに直接指示を与え、すぐに応答を受け取ります。
- OSは、一度に複数の操作を処理/複数のプログラムを実行できるようにマルチタスクを処理します。
- マルチタスクオペレーティングシステムは、タイムシェアリングシステムとしても知られています。
- これらのオペレーティングシステムは、合理的なコストでコンピューターシステムをインタラクティブに使用できるように開発されました。
- 時分割オペレーティングシステムは、CPUスケジューリングとマルチプログラミングの概念を使用して、各ユーザーに時分割CPUのごく一部を提供します。
- 各ユーザーは、メモリに少なくとも1つの個別のプログラムを持っています。
- メモリにロードされて実行中のプログラムは、一般に*プロセス*と呼ばれます。
- プロセスが実行されると、通常、プロセスが終了するか、I/Oを実行する必要がある前に非常に短い時間だけ実行されます。
- 通常、対話型I/Oは低速で実行されるため、完了するまでに時間がかかる場合があります。 この間、CPUは別のプロセスで使用できます。
- オペレーティングシステムにより、ユーザーはコンピューターを同時に共有できます。 時分割システムの各アクションまたはコマンドは短い傾向があるため、各ユーザーに必要なCPU時間はわずかです。
- システムがCPUをあるユーザー/プログラムから次のユーザーに急速に切り替えると、各ユーザーは自分のCPUを持っているという印象を与えられますが、実際には1つのCPUが多くのユーザー間で共有されます。
マルチプログラミング
複数のプログラムが同時にメモリに存在する場合、プロセッサを共有することを*マルチプログラミング*と呼びます。 マルチプログラミングでは、単一の共有プロセッサを想定しています。 マルチプログラミングでは、ジョブを整理することでCPUの使用率が向上し、CPUは常に実行するようになります。
次の図は、マルチプログラミングシステムのメモリレイアウトを示しています。
OSは、マルチプログラミングに関連する次のアクティビティを実行します。
- オペレーティングシステムは、一度に複数のジョブをメモリに保持します。
- この一連のジョブは、ジョブプールに保持されているジョブのサブセットです。
- オペレーティングシステムは、メモリ内のジョブの1つを選択して実行を開始します。
- マルチプログラミングオペレーティングシステムは、メモリ管理プログラムを使用してすべてのアクティブなプログラムとシステムリソースの状態を監視し、処理するジョブがない限り、CPUがアイドル状態にならないようにします。
利点
- 高い効率的なCPU使用率。
- ユーザーは、多くのプログラムにほぼ同時にCPUが割り当てられていると感じています。
デメリット
- CPUスケジューリングが必要です。
- メモリ内の多くのジョブに対応するには、メモリ管理が必要です。
双方向性
対話性とは、ユーザーがコンピューターシステムと対話する能力のことです。 オペレーティングシステムは、対話性に関連する次のアクティビティを行います-
- システムと対話するためのインターフェースをユーザーに提供します。
- 入力デバイスを管理して、ユーザーからの入力を取得します。 たとえば、キーボード。
- 出力デバイスを管理して、ユーザーに出力を表示します。 たとえば、モニター。
ユーザーが結果を送信して待機するため、OSの応答時間は短くする必要があります。
リアルタイムシステム
通常、リアルタイムシステムは専用の組み込みシステムです。 オペレーティングシステムは、リアルタイムシステムアクティビティに関連する次のアクティビティを実行します。
- このようなシステムでは、オペレーティングシステムは通常、センサーデータから読み取り、センサーデータに反応します。
- オペレーティングシステムは、正しいパフォーマンスを確保するために、一定期間内のイベントへの応答を保証する必要があります。
分散環境
分散環境とは、コンピューターシステム内の複数の独立したCPUまたはプロセッサーを指します。 オペレーティングシステムは、分散環境に関連する次の活動を行います-
- OSは、複数の物理プロセッサに計算ロジックを分散します。
- プロセッサはメモリまたはクロックを共有しません。 代わりに、各プロセッサには独自のローカルメモリがあります。
- OSは、プロセッサ間の通信を管理します。 さまざまな通信回線を介して互いに通信します。
スプール
スプーリングは、オンラインでの同時周辺操作の頭字語です。 スプーリングとは、さまざまなI/Oジョブのデータをバッファーに入れることです。 このバッファは、I/Oデバイスからアクセス可能なメモリまたはハードディスク内の特別な領域です。
オペレーティングシステムは、分散環境に関連する次の活動を行います-
- デバイスのデータアクセスレートが異なるため、I/Oデバイスのデータスプールを処理します。
- 遅いデバイスが追いつく間、データが休むことができる待機ステーションを提供するスプールバッファを維持します。
- コンピューターがI/Oを並列に実行できるため、スプールプロセスのために並列計算を維持します。 計算タスクを実行している間に、コンピューターにテープからデータを読み取らせたり、ディスクにデータを書き込んだり、テーププリンターに書き込んだりすることが可能になります。
利点
- スプーリング操作では、ディスクを非常に大きなバッファーとして使用します。
- スプーリングは、あるジョブのI/O操作を別のジョブのプロセッサー操作と重複させることができます。