差分

移動先: 案内検索

マルチプロセッサとプロセス

290 バイト追加, 2018年9月19日 (水) 18:38
/* マルチプロセッサとプロセス */
さらにそのSMPを構成しているハードウェア上で対称型マルチプロセッシング対称マルチプロセッサ(SMP) を構成しているハードウェア上でソフトウェアが対称型マルチプロセッシング(SMP: Symmetric multiprocessing)を実現しているのもSMPです。を実現しています。ハードウェアがSymmetric 理屈的にはハードウェアがSymmetric Multi-Processorでもソフトウェアでは(Symmetric ProcessorでもソフトウェアではSymmetric multiprocessingではないOSの実装もありえます<ref>ありえますが、筆者はそのような実装はみたことはありません。</ref>が、少なくともLinuxのカーネルと、その処理についての文脈でSMPと呼んでいる時、ハードウェアがSMPなものにソフトウェアもSMPを実装しているので結果としておなじ意味になります。
ある一定のデータを処理するプログラムをまず仮定します。プロセス単位で割り当てるならプログラム側はSMPを何にも意識しなくても構いません。たくさんのプロセスがスケジュールされている場合でもCPU が多い分、自分の番が回ってくる回数が増えるため負荷に強いという意味で、処理能力が向上します。CPUが1個の時に同時に2つのプロセスを動かす時の処理時間とCPUが2個の時に同時に2つのプロセスを動かす時の処理時間を比較すると、後者の方が速くなります。しかし1つのプロセスに着目してみればCPUが1個で1つのプロセスしか動いていない時の処理時間よりは速くなることがありません。
 
=== マルチプロセッサとスレッド ===