-3

私は昔から大きな疑問を抱いています。基本的に、LINUXシステムで実行されているN個のプロセスがあり、各スレッドが複数のスレッド(マルチコアCPU上)を持っているかどうかを知りたいと思います。

LINUX OS では、Linux が同じインスタンスで同じインスタンスで同じプロセスの複数のスレッドを実行する可能性があります。Linuxスレッドは共通の仮想空間を共有するため、Linuxはスレッドを同期する必要があるため、OSにとって負担になる可能性があるため、私は疑問を抱いています。

Linuxが同じプロセススレッドを同じインスタンスでスケジュールしない場合、パフォーマンスが向上すると思います。

4

3 に答える 3

3

もちろんできます。そうでない場合は、プログラマーの弱点をカバーする以外に、そもそもアプリケーションをマルチスレッド化する意味がほとんどありません。

于 2012-05-09T06:13:34.633 に答える
2

N 個のコアを備えたシステムがある場合、アプリケーションのワークロードを並列化 (分割) することで、それを利用できます。たとえば、m 個のタスクまたはスレッドにします。これにより、システムは n 個のコア間で m 個のタスクを同時に実行できます。

于 2012-05-09T06:15:48.617 に答える
1

はい、もちろんこれはサポートされており、ご想像のとおり、これは非常に複雑な負担です。(多くの)詳細については、この優れた(そして非常に詳細な)メモリ管理の概要を参照してください:http: //lwn.net/Articles/250967/

于 2012-05-09T06:28:26.150 に答える