title: linux - run process on several cores
body: <p>I have a misunderstanding about how cores, process and threads works:</p>
  
  <ul>
  <li>Process has number of threads.</li>
  <li>All those threads share same memory section </li>
  <li>Core has it's own cache and memory address space.</li>
  </ul>
  
  <p>So, when I'm running a process (which contains several threads) on Linux OS, and check the "top -H" command, I can see that the threads are distributed on multiple cores.</p>
  
  <p>So How can it works ? (Threads of same process, which share same process address space, run on different cores ?) ?</p>
  
  <p>What I miss here ?</p>
  
  <p>Thanks</p>