MP が複数のプロセッサ内の複数のプロセスを管理することは知っていますが、それと SMP の間に違いはありますか? SMPでは同じプロセスから同時に複数のスレッドを実行でき、MPでは1つのプロセスしか1つのプロセッサを占有できないということですか?
違いは次のとおりだと思います:
SMP
P1 には、P1T1、P1T2、および P1T3 の 3 つのスレッドがあります。P2 には、P2T1 および P2T2 の 2 つのスレッドがあります。
3 つのプロセッサーを搭載したコンピューターでは、P1T1 をプロセッサー 1 に、P1T2 をプロセッサー 2 に、P1T3 をプロセッサー 3 に (すべて使用可能な場合) 同時に割り当てるか、P2T1 をプロセッサー 1 に、P2T2 をプロセッサー 2 に、P1T1 をプロセッサー 3 に割り当てることができます。
MP
P1 には、P1T1、P1T2、および P1T3 の 3 つのスレッドがあります。P2 には、P2T1 および P2T2 の 2 つのスレッドがあります。
3 つのプロセッサを搭載したコンピュータでは、P1T1 をプロセッサ 1 に割り当てることができ、 - P1 には 3 つのスレッド (P1T1、P1T2、および P1T3) があります P2 には 2 つのスレッド (P2T1 および P2T2) があります。
3 つのプロセッサを搭載したコンピュータでは、P1T1 をプロセッサ 1 に割り当てることができますが、P1T2 と P1T3 は、実行のために P1T1 が完了するまで待機する必要があります。一方、P2T1 はプロセッサ 2 に移動でき、P2T2 は P2T1 まで待機する必要があります。実行する前に実行が完了します。
これは理にかなっていますか?もしそうなら、私は正しい軌道に乗っていますか?Thx、今日OSの試験を受けて勉強中です。皆さんが提供できる助けをありがとう。
また、スレッドはどのようにスケジュールされますか? 非常に幅広い質問であることは承知していますが、具体的な方法はありますか?それとも、システムが実装したスケジューリングに基づいていますか? ラウンド ロビン スケジューリング、優先度の高い、タイム スライス、タイム シェアリング、最短時間などがあることは知っています。この質問が意味をなさない場合でも、心配はいりません。