オペレーティングシステム:プロセス制御

自分のレビュー検査のためのオペレーティングシステムの基本的な概念を終えて本明細書では「コンピュータのオペレーティングシステム(第四版)」のメイン参照(電子科学技術出版社の西安大学)と清華オペレーティングシステム(龍、ゆうチェンへ)オープンクラス、。

プロセス制御

プロセス制御は、カーネルによって一般にプロセス管理の最も基本的な機能であるプリミティブ(プリミティブ)の実装。

サポート機能

オペレーティングシステムは、3つの基本的なサポート機能を含む、必要な他のモジュールの基本的な機能の一部を提供します。

割り込み処理

システムコール、キーボード入力、プロセススケジューリング、デバイス・ドライバ:取り扱い割り込みカーネルは、最も基本的な機能であるオペレーティングシステム全体の基盤であり、オペレーティングシステムには多くの重要なイベントは、次のような割り込み、に依存しています。

クロック管理

ラウンドロビンスケジューリング:カーネルの基本的なクロック管理機能は、オペレーティングシステム・クロックのような多くの活動を、サポートする必要があります。

基本操作

プリミティブ、すなわち、コマンドの数の特定の機能を実行するための手順は、最も重要な点は、それがあることであるアトミック操作、すなわち実質的に分離できないユニット。プリミティブは、実行中のプロセスで中断してはいけません。

リソース管理

  1. プロセス管理
  2. メモリ管理
  3. デバイス管理

プロセスのライフサイクル

作成プロセス

オペレーティングシステムは、プロセスが別のプロセスを作成することができます。

プロセスは、階層関係の存在があるということであるにUNIXシステムでは、作成し、このリードによって作成され、その子プロセスのプロセスが家族のプロセスを構成し、PCBは、親プロセスとすべての子として自分自身を識別し、リレーショナル表の家族が含まれていますプロセス。

レベルの概念は、すべてのプロセスが同じステータスを持っている、Windowsのには存在しません。特に、作成するときに、別のプロセスを取得することができ、プロセスのハンドル(ハンドル)は、作成されているプロセスを制御するために使用され、そしてハンドルを渡すことができます。制御との制御関係を単純化するプロセスとの関係に基づいて、処理します。

原因イベントの作成プロセス

通常、イベントの4種類があるプロセスが別のプロセスを作成引き起こす可能性があります:

  1. ユーザーログイン:タイムシェアリングシステムは、システムがログインに成功した後のユーザーのためのプロセスを作成します。
  2. ジョブスケジューリング。
  3. サービス:ユーザプログラム実行中は、要求を行った場合、システムがサービスを提供するために、特別なプロセスを作成します。
  4. アプリケーションの要求:最初の3つは、システムがユーザーのためのプロセスを作成し、このクラスには、独自の新しいプロセスを作成するには、ユーザー・プロセスです。

プリミティブを作成します。

プロセスを作成するための要求は、システム内で発生するたびに、システムが呼び出すプリミティブクリートを作成するために、次の手順を実行して、新しいプロセスを作成します:

  1. 新しいプロセスは、一意の数値識別子を申請するために、空白のPCBを適用します。
  2. 新しいプロセスのためにその動作に必要なリソースの割り当て;
  3. PCBを初期化します。
  4. 新しいプロセスが実行可能待ち行列に挿入されています。

終了処理

終了するプロセスを引き起こすイベント

  1. そのプロセス・タスクの正常終了を実行し終了する準備が完了してきました。
  2. などの異常終了、予期しない何かが運転中に発生した場合、そのプロセスが起こる、プログラムを続行できません、:クロスボーダーの間違った、不当命令、間違った権限、タイムアウト、タイムアウト待ち、誤った操作、I / O障害を実行します。
  3. 典型的な社外介入、さまざまな:オペレーティングシステムの介入、親の要求は、親プロセスが終了されます。

元の言語の終了

ロープシステムは、プロセスを終了する場合、元の言語の呼び出しプロセスの終了まで、システムの背面のプロセスを終了し、手順に従ってください場合:

  1. プロセスの状態を読み出し、プロセス識別子は、終了されるPCBは、PCBアウト処理のセットから取得されます。
  2. 終了処理が状態で実行する場合は、実行を終了
  3. その子孫のプロセスを終了します。
  4. プロセスは、親プロセスまたはオペレーティングシステムに返されたすべてのリソースを終了しました。
  5. プロセスが終了する場合は、キューから削除。

ウェイクアッププロセスをブロック

ブロックとウェイクへのプロセスを引き起こすイベント

  1. 共有リソースシステム障害を要求します。
  2. 操作の完了を待っています。
  3. 新しいデータは達していません。
  4. 新しいタスクが到着するのを待っています。

おもり

障害物がある積極的な行動実行プロセスは閉塞を引き起こすイベントに遭遇すると、それが呼び出すブロックはプリミティブをブロック自体をブロックします。

モーニングコール

モーニングコールは、受動的な行動遮断するプロセスがイベントを期待されている場合、呼び出し側のプロセスに関連したバックはなりプリミティブをウェイクアップウェイクウェイクアップイベントのプロセスを待ちます。

アクティベーションプロセスを中断

先に述べたように、オペレーティングシステムは、飛行することができ、活性化プロセスは、対応するプリミティブがサスペンドサスペンドおよびアクティブプリミティブ活性化

おすすめ

転載: www.cnblogs.com/Li-F/p/11870314.html