0

私の理解では、プロセスは次のとおりです。

「一連のリソース(外部コードライブラリやプライマリスレッドなど)と、実行中のアプリケーションで使用される必要なメモリ割り当てを記述するために使用されるオペレーティングシステムレベルの概念。メモリに読み込まれる* .exeごとに、OSは個別の存続期間中に使用するための分離されたプロセス。」-アンドリュー・トロエルセン(pro c#2010)

そのため、アプリケーションを起動するたびに、他のプロセスと共有できない独自のアドレス空間を使用してプロセスが作成されます。

最近、私はc#を介してclrを読みました。

「実際、CLRは、単一のOSプロセスで複数の管理対象アプリケーションを実行する機能を提供します。各管理対象アプリケーションはAppDomainで実行されます。」

これは、複数のアプリが単一のOSプロセス内で実行できることを示していますが、OSプロセスと、アプリケーションの実行時に開始されるプロセスには違いがありますか?

誰かがこれに光を当てることができますか?

4

1 に答える 1

0

違いは、実行中のプライマリ プロセスがオペレーティング システムによって管理されることです。CLR/フレームワークは、「アプリケーション ドメイン」と呼ばれるまったく異なるスタックを提供します。これにより、プログラムの実行中の個別のインスタンスを同じシステム レベル プロセスで実行できますが、完全に独立したプロセスとして機能します。C#/.NET モデルの設計の専門家ではないので、大規模システムのスケーラビリティー以外に、これが役立つ可能性がある例を説明することはできません。

于 2012-08-08T15:42:55.560 に答える