私は、ABRAHAM SILBERSCHATZ、PETER BAER GALVIN、およびGREG GAGNEの著書「Operating Systems Concepts」の多くのテキストを、自分の理解とともに使用します。
処理する
すべてのアプリケーションは、テキスト(またはコード)の形式でコンピューターに常駐します。
プログラム自体はプロセスではないことを強調します。プログラムは、ディスクに格納された命令のリストを含むファイル(実行可能ファイルと呼ばれることが多い)などの受動的エンティティです。
アプリケーションを起動すると、実行のインスタンスが作成されます。この実行のインスタンスはプロセスと呼ばれます。編集:(私の解釈によれば、クラスとクラスのインスタンスに類似しており、クラスのインスタンスはプロセスです。)
プロセスの例は、Google Chromeのプロセスです。Google Chromeを起動すると、3つのプロセスが生成されます。
• ブラウザプロセスは、ユーザーインターフェイス、ディスクおよびネットワークI / Oの管理を担当します。Chromeを起動すると、新しいブラウザプロセスが作成されます。ブラウザプロセスは1つだけ作成されます。
• レンダラープロセスには、Webページをレンダリングするためのロジックが含まれています。したがって、HTML、Javascript、画像などを処理するためのロジックが含まれています。原則として、新しいタブで開いたWebサイトごとに新しいレンダラープロセスが作成されるため、複数のレンダラープロセスが同時にアクティブになる場合があります。
•使用中のプラグインのタイプ(FlashやQuickTimeなど)ごとにプラグインプロセスが作成されます。プラグインプロセスには、プラグインのコードに加えて、プラグインが関連するレンダラープロセスおよびブラウザープロセスと通信できるようにする追加コードが含まれています。
糸
これに答えるには、まずプロセッサが何であるかを知っておくべきだと思います。プロセッサは、実際に計算を実行するハードウェアです。編集:(2つの数値の加算、配列の並べ替え、基本的に記述されたコードの実行などの計算)
次に、スレッドの定義に移ります。
スレッドはCPU使用率の基本単位です。スレッドID、プログラムカウンター、レジスタセット、スタックで構成されます。
編集:インテルのWebサイトからのスレッドの定義:
スレッド(実行スレッド)は、単一のCPUコアを通過または処理できる、命令の基本的な順序付けされたシーケンスを表すソフトウェア用語です。
したがって、Chromeアプリケーションのレンダラープロセスが数値の配列を並べ替えると、並べ替えは実行のスレッドまたはスレッドで行われます。(スレッドに関する文法は私を混乱させるようです)
私の解釈
プロセスは実行インスタンスです。スレッドは、CPUアクセスを介して計算を実行する実際のワーカーです。プロセスに対して複数のスレッドが実行されている場合、プロセスは共通メモリを提供します。
編集:
私はより多くのコンテキストを与えるのに役立つと私が見つけた他の情報
すべての現代のコンピューターには複数のスレッドがあります。コンピューターのスレッドの数は、コンピューターのコアの数によって異なります。
並行コンピューティング:
ウィキペディアから:
並行コンピューティングは、順次(次の開始前に完了する)の代わりに、重複する期間中に(並行して)いくつかの計算が実行されるコンピューティングの形式です。これはシステムのプロパティであり(これは、個々のプログラム、コンピューター、またはネットワークの場合があります)、計算(「プロセス」)ごとに個別の実行ポイントまたは「制御スレッド」があります。
したがって、4つの数値の合計を計算するプログラムを作成できます。
(1 + 3) + (4 + 5)
この合計を計算するプログラム(実行のスレッドで実行される1つのプロセス)で、別のスレッドで実行できる別のプロセスをフォークして(4 + 5)計算し、結果を元のプロセスに返すことができます。元のプロセスは(1 + 3)の合計を計算します。