まとめプロセス、スレッド、マルチスレッド

まとめプロセス、スレッド、マルチスレッド

 

まず、コンセプトについて話

1 、工程(プロセス

狭い定義:プロセスは、プログラムの実行です。

広義の定義:プロセスが特定のイベントでは、データセットの独立したプログラム機能を実行しています。それは、動的に従来のオペレーティングシステムで実行される基本単位のオペレーティングシステムであり、このプロセスは、両方の基本的な割当部は、実行の基本単位です。

コンセプトは、プロセスの観点では簡単ですが、2点があります最初、プロセスが実体です。各プロセスは、テキスト領域(文字領域)、データ領域(データ領域)とスタック(スタック領域)を含む通常の状況下で独自のアドレス空間を有しています。コードは、プロセッサ記憶されたテキスト領域で実行され、実行プロセス変数の間に使用される、動的に割り当てられたメモリ領域のデータを格納する、領域ストア命令と呼び出し手順活動のローカル変数をスタック。第二に、このプロセスは「プログラムを実行」です。プログラムが死んエンティティ、生命のプログラムに添付唯一のプロセッサである、それは我々がプロセスのために呼び出し、アクティブなエンティティになることができます。

プロセスステータス:プロセスは、次の3つの状態、準備ができて、ランニングやブロックを持っています。実際には、準備完了状態は限りプロセッサリソースの割り当てをすぐに実行することができるように、CPUのうち、すべてのリソースを取得することです。どのような準備状態ライン配列、それらを繰り返さないの原則をラインアップ。実行状態は、プロセッサリソースの割り当てを取得することで、プログラムが開始されました。条件が十分でないときに、プログラムは、条件を実行するために待機する時間は、現時点での状態はブロッキング状態と呼ばれたときのI / O動作を待っているように、満たされたときに、状態をブロックします。

2 、プログラム

プロセスといえば、我々はプログラムの下で言わなければなりません。定義を見てください:このプログラムは、任意の操作の意味を持っていない命令とデータの順序集合であり、静的な概念です。プロセスは、動的な概念であり、プロセッサ上で実行される処理です。これを理解することは難しいことではありません、実際には、プロセスは、プログラムに含まれ、プログラムの実行は、プロセスから不可分である、プロセスは、プログラムでテキストエリアコード領域、です。

3 、スレッド

一般的に、いくつかのスレッドでの処理に含めることができ、もちろん、それ以外の存在のは意味がない、少なくとも1つのスレッドでプロセスがあります。スレッドは、プロセスが所有するリソースを使用することができ、オペレーティング・システムのスレッド、リソース割り当ての基本単位として通常の処理、および基本単位としてスレッドの導入スレッドは、基本的なプロセスよりも小さいため、独立して動作し、別々にスケジュールそれはコストの支払いを予定していますので、システムがはるかに少ないだろう、リソースを持っていない、同時に、より効率的に実行する複数のプログラム間で学位制度を増やすことができます。

4 、マルチスレッド

1つの手順では、これらのフラグメントは、「スレッド」(スレッド)と呼ばれるプログラムを実行している別の、と呼ばれる概念を使用するようにプログラムされている「マルチスレッドを。」マルチスレッドは、複数のタスクを同期させるために、運用効率を向上させることがないが、システムの効率を改善するために、資源利用の効率を改善することです。スレッドは、時間のタスクの数を完了するために同じ時間が必要で実装されています。

最も単純な類推は、列車の各キャリッジのためのマルチスレッドのようなものである、プロセスは列車です。列車が実行されていないキャリッジを残し、共感は、唯一の客車にすることはできません。マルチスレッドは効率が発生し改善することです。

第二に、違いについて話

1 、プロセスおよびスレッドとの間の差:

プロセスおよびスレッドの主な違いは、異なるオペレーティング・システム・リソースの管理であるということです。プロセスは、別個のアドレス空間を有している、プロセスがクラッシュした後に、プロテクトモードで他のプロセスに影響を与えず、スレッドは、異なる実行パスのちょうどプロセスです。スレッドは独自のスタックとローカル変数を持っていますが、スレッド間で別々のアドレス空間が存在しない、死ぬスレッドはプロセス全体に等しいです死んで堅牢なマルチプロセス、マルチスレッドプログラムよりプログラムようがかかり、しかし、スイッチングの過程で大きな資源効率が悪化します。しかし同時に要件の一部のみスレッドに、特定の変数の同時動作を共有する必要がために、プロセスが使用することはできません。

1)要するに、そこに、少なくとも1つのプログラムのプロセスであるプロセスは、少なくとも一つのスレッドを有しています。

目盛分割2)スレッドマルチスレッド・プログラムの並行性の高いように、プロセス未満です。

3)また、このプロセスは大幅プログラムの効率を高める、実装プロセスで別々のメモリユニット、及び共有メモリの複数のスレッドを有しています。

4)実施プロセス内のスレッドおよびプロセスが異なっています。各エントリは、別のスレッドの実行中、オーダー出口で行わ配列および手順を有します。しかし、スレッドは、アプリケーションによって制御される複数の実行スレッドを提供し、用途に応じて存在している必要があり、独立して実行することができません。

5)論理的観点から、マルチスレッドアプリケーションプログラム実行部が同時に複数を実行することができることを意味します。しかし、オペレーティングシステムは、スケジューリングと管理と資源配分のプロセスを達成するために、複数のスレッドを複数の独立したアプリケーションとして表示されません。これは、プロセスとスレッド間の重要な違いです。

長所と短所について第三に、話

;およびプロセスの逆小さなスレッド実行のオーバーヘッドが、資源の管理と保護を助長されていません:スレッドやプロセスは長所と短所、使用中を持っています。これと同時に、スレッドは、SMP(マルチコアプロセッサ)マシン上で実行するのに適しており、プロセスがマシン間で移動することができます。

IVの概要

初日は、他人の概要を参照して、退屈、アイドル募集し、彼は例簡単な要約です。プロセスに関しては、十分な基本的な面接よりも知っている、詳細スレッド、基本構造、スケジューリングやその他の問題は、物事のオペレーティングシステムです。私は手の込んだことはありません。

まず、コンセプトについて話

1 、工程(プロセス

狭い定義:プロセスは、プログラムの実行です。

広義の定義:プロセスが特定のイベントでは、データセットの独立したプログラム機能を実行しています。それは、動的に従来のオペレーティングシステムで実行される基本単位のオペレーティングシステムであり、このプロセスは、両方の基本的な割当部は、実行の基本単位です。

コンセプトは、プロセスの観点では簡単ですが、2点があります最初、プロセスが実体です。各プロセスは、テキスト領域(文字領域)、データ領域(データ領域)とスタック(スタック領域)を含む通常の状況下で独自のアドレス空間を有しています。コードは、プロセッサ記憶されたテキスト領域で実行され、実行プロセス変数の間に使用される、動的に割り当てられたメモリ領域のデータを格納する、領域ストア命令と呼び出し手順活動のローカル変数をスタック。第二に、このプロセスは「プログラムを実行」です。プログラムが死んエンティティ、生命のプログラムに添付唯一のプロセッサである、それは我々がプロセスのために呼び出し、アクティブなエンティティになることができます。

プロセスステータス:プロセスは、次の3つの状態、準備ができて、ランニングやブロックを持っています。実際には、準備完了状態は限りプロセッサリソースの割り当てをすぐに実行することができるように、CPUのうち、すべてのリソースを取得することです。どのような準備状態ライン配列、それらを繰り返さないの原則をラインアップ。実行状態は、プロセッサリソースの割り当てを取得することで、プログラムが開始されました。条件が十分でないときに、プログラムは、条件を実行するために待機する時間は、現時点での状態はブロッキング状態と呼ばれたときのI / O動作を待っているように、満たされたときに、状態をブロックします。

2 、プログラム

プロセスといえば、我々はプログラムの下で言わなければなりません。定義を見てください:このプログラムは、任意の操作の意味を持っていない命令とデータの順序集合であり、静的な概念です。プロセスは、動的な概念であり、プロセッサ上で実行される処理です。これを理解することは難しいことではありません、実際には、プロセスは、プログラムに含まれ、プログラムの実行は、プロセスから不可分である、プロセスは、プログラムでテキストエリアコード領域、です。

3 、スレッド

一般的に、いくつかのスレッドでの処理に含めることができ、もちろん、それ以外の存在のは意味がない、少なくとも1つのスレッドでプロセスがあります。スレッドは、プロセスが所有するリソースを使用することができ、オペレーティング・システムのスレッド、リソース割り当ての基本単位として通常の処理、および基本単位としてスレッドの導入スレッドは、基本的なプロセスよりも小さいため、独立して動作し、別々にスケジュールそれはコストの支払いを予定していますので、システムがはるかに少ないだろう、リソースを持っていない、同時に、より効率的に実行する複数のプログラム間で学位制度を増やすことができます。

4 、マルチスレッド

1つの手順では、これらのフラグメントは、「スレッド」(スレッド)と呼ばれるプログラムを実行している別の、と呼ばれる概念を使用するようにプログラムされている「マルチスレッドを。」マルチスレッドは、複数のタスクを同期させるために、運用効率を向上させることがないが、システムの効率を改善するために、資源利用の効率を改善することです。スレッドは、時間のタスクの数を完了するために同じ時間が必要で実装されています。

最も単純な類推は、列車の各キャリッジのためのマルチスレッドのようなものである、プロセスは列車です。列車が実行されていないキャリッジを残し、共感は、唯一の客車にすることはできません。マルチスレッドは効率が発生し改善することです。

第二に、違いについて話

1 、プロセスおよびスレッドとの間の差:

プロセスおよびスレッドの主な違いは、異なるオペレーティング・システム・リソースの管理であるということです。プロセスは、別個のアドレス空間を有している、プロセスがクラッシュした後に、プロテクトモードで他のプロセスに影響を与えず、スレッドは、異なる実行パスのちょうどプロセスです。スレッドは独自のスタックとローカル変数を持っていますが、スレッド間で別々のアドレス空間が存在しない、死ぬスレッドはプロセス全体に等しいです死んで堅牢なマルチプロセス、マルチスレッドプログラムよりプログラムようがかかり、しかし、スイッチングの過程で大きな資源効率が悪化します。しかし同時に要件の一部のみスレッドに、特定の変数の同時動作を共有する必要がために、プロセスが使用することはできません。

1)要するに、そこに、少なくとも1つのプログラムのプロセスであるプロセスは、少なくとも一つのスレッドを有しています。

目盛分割2)スレッドマルチスレッド・プログラムの並行性の高いように、プロセス未満です。

3)また、このプロセスは大幅プログラムの効率を高める、実装プロセスで別々のメモリユニット、及び共有メモリの複数のスレッドを有しています。

4)実施プロセス内のスレッドおよびプロセスが異なっています。各エントリは、別のスレッドの実行中、オーダー出口で行わ配列および手順を有します。しかし、スレッドは、アプリケーションによって制御される複数の実行スレッドを提供し、用途に応じて存在している必要があり、独立して実行することができません。

5)論理的観点から、マルチスレッドアプリケーションプログラム実行部が同時に複数を実行することができることを意味します。しかし、オペレーティングシステムは、スケジューリングと管理と資源配分のプロセスを達成するために、複数のスレッドを複数の独立したアプリケーションとして表示されません。これは、プロセスとスレッド間の重要な違いです。

長所と短所について第三に、話

;およびプロセスの逆小さなスレッド実行のオーバーヘッドが、資源の管理と保護を助長されていません:スレッドやプロセスは長所と短所、使用中を持っています。これと同時に、スレッドは、SMP(マルチコアプロセッサ)マシン上で実行するのに適しており、プロセスがマシン間で移動することができます。

IVの概要

初日は、他人の概要を参照して、退屈、アイドル募集し、彼は例簡単な要約です。プロセスに関しては、十分な基本的な面接よりも知っている、詳細スレッド、基本構造、スケジューリングやその他の問題は、物事のオペレーティングシステムです。私は手の込んだことはありません。

おすすめ

転載: www.cnblogs.com/WinkJie/p/11333776.html