Basics-of-computers-functions-of-os
コンピューターの基礎-OSの機能
ご存知のように、オペレーティングシステムはコンピューターシステムの機能を担当します。 それを行うために、それは活動のこれらの3つの広いカテゴリーを実行します-
- 必須機能-リソースの最適かつ効果的な利用を保証します
- 監視機能-システムのパフォーマンスに関連する情報を監視および収集します
- サービス機能-ユーザーにサービスを提供します
これらの活動に関連する最も重要な機能のいくつかを見てみましょう。
プロセッサ管理
コンピューターのCPUを管理して最適な使用率を確保することを「プロセッサー管理」と呼びます。 プロセッサの管理では、基本的に、完了する必要があるタスクにプロセッサ時間を割り当てる必要があります。 これは*ジョブスケジューリング*と呼ばれます。 ジョブは次のようにスケジュールする必要があります-
- CPUの最大使用率があります
- 所要時間、つまり 各ジョブを完了するのに必要な時間は最短です
- 待ち時間は最短です
- 各ジョブは可能な限り速い応答時間を取得します
- 最大スループットが達成されます。スループットは、各タスクを完了するのにかかる平均時間です。
オペレーティングシステムによって行われるジョブスケジューリングの2つの方法があります-
- プリエンプティブスケジューリング
- 非プリエンプティブスケジューリング
プリエンプティブスケジューリング
このタイプのスケジューリングでは、現在のジョブが完了する前に、プロセッサによって実行される次のジョブをスケジューリングできます。 優先度の高いジョブが発生した場合、プロセッサは現在のジョブを解放し、次のジョブを使用するように強制できます。 プリエンプティブスケジューリングを使用する2つのスケジューリング手法があります-
- ラウンドロビンスケジューリング-*タイムスライス*と呼ばれる時間の小さな単位が定義され、各プログラムは一度に1つのタイムスライスのみを取得します。 その時間内に完了しない場合、最後にジョブキューに参加し、すべてのプログラムが1つのタイムスライスを取得するまで待機する必要があります。 ここでの利点は、すべてのプログラムに平等な機会が与えられることです。 欠点は、タイムスライスが終了する前にプログラムの実行が完了すると、CPUが残りの時間アイドル状態になることです。
- 応答率のスケジューリング-応答率は次のように定義されます + \ frac \ {経過\:時間} \ {実行\:時間\:受信} +応答時間が短いジョブほど優先度が高くなります。 そのため、大きなプログラムは、短いプログラムよりも早く要求された場合でも待たなければならない場合があります。 これにより、CPUのスループットが向上します。
ノンプリエンプティブスケジューリング
このタイプのスケジューリングでは、現在のジョブが完了した後にのみジョブのスケジューリング決定が行われます。 優先度の高いジョブを優先するためにジョブが中断されることはありません。 非プリエンプティブスケジューリングを使用するスケジューリング手法は次のとおりです-
- 先着順スケジューリング-これは、リクエストをスローする最初のプログラムが最初に完了する最も単純な手法です。
- 最短ジョブの次のスケジューリング-ここでは、実行に必要な時間が最も短いジョブが次にスケジューリングされます。
- 締め切りスケジューリング-締め切りが最も早いジョブが次に実行されるようにスケジュールされます。
メモリ管理
コンピュータのメモリを調整し、最適化手法を使用してシステム全体のパフォーマンスを向上させるプロセスは、「メモリ管理」と呼ばれます。 メモリ空間は現代のコンピューティング環境では非常に重要であるため、メモリ管理はオペレーティングシステムの重要な役割です。
ご存知のように、コンピューターには2つのタイプのメモリがあります-プライマリ*および*セカンダリ。 プライマリメモリは「高速だが高価」であり、セカンダリメモリは「安価だが低速」である。 OSは、プライマリメモリが非常に少ないためにシステムパフォーマンスが損なわれないように、またはプライマリメモリが多すぎるためにシステムコストが増大しないように、2つのバランスをとる必要があります。
高いシステムパフォーマンスを実現するには、入出力データ、ユーザー指示、プログラム実行の中間データを効率的に保存、アクセス、取得する必要があります。 プログラム要求が受け入れられると、OSは要件に従ってプライマリおよびセカンダリストレージエリアを割り当てます。 実行が完了すると、実行に割り当てられたメモリ空間が解放されます。 OSは、多くのストレージ管理技術を使用して、割り当てられたまたは空きのあるすべてのストレージスペースを追跡します。
連続したストレージ割り当て
これは、連続したメモリロケーションが各プログラムに割り当てられる、最も単純なストレージスペース割り当て手法です。 OSは、割り当て前にプロセス全体に必要なメモリ量を見積もる必要があります。
不連続なストレージ割り当て
名前が示すように、プログラムと関連データは連続した場所に保存する必要はありません。 プログラムは小さなコンポーネントに分割され、各コンポーネントは別々の場所に保存されます。 テーブルには、プログラムの各コンポーネントが格納されている場所の記録が保持されます。 プロセッサがコンポーネントにアクセスする必要がある場合、OSはこの割り当てテーブルを使用してアクセスを提供します。
現実のシナリオでは、プログラム全体を保存するのに一次メモリ空間では不十分な場合があります。 その場合、OSは Virtual Storage 技術の助けを借ります。この手法では、プログラムは物理的にセカンダリメモリに格納されますが、プライマリメモリに格納されているように見えます。 これにより、プログラムコンポーネントへのアクセスにわずかな時間差が生じます。 仮想ストレージには2つのアプローチがあります-
- プログラムページング-プログラムは固定サイズ*ページ*に分割され、二次メモリに保存されます。 ページには、0からnまでの*論理アドレスまたは仮想アドレス*が与えられます。 *ページテーブル*は、論理アドレスを物理アドレスにマップします。物理アドレスは、必要なときにページを取得するために使用されます。
- プログラムのセグメンテーション-プログラムは、*セグメント*と呼ばれる論理ユニットに分割され、0〜nの論理アドレスが割り当てられ、二次メモリに保存されます。 *セグメントテーブル*は、セカンダリメモリからプライマリメモリにセグメントをロードするために使用されます。
オペレーティングシステムは通常、ページとプログラムのセグメンテーションの組み合わせを使用して、メモリ使用量を最適化します。 大きなプログラムセグメントがページに分割されたり、複数の小さなセグメントが単一のページとして保存されたりする場合があります。
ファイル管理
データと情報は、ファイルの形でコンピューターに保存されます。 ユーザーがデータを安全かつ正しく保持できるようにファイルシステムを管理することは、オペレーティングシステムの重要な機能です。 OSによるファイルシステムの管理は、*ファイル管理*と呼ばれます。 ファイル管理は、これらのファイル関連のアクティビティのためのツールを提供するために必要です-
- データを保存するための新しいファイルを作成する
- 更新中
- 共有する
- パスワードと暗号化によるデータの保護
- システム障害の場合の回復
端末管理
オペレーティングシステムによるデバイスの実装、操作、およびメンテナンスのプロセスは、*デバイス管理*と呼ばれます。 オペレーティングシステムは、デバイスへのインターフェイスとして*デバイスドライバー*と呼ばれるユーティリティソフトウェアを使用します。
多くのプロセスがデバイスにアクセスするか、デバイスへのアクセスを要求すると、OSはすべてのプロセス間でデバイスを効率的に共有する方法でデバイスを管理します。 プロセスは、OSによって提供されるプログラミングインターフェイスである system call interface を介してデバイスにアクセスします。