Diudiuオペレーティングシステムの知識

1.プロセスとスレッド

1.1プロセス

プロセス制御ブロック(プロセス制御ブロック、PCB): データを含む)を各参加同時に実行プログラム、独立して、オペレーティングシステムの特殊なデータ構造内に配置されなければならない何かを操作することができ、このデータ構造と呼ばれるPCBを

プログラムセグメント、プロセスエンティティとPCBの構成に関連付けられたデータセグメントは、と呼ばれるプロセス

定義:プロセスは、データセット上で実行されている機能とは独立有する処理プログラムでスタンドアロンシステムリソースの割り当てとスケジューリング(最小)ユニット。

プロセス特性:

  1. ダイナミクス:プロセスの物質処理エンティティ、動的性能の実装工程;「スケジューリング、失効ダイによって行わ作成から結果、。」
  2. 並行性は:メモリに記憶された複数のプロセスを用いてエンティティを指し、それは時間の期間にわたって同時に実行できます。何PCBを同時に実行手順に関与していないされていません。
  3. 独立性:エンティティがスケジューリングの基本単位を受け入れるために、独立したリソースと独立への独立したアクセスを操作することができるプロセスを意味します。
  4. 非同期:プロセスを指すは、非同期方法として実行されます。

プロセスの状態:一般的に3つの基本的な状態のいずれかの処理、およびデータの整合性とPCBの動作要件および拡張管理の柔軟性を満たすために、2つの一般的な状態(4,5)が加算されます

  1. レディ(準備完了)状態:必要なすべてのリソースはCPU以外に割り当てられています。
  2. 実行状態(実行):実行され、CPUを受けました。
  3. ブロッキング(ブロック)状態:処理を実行すると、実行を継続することができません。
  4. 作成された:1)ブランクPCBのために適用され、制御および管理プロセスのための情報を記入し、リソースが実行時の2)の割当てを必要と; 3)、レディ状態レディキューに挿入し、
  5. 終了:OSのを待った後、1)の処理; 2)PCBをクリアするには、PCBは、OSに返されます。

1.2スレッド

状態を実行している3つのスレッド:準備、実行、ブロック、および同じプロセス。

スレッドの実装:

  • スレッドKSTのためのカーネルサポート(カーネルスレッドをサポート)
  • ユーザーと糸ULT(ユーザーレベルのスレッド)
  • 組み合わせKST / ULT

プロセス・スレッドの1.3比較

  • スケジューリングの基本単位プロセスがあるとしてリソースの割り当ての基本単位、スレッドがされ、独立してスケジュールされたスタンドアロンの基本ユニット。
  • 同時実行。プロセスは、スレッドが同時に実行することができ、複雑になることができます。
  • 私たちは、リソースを持っています。プロセス、リソース、およびリソースの基本的な単位としてシステムを持って、スレッドがその唯一の基本的なランタイムリソースを確保するためにシステムリソースを持っていない、また、複数のスレッドが所有しているリソースを共有することができますプロセス。
  • 独立。独立の同じプロセス内の異なるスレッド間で異なるプロセス間の独立性よりも低いです。
  • オーバーヘッド。プロセスの作成やダービースレッドの取消しのリソースオーバーヘッド。
  • マルチプロセッサシステムのサポート。

2.スケジューリングとデッドロック

2.1スケジュール

プロセッサのスケジュールレベル:

  • また、長距離スケジューリング、ジョブスケジューリング、ジョブスケジューリングが対象であるとして知られている詳細なスケジュール(ハイレベルスケジューリング);
  • 低レベルのスケジューリング(ローレベルスケジューリング)、またオブジェクトをディスパッチするプロセスであり、短距離スケジューリング、プロセススケジューリングとしても知られている(またはカーネルレベルスレッド)
  • また、スケジューリング・メモリとして知られている中間スケジューリング(中間スケジューリング)は、目的は、メモリの使用率とシステムスループットの導入を改善することです。

スケジューリングアルゴリズム:

  • 、先着最初のサーブ(最初-COMファースト務め、 FCFS) スケジューリングアルゴリズムリーチスケジューリング、優先順位または最長の運用システムやプロセスに従い、注文がシステムにタイムの仕事を待っているにかかわらず、ジョブを実行する必要があるかどうかの時間の長さ。
  • ショート動作の優先順位(短い仕事最初、SJF)スケジューリングアルゴリズム:ジョブで実行時間の長さ、優先度を算出し、仕事短く、優先度の高い、最初の実行。ロングジョブは実行されません飽きないことがあります。
  • 優先度スケジューリングアルゴリズム(優先度スケジューリングアルゴリズム、PSA) :ジョブの緊急性、外部で与えられた仕事を考えると、優先度、優先度に応じて、その後のスケジュール。
  • 応答の優先スケジューリングアルゴリズムよりも高い(最高応答比次に、HRRN) :導入動的優先度、スケジューリング優先順位計算を。R&LT優先度= P =(サービス応答時間+待ち時間要件=時間)/サービス時間要件は、R Pは、応答比です。
  • ラウンドロビンスケジューリングアルゴリズム:ラウンドロビンスケジューリングアルゴリズムは、レディキューに並んで先着順ポリシーに従ってすべての準備過程を来て、タイムスライスに基づいて、各プロセスは、各プロセスがタイムスライスを実行することを一定の期間を実行します。
  • マルチキュースケジューリングアルゴリズム
  • 多段フィードバックキュースケジューリングアルゴリズム

スケジュール:

  • ノンプリエンプティブスケジューリング・モード
  • プリエンプティブスケジューリング

2.2デッドロック

定義:各プロセスのプロセス・グループにのみ開始することができるグループ・プロセス内の他のプロセスによってイベントを待っている、グループのプロセスがデッドロックしていると述べました。

処理に必要な条件は、生成しました:

  • 相互に排他的な条件:リソース排他的使用、その期間は、リソースは、スマートプロセスによって占有されています。
  • 要求および保管条件:プロセスがすでにリソースを持っていますが、新しい原点要求を提案します。
  • 条件をつかむません:維持しているリソースは、私たちの唯一の使用が終了した後にリリースされ、先取りされていません。
  • 循環待ち条件:プロセス-待機しているリソースの無限連鎖。

処理方法をデッドロック:

  • 予防:破壊することによって、1つ以上の条件を生成します
  • 避けてください:安全でないが、デッドロック状態に入ることがあり、セキュリティは、そのためのシステムは安全ままであることを保証することであるとき、デッドロックを回避するために安全な状態にシステムの状態と危険な状態が発生し、銀行は回避デッドロックに使用されるアルゴリズム
  • 検出:図中で検出リソース割り当てを使用。
  • リフト:手動または対応するアルゴリズム

リファレンスおよび「コンピュータのオペレーティング・システム」(第4版)

おすすめ

転載: www.cnblogs.com/baishouzu/p/12369295.html