問題分けて考えなさい
マルチタスク、マルチスレッドのOSの場合、kernelがスレッドを適切に
コアに割りふる限り、「ユーザは」マルチコアの恩恵を受けられるよ

ただ、「あんたのプログラム」をコア数に応じてスケールさせたければ、
「あんたのプログラム」がシングルスレッドじゃダメなの
「あんたのプログラム」のためにコア一個しか使われないからね

わかったかな